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

Android ThingsとGoogle Servicesの関係

Avatar for Naoki Seto Naoki Seto
November 30, 2018

Android ThingsとGoogle Servicesの関係

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

Avatar for Naoki Seto

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ʹΑΔϋʔυ΢ΣΞΞΫηϥ Ϩʔγϣϯ΋αϙʔτ͍ͯ͠·͢ɻ