Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android ThingsとGoogle Servicesの関係

Naoki Seto
November 30, 2018

Android ThingsとGoogle Servicesの関係

Android Thingsと親和性の高いGoogle Servicesについて、簡単に説明しています。

Naoki Seto

November 30, 2018
Tweet

Other Decks in Technology

Transcript

  1. ANDROID THINGS DEV-JP #1 THINGSͰαϙʔτ͞Ε͍ͯΔαʔϏε ✓ Awareness ✓ Cast ✓

    Google Analytics for Firebase ✓ Firebase Authentication ✓ Firebase Cloud Messaging (FCM) ✓ Firebase Crashlytics ✓ Firebase Realtime Database ✓ Firebase Remote Config ✓ Firebase Storage ✓ Cloud Firestore ✓ Fit ✓ Instance ID ✓ Location ✓ Maps ✓ Nearby Connections ✓ Nearby Messages ✓ Places ✓ Mobile Vision ✓ SafetyNet
  2. ANDROID THINGS DEV-JP #1 THINGSͰαϙʔτ͞Ε͍ͯͳ͍αʔϏε ❌ Google AdMob ❌ Google

    Pay ❌ Drive ❌ Firebase App Indexing ❌ Firebase Dynamic Links ❌ Firebase Invites ❌ Firebase Notifications ❌ Play Games ❌ Sign-In
  3. ANDROID THINGS DEV-JP #1 AWARENESS ▸ ԼهͷγάφϧΛར༻ͯ͠ɺϢʔβʔͷঢ়گʹଈͨ͠ମݧΛఏڙͰ͖·͢ɻ • Ґஔ৘ใ •

    ఱؾ৘ใ • ࣌ࠁ • ϢʔβʔΞΫςΟϏςΟʢૢ࡞ཤྺʣ ▸ Google Play αʔϏεܦ༝Ͱར༻Ͱ͖ɺ࣍ͷ2ͭͷํ๏ʹΑͬͯΞϓϦ಺Ͱγ άφϧΛ׆༻Ͱ͖·͢ɻ • Snapshot API : ݱࡏͷঢ়گʹؔ͢Δ৘ใͷऔಘ • Fence APIɿϢʔβʔͷঢ়گ͕มԽͨ͠ͱ͖΍͋Δ৚݅ʹ֘౰ͨ͠ࡍͷ൓Ԡ
  4. ANDROID THINGS DEV-JP #1 AWARENESS - SNAPSHOT API ▸ ΞϓϦ͔ΒϢʔβʔͷݱࡏͷঢ়گʹؔ͢Δ৘ใΛϦΫΤετ

    Ͱ͖·͢ɻ • าߦ΍ӡసͳͲɺݕग़͞ΕͨϢʔβʔͷ׆ಈ • ొ࿥͞Ε͍ͯΔۙ͘ͷϏʔίϯ • ϔουϗϯͷঢ়ଶʢࠩ͠ࠐ·Ε͍ͯΔ͔Ͳ͏͔ʣ • ҐஔʢҢ౓ͱܦ౓ΛؚΉɺϢʔβʔ͕ݱࡏ͍Δ৔ॴʣ • Ϣʔβʔͷݱࡏ஍ͷؾ৅৚݅
  5. ANDROID THINGS DEV-JP #1 AWARENESS - FENCE API (1/2) ▸

    Ϣʔβʔͷঢ়گ͕มԽͨ͠ͱ͖΍ɺ͋Δ৚݅ʹ֘౰ͨ͠ࡍʹ ΞϓϦΛ൓Ԡͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ ▸ ൓Ԡ৚݅ͱͯ͠ఆٛՄೳͳ΋ͷ • Ϣʔβʔͷݱࡏ஍ʢҢ౓/ܦ౓ʣ • ϢʔβʔͷݱࡏͷΞΫςΟϏςΟʢาߦɺӡసͳͲʣ • ϔουϑΥϯ͕઀ଓ͞Ε͍ͯΔ͔Ͳ͏͔ͳͲɺσόΠε ݻ༗ͷ৚݅ • ۙ͘ͷϏʔίϯ΁ͷۙ઀ੑ
  6. ANDROID THINGS DEV-JP #1 AWARENESS - FENCE API (2/2) ▸

    ৚݅Λ૊Έ͋ΘͤΔͱҎԼͷΑ͏ͳ൑ఆ͕Մೳ • ϔουϑΥϯΛࠩ͠ࠐΜͰาߦΛ։࢝ • ฏ೔ͷ5࣌લʹ100ϝʔτϧͷಛఆΤϦΞʹೖΔ • ಛఆͷBLEϏʔίϯͷൣғʹೖΔ
  7. ANDROID THINGS DEV-JP #1 GOOGLE CAST ▸ Google Cast͸ɺΞϓϦʹετϦʔϛϯάϏσΦɺΦʔσΟΦɺςϨϏ ΍α΢ϯυγεςϜͷػೳΛ࣋ͨͤΔ͜ͱ͕Ͱ͖·͢ɻ

    ▸ CastΛར༻͢Δ͜ͱͰɺԼهͷΑ͏ͳϝσΟΞͷϦϞʔτίϯτϩʔϥ ΞϓϦΛ࡞Δ͜ͱ͕Ͱ͖Δɻ • ࠶ੜ • Ұ࣌ఀࢭ • ݕࡧ • ר͖໭͠ • ఀࢭ • ͦͷଞͷ੍ޚ
  8. ANDROID THINGS DEV-JP #1 GOOGLE ANALYTICS FOR FIREBASE ▸ ΞϓϦͷ࢖༻ঢ়گͱϢʔβʔ

    Τϯήʔδϝϯτʹ͍ͭͯ෼ ੳ͢Δ͜ͱ͕Ͱ͖Δػೳ ▸ ΞφϦςΟΫεͷϨϙʔτΛݟΔ͜ͱͰϢʔβʔͷߦಈΛ໌ ֬ʹ೺Ѳ͢Δ͜ͱ͕Ͱ͖ΔͨΊɺΞϓϦͷϚʔέςΟϯά΍ ύϑΥʔϚϯεվળʹؔ͢ΔҙࢥܾఆΛ͔֬ͳσʔλʹجͮ ͍ͯߦ͏͜ͱ͕Ͱ͖·͢ɻ
  9. ANDROID THINGS DEV-JP #1 FIREBASE CLOUD MESSAGING (FCM) ▸ ϝοηʔδΛແྉͰ࣮֬ʹ഑৴͢ΔͨΊͷϓϥοτϑΥʔϜ

    ▸ ಉظՄೳͳ৽͍͠σʔλ͕͋Δ͜ͱΛΫϥΠΞϯτΞϓϦʹ ௨஌͢Δ͜ͱ͕Ͱ͖·͢ɻ ▸ ͍ΘΏΔPUSH௨஌αʔϏε
  10. ANDROID THINGS DEV-JP #1 FIREBASE CLASHLYTICS ▸ ΫϥογϡϨϙʔτΛ࢖༻ͯ͠ɺΞϓϦͷ໰୊Λ໌͔֬ͭʹ ೺ѲͰ͖·͢ɻ ▸

    ΞϓϦͷ඼࣭Λ௿Լͤ͞Δ҆ఆੑͷ໰୊Λ௥੻͠ɺमਖ਼͢Δ ͷʹ໾ཱͪ·͢ɻ ▸ ಛఆͷΫϥογϡ͕ଟ͘ͷϢʔβʔʹӨڹΛ༩͑Δ͔Ͳ͏͔ Λௐ΂ͨΓɺ໰୊ͷॏେ౓͕ٸܹʹ૿ͨ͠৔߹ʹΞϥʔτ Λड͚औͬͨΓͰ͖Δ΄͔ɺίʔυ಺ͰΫϥογϡͷݪҼ ͱͳ͍ͬͯΔߦΛಛఆ͢Δ͜ͱ΋Ͱ͖·͢ɻ
  11. ANDROID THINGS DEV-JP #1 FIREBASE REALTIME DATABASE ▸ Ϋϥ΢υͰϗεςΟϯά͞ΕΔNoSQLσʔλϕʔεͰɺ σʔλͷอ؅ͱಉظΛߦ͏͜ͱ͕Ͱ͖·͢ɻ

    ▸ σʔλ͸ JSON ͱͯ͠อଘ͞Εɺ઀ଓ͞Ε͍ͯΔ͢΂ͯͷΫ ϥΠΞϯτͱϦΞϧλΠϜͰಉظ͞Ε·͢ɻ ▸ iOSɺAndroidɺJavaScriptͳͲɺΫϩεϓϥοτϑΥʔϜ ʹରԠ
  12. ANDROID THINGS DEV-JP #1 FIREBASE REMOTE CONFIG ▸ ΞϓϦΛΞοϓσʔτ͠ͳͯ͘΋ɺΞϓϦͷಈ࡞΍֎؍ΛมߋͰ͖ ·͢ɻ

    ▸ ΞϓϦͷಈ࡞΍֎؍Λ੍ޚ͢ΔΞϓϦ಺σϑΥϧτ஋Λ࡞੒͢Δ͜ ͱ͕Ͱ͖·͢ɻ ▸ Firebase ίϯιʔϧ·ͨ͸Remote Config REST API Λ࢖༻ͯ͠ɺΞ ϓϦ಺σϑΥϧτ஋Λ্ॻ͖͢Δ͜ͱ͕Ͱ͖·͢ɻ ▸ ΞοϓσʔτΛద༻͢ΔλΠϛϯά͸ΞϓϦଆͰ੍ޚͰ͖·͢ɻ ▸ ΞϓϦ͸ύϑΥʔϚϯεʹ΄ͱΜͲӨڹΛ͓Α΅͢͜ͱͳ͘ɺΞο ϓσʔτΛద༻͢Δ͜ͱ͕Ͱ͖·͢ɻ
  13. ANDROID THINGS DEV-JP #1 FIREBASE STORAGE ▸ Ϣʔβʔ͕ੜ੒ͨࣸ͠ਅ΍ಈըͳͲͷίϯςϯπΛอ؅ɺఏڙ͢ΔػೳΛΞϓϦ ʹ௥Ճ͢Δ͜ͱ͕Ͱ͖ΔαʔϏεɻ ▸

    Googleن໛Ͱߏங͞Εͨɺڧྗ͔ͭγϯϓϧͰɺίετޮՌͷߴ͍ΦϒδΣΫτ ετϨʔδ αʔϏεͰ͢ɻ ▸ ϑΝΠϧͷΞοϓϩʔυͱμ΢ϯϩʔυʹ GoogleͷηΩϡϦςΟ͕ద༻͞Ε· ͢ɻ ▸ SDK ͸ɺը૾ɺԻ੠ɺಈըɺ·ͨ͸ͦͷଞͷϢʔβʔ͕ੜ੒ͨ͠ίϯςϯπΛ֨ ೲ͢Δ৔߹ʹ࢖༻Ͱ͖·͢ɻ ▸ αʔόʔͰ͸Google Cloud Storage Λ࢖༻ͯ͠ಉ͡ϑΝΠϧʹΞΫηεͰ͖· ͢ɻ
  14. ANDROID THINGS DEV-JP #1 CLOUD FIRESTORE ▸ ॊೈͰεέʔϥϒϧͳ NoSQL Ϋϥ΢υ

    σʔλϕʔεΛ࢖༻ ͯ͠ɺΫϥΠΞϯτଆ։ൃͱαʔόʔଆ։ൃͷσʔλΛอଘɾ ಉظ͠·͢ɻ ▸ Firebase Realtime Database ͱಉ༷ʹɺϦΞϧλΠϜ Ϧε φʔΛհͯ͠ΫϥΠΞϯτ ΞϓϦؒͰσʔλΛಉظ͠ɺϞ όΠϧͱ΢ΣϒͷΦϑϥΠϯ αϙʔτΛఏڙ͠·͢ɻ ▸ ͜ΕʹΑΓɺωοτϫʔΫͷ஗Ԇ΍Πϯλʔωοτ઀ଓʹ ؔ܎ͳ͘ػೳ͢ΔϨεϙϯγϒΞϓϦΛߏஙͰ͖·͢ɻ
  15. ANDROID THINGS DEV-JP #1 FIT ▸ ϑΟοτωεϦϙδτϦʹϑΟοτωεσʔλΛΞοϓϩʔ υ͠ɺϢʔβʔ͸1ͭͷ৔ॴͰ͞·͟·ͳσόΠε΍ΞϓϦ ͔ΒσʔλʹΞΫηεͰ͖·͢ɻ •

    ΞϓϦ͸΢ΣΞϥϒϧ·ͨ͸ηϯαͷσʔλΛอଘͰ͖ ·͢ɻ • ΞϓϦ͸ͲͷΞϓϦͰ࡞੒ͨ͠σʔλʹ΋ΞΫηεͰ͖· ͢ɻ • ϢʔβʔͷϑΟοτωεσʔλ͸ɺϑΟοτωεσόΠε ΛΞοϓάϨʔυ͢Δͱอ࣋͞Ε·͢ɻ
  16. ANDROID THINGS DEV-JP #1 INSTANCE ID ▸ ΠϯελϯεID͸ɺΞϓϦͷΠϯελϯε͝ͱʹݻ༗ͷIDΛ ఏڙ͠·͢ɻ ▸

    ೝূʹҰҙͷIDΛఏڙ͢Δ͚ͩͰͳ͘ɺଞͷαʔϏεͰ࢖ ༻͢ΔͨΊͷηΩϡϦςΟτʔΫϯΛੜ੒͢Δ͜ͱ΋Ͱ͖· ͢ɻ ▸ ΠϯελϯεIDτʔΫϯΛαʔόʔʹ౉͠ɺΠϯελϯεID αʔϏεΛ࢖༻ͯ͠ΞϓϦέʔγϣϯύοέʔδ໊Λ֬ೝ͠ɺ ༗ޮͳॺ໊͕͋Δ͔Ͳ͏͔Λ֬ೝ͠·͢ɻ
  17. ANDROID THINGS DEV-JP #1 LOCATION / MAPS / PLACES ▸

    ϞόΠϧσόΠεͷηϯαʔͱ৴߸Λར༻ͯ͠ɺϢʔβʔͷ ߦಈͱͦͷ؀ڥΛೝࣝ͢Δ͜ͱ͕Ͱ͖·͢ɻ ▸ 12छྨҎ্ͷ৴߸Λ݁߹ͯ͠ɺਫ਼౓Λ࠷େݶʹߴΊΔ͜ͱ ͕Ͱ͖·͢ɻ ▸ Google Mapʢ஍ਤ৘ใʣαʔϏεʹΑΓɺ஍ਤͷදࣔɾ ϧʔτͷੜ੒ɾࢪઃ৘ใͷදࣔͳͲ͕ՄೳͰ͢ɻ
  18. ANDROID THINGS DEV-JP #1 NEARBY CONNECTIONS ▸ P2PʢϐΞπʔϐΞʣωοτϫʔΫAPIͰɺۙ͘ͷσόΠεΛ؆୯ʹݕग़ɾ઀ଓɾަ׵͢Δ͜ͱ͕Ͱ ͖·͢ɻ •

    ڞಉฤूՄೳͳϗϫΠτϘʔυɿ
 ڞ༗͞ΕͨԾ૝ϗϫΠτϘʔυ্ͷۙ͘ͷࢀՃऀͱҰॹʹΞΠσΟΞΛग़͋͑͠·͢ɻ • ϩʔΧϧϚϧνϓϨΠϠʔήʔϜɿ
 ϚϧνϓϨΠϠʔήʔϜΛઃఆ͠ɺۙ͘ʹ͍ΔଞͷϢʔβʔΛট଴ͯ͠ࢀՃ͠·͢ɻ • ϚϧνεΫϦʔϯήʔϜɿ
 ܞଳి࿩΍λϒϨοτΛήʔϜίϯτϩʔϥͱͯ͠࢖༻ͯ͠ɺAndroid TVͳͲۙ͘ͷେը໘ Android౥ࡌ୺຤ʹදࣔ͞ΕΔήʔϜΛϓϨΠͰ͖·͢ɻ • ΦϑϥΠϯϑΝΠϧసૹɿ
 ωοτϫʔΫ઀ଓΛඞཁͱͤͣʹɺࣸਅɺϏσΦɺ·ͨ͸ͦͷଞͷछྨͷσʔλΛ͢͹΍͘ڞ༗ Ͱ͖·͢ɻ
  19. ANDROID THINGS DEV-JP #1 NEARBY MESSAGES ▸ Πϯλʔωοτʹ઀ଓ͞ΕͨAndroidͱiOSσόΠεؒͰɺখ͞ͳ όΠφϦϖΠϩʔυΛ౉͢͜ͱ͕Ͱ͖·͢ɻ ▸

    σόΠε͸ಉ͡ωοτϫʔΫ্ʹ͋Δඞཁ͸͋Γ·ͤΜ͕ɺΠϯ λʔωοτʹ઀ଓ͢Δඞཁ͕͋Γ·͢ɻ ▸ Nearby͸ɺBluetoothɺBluetooth Low EnergyɺWi-Fiɺ͓Αͼɺ ௒Ի೾ʹ͍ۙΦʔσΟΦͷ૊Έ߹ΘͤΛ࢖༻ͯ͠௨৴͠·͢ɻ ▸ ۙ͘ͷϝοηʔδ͸ೝূ͞Ε͓ͯΒͣɺGoogleΞΧ΢ϯτ͸ඞཁ ͋Γ·ͤΜɻ
  20. ANDROID THINGS DEV-JP #1 CLOUD IOT CORE ▸ Cloud IoT

    Core ͸ɺ޿ൣғʹ෼ࢄͨ͠ଟ਺ͷ୺຤ͷ઀ଓɺ ୺຤؅ཧɺσʔλͷऔΓࠐΈΛηΩϡϦςΟΛҡ࣋͠ͳ͕Β ؆୯ʹߦ͏͜ͱ͕Ͱ͖ΔϑϧϚωʔδυαʔϏεͰ͢ɻ ▸ Cloud IoT Core ΛCloud IoTϓϥοτϑΥʔϜ্ͷͦͷଞͷ αʔϏεͱ૊Έ߹ΘͤΔͱɺIoT σʔλͷऩूɾॲཧɾ෼ ੳɾՄࢹԽΛϦΞϧλΠϜͰߦ͏ͨΊʹඞཁͳ΋ͷ͕͢΂ͯ ἧ͍ɺۀ຿ͷޮ཰Խʹ໾ཱͪ·͢ɻ
  21. ANDROID THINGS DEV-JP #1 TENSOR FLOW LITE ▸ TensorFlow Lite͸ɺϞόΠϧɺ͓Αͼɺ૊ΈࠐΈػث޲͚

    ͷTensorFlowͷܰྔ൛Ͱ͢ɻ ▸ ௿ϨΠςϯγͱখ͞ͳόΠφϦαΠζͰΦϯσόΠεͷػց ֶशਪ࿦ΛՄೳʹ͠·͢ɻ ▸ Android Neural Networks APIʹΑΔϋʔυ΢ΣΞΞΫηϥ Ϩʔγϣϯ΋αϙʔτ͍ͯ͠·͢ɻ