Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android ThingsとGoogle Servicesの関係
Search
Naoki Seto
November 30, 2018
Technology
0
160
Android ThingsとGoogle Servicesの関係
Android Thingsと親和性の高いGoogle Servicesについて、簡単に説明しています。
Naoki Seto
November 30, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
4.6k
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
440
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
250
ServiceNow Knowledge Learning Rise up
manarobot
0
190
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
160
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
820
Oracle Cloud Infrastructure:2024年4月度サービス・アップデート
oracle4engineer
PRO
1
180
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
0
330
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
Databricks における 『MLOps』
databricksjapan
2
160
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
190
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Happy Clients
brianwarren
91
6.4k
In The Pink: A Labor of Love
frogandcode
138
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
154
14k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
For a Future-Friendly Web
brad_frost
171
8.9k
Why Our Code Smells
bkeepers
PRO
331
56k
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Documentation Writing (for coders)
carmenintech
59
3.9k
The Pragmatic Product Professional
lauravandoore
24
5.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
20
1.6k
Transcript
ANDROID THINGSͱGOOGLE SERVICES ͷؔ ANDROID THINGS DEV-JP #1
ANDROID THINGS DEV-JP #1 ANDROID THINGSͰ͑ΔGOOGLE͕ఏڙ͢ΔαʔϏε ▸ ֤छGoogle Services API
▸ Cloud IoT Core ▸ TensorFlow Lite
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
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
ANDROID THINGS DEV-JP #1 AWARENESS ▸ ԼهͷγάφϧΛར༻ͯ͠ɺϢʔβʔͷঢ়گʹଈͨ͠ମݧΛఏڙͰ͖·͢ɻ • Ґஔใ •
ఱؾใ • ࣌ࠁ • ϢʔβʔΞΫςΟϏςΟʢૢ࡞ཤྺʣ ▸ Google Play αʔϏεܦ༝Ͱར༻Ͱ͖ɺ࣍ͷ2ͭͷํ๏ʹΑͬͯΞϓϦͰγ άφϧΛ׆༻Ͱ͖·͢ɻ • Snapshot API : ݱࡏͷঢ়گʹؔ͢Δใͷऔಘ • Fence APIɿϢʔβʔͷঢ়گ͕มԽͨ͠ͱ͖͋Δ݅ʹ֘ͨ͠ࡍͷԠ
ANDROID THINGS DEV-JP #1 AWARENESS - SNAPSHOT API ▸ ΞϓϦ͔ΒϢʔβʔͷݱࡏͷঢ়گʹؔ͢ΔใΛϦΫΤετ
Ͱ͖·͢ɻ • าߦӡసͳͲɺݕग़͞ΕͨϢʔβʔͷ׆ಈ • ొ͞Ε͍ͯΔۙ͘ͷϏʔίϯ • ϔουϗϯͷঢ়ଶʢࠩ͠ࠐ·Ε͍ͯΔ͔Ͳ͏͔ʣ • ҐஔʢҢͱܦΛؚΉɺϢʔβʔ͕ݱࡏ͍Δॴʣ • Ϣʔβʔͷݱࡏͷؾ݅
ANDROID THINGS DEV-JP #1 AWARENESS - FENCE API (1/2) ▸
Ϣʔβʔͷঢ়گ͕มԽͨ͠ͱ͖ɺ͋Δ݅ʹ֘ͨ͠ࡍʹ ΞϓϦΛԠͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ ▸ Ԡ݅ͱͯ͠ఆٛՄೳͳͷ • ϢʔβʔͷݱࡏʢҢ/ܦʣ • ϢʔβʔͷݱࡏͷΞΫςΟϏςΟʢาߦɺӡసͳͲʣ • ϔουϑΥϯ͕ଓ͞Ε͍ͯΔ͔Ͳ͏͔ͳͲɺσόΠε ݻ༗ͷ݅ • ۙ͘ͷϏʔίϯͷۙੑ
ANDROID THINGS DEV-JP #1 AWARENESS - FENCE API (2/2) ▸
݅ΛΈ͋ΘͤΔͱҎԼͷΑ͏ͳఆ͕Մೳ • ϔουϑΥϯΛࠩ͠ࠐΜͰาߦΛ։࢝ • ฏͷ5࣌લʹ100ϝʔτϧͷಛఆΤϦΞʹೖΔ • ಛఆͷBLEϏʔίϯͷൣғʹೖΔ
ANDROID THINGS DEV-JP #1 GOOGLE CAST ▸ Google CastɺΞϓϦʹετϦʔϛϯάϏσΦɺΦʔσΟΦɺςϨϏ αϯυγεςϜͷػೳΛ࣋ͨͤΔ͜ͱ͕Ͱ͖·͢ɻ
▸ CastΛར༻͢Δ͜ͱͰɺԼهͷΑ͏ͳϝσΟΞͷϦϞʔτίϯτϩʔϥ ΞϓϦΛ࡞Δ͜ͱ͕Ͱ͖Δɻ • ࠶ੜ • Ұ࣌ఀࢭ • ݕࡧ • ר͖͠ • ఀࢭ • ͦͷଞͷ੍ޚ
ANDROID THINGS DEV-JP #1 GOOGLE ANALYTICS FOR FIREBASE ▸ ΞϓϦͷ༻ঢ়گͱϢʔβʔ
Τϯήʔδϝϯτʹ͍ͭͯ ੳ͢Δ͜ͱ͕Ͱ͖Δػೳ ▸ ΞφϦςΟΫεͷϨϙʔτΛݟΔ͜ͱͰϢʔβʔͷߦಈΛ໌ ֬ʹѲ͢Δ͜ͱ͕Ͱ͖ΔͨΊɺΞϓϦͷϚʔέςΟϯά ύϑΥʔϚϯεվળʹؔ͢ΔҙࢥܾఆΛ͔֬ͳσʔλʹجͮ ͍ͯߦ͏͜ͱ͕Ͱ͖·͢ɻ
ANDROID THINGS DEV-JP #1 FIREBASE AUTHENTICATION ▸ FirebaseʹΑΔϢʔβʔࣝผػೳΛఏڙ͠·͢ɻ ▸ ύεϫʔυɾి൪߸ɾҰൠతͳIDϓϩόΠμʢGoogleɺ
FacebookɺTwitterʣͳͲΛ༻ͨ͠ೝূΛߦ͏͜ͱ͕Ͱ͖ ·͢ɻ
ANDROID THINGS DEV-JP #1 FIREBASE CLOUD MESSAGING (FCM) ▸ ϝοηʔδΛແྉͰ࣮֬ʹ৴͢ΔͨΊͷϓϥοτϑΥʔϜ
▸ ಉظՄೳͳ৽͍͠σʔλ͕͋Δ͜ͱΛΫϥΠΞϯτΞϓϦʹ ௨͢Δ͜ͱ͕Ͱ͖·͢ɻ ▸ ͍ΘΏΔPUSH௨αʔϏε
ANDROID THINGS DEV-JP #1 FIREBASE CLASHLYTICS ▸ ΫϥογϡϨϙʔτΛ༻ͯ͠ɺΞϓϦͷΛ໌͔֬ͭʹ ѲͰ͖·͢ɻ ▸
ΞϓϦͷ࣭ΛԼͤ͞Δ҆ఆੑͷΛ͠ɺमਖ਼͢Δ ͷʹཱͪ·͢ɻ ▸ ಛఆͷΫϥογϡ͕ଟ͘ͷϢʔβʔʹӨڹΛ༩͑Δ͔Ͳ͏͔ ΛௐͨΓɺͷॏେ͕ٸܹʹ૿ͨ͠߹ʹΞϥʔτ Λड͚औͬͨΓͰ͖Δ΄͔ɺίʔυͰΫϥογϡͷݪҼ ͱͳ͍ͬͯΔߦΛಛఆ͢Δ͜ͱͰ͖·͢ɻ
ANDROID THINGS DEV-JP #1 FIREBASE REALTIME DATABASE ▸ ΫϥυͰϗεςΟϯά͞ΕΔNoSQLσʔλϕʔεͰɺ σʔλͷอͱಉظΛߦ͏͜ͱ͕Ͱ͖·͢ɻ
▸ σʔλ JSON ͱͯ͠อଘ͞Εɺଓ͞Ε͍ͯΔͯ͢ͷΫ ϥΠΞϯτͱϦΞϧλΠϜͰಉظ͞Ε·͢ɻ ▸ iOSɺAndroidɺJavaScriptͳͲɺΫϩεϓϥοτϑΥʔϜ ʹରԠ
ANDROID THINGS DEV-JP #1 FIREBASE REMOTE CONFIG ▸ ΞϓϦΛΞοϓσʔτ͠ͳͯ͘ɺΞϓϦͷಈ࡞֎؍ΛมߋͰ͖ ·͢ɻ
▸ ΞϓϦͷಈ࡞֎؍Λ੍ޚ͢ΔΞϓϦσϑΥϧτΛ࡞͢Δ͜ ͱ͕Ͱ͖·͢ɻ ▸ Firebase ίϯιʔϧ·ͨRemote Config REST API Λ༻ͯ͠ɺΞ ϓϦσϑΥϧτΛ্ॻ͖͢Δ͜ͱ͕Ͱ͖·͢ɻ ▸ ΞοϓσʔτΛద༻͢ΔλΠϛϯάΞϓϦଆͰ੍ޚͰ͖·͢ɻ ▸ ΞϓϦύϑΥʔϚϯεʹ΄ͱΜͲӨڹΛ͓Α΅͢͜ͱͳ͘ɺΞο ϓσʔτΛద༻͢Δ͜ͱ͕Ͱ͖·͢ɻ
ANDROID THINGS DEV-JP #1 FIREBASE STORAGE ▸ Ϣʔβʔ͕ੜͨࣸ͠ਅಈըͳͲͷίϯςϯπΛอɺఏڙ͢ΔػೳΛΞϓϦ ʹՃ͢Δ͜ͱ͕Ͱ͖ΔαʔϏεɻ ▸
GoogleنͰߏங͞Εͨɺڧྗ͔ͭγϯϓϧͰɺίετޮՌͷߴ͍ΦϒδΣΫτ ετϨʔδ αʔϏεͰ͢ɻ ▸ ϑΝΠϧͷΞοϓϩʔυͱμϯϩʔυʹ GoogleͷηΩϡϦςΟ͕ద༻͞Ε· ͢ɻ ▸ SDK ɺը૾ɺԻɺಈըɺ·ͨͦͷଞͷϢʔβʔ͕ੜͨ͠ίϯςϯπΛ֨ ೲ͢Δ߹ʹ༻Ͱ͖·͢ɻ ▸ αʔόʔͰGoogle Cloud Storage Λ༻ͯ͠ಉ͡ϑΝΠϧʹΞΫηεͰ͖· ͢ɻ
ANDROID THINGS DEV-JP #1 CLOUD FIRESTORE ▸ ॊೈͰεέʔϥϒϧͳ NoSQL Ϋϥυ
σʔλϕʔεΛ༻ ͯ͠ɺΫϥΠΞϯτଆ։ൃͱαʔόʔଆ։ൃͷσʔλΛอଘɾ ಉظ͠·͢ɻ ▸ Firebase Realtime Database ͱಉ༷ʹɺϦΞϧλΠϜ Ϧε φʔΛհͯ͠ΫϥΠΞϯτ ΞϓϦؒͰσʔλΛಉظ͠ɺϞ όΠϧͱΣϒͷΦϑϥΠϯ αϙʔτΛఏڙ͠·͢ɻ ▸ ͜ΕʹΑΓɺωοτϫʔΫͷԆΠϯλʔωοτଓʹ ؔͳ͘ػೳ͢ΔϨεϙϯγϒΞϓϦΛߏஙͰ͖·͢ɻ
ANDROID THINGS DEV-JP #1 FIT ▸ ϑΟοτωεϦϙδτϦʹϑΟοτωεσʔλΛΞοϓϩʔ υ͠ɺϢʔβʔ1ͭͷॴͰ͞·͟·ͳσόΠεΞϓϦ ͔ΒσʔλʹΞΫηεͰ͖·͢ɻ •
ΞϓϦΣΞϥϒϧ·ͨηϯαͷσʔλΛอଘͰ͖ ·͢ɻ • ΞϓϦͲͷΞϓϦͰ࡞ͨ͠σʔλʹΞΫηεͰ͖· ͢ɻ • ϢʔβʔͷϑΟοτωεσʔλɺϑΟοτωεσόΠε ΛΞοϓάϨʔυ͢Δͱอ࣋͞Ε·͢ɻ
ANDROID THINGS DEV-JP #1 INSTANCE ID ▸ ΠϯελϯεIDɺΞϓϦͷΠϯελϯε͝ͱʹݻ༗ͷIDΛ ఏڙ͠·͢ɻ ▸
ೝূʹҰҙͷIDΛఏڙ͢Δ͚ͩͰͳ͘ɺଞͷαʔϏεͰ ༻͢ΔͨΊͷηΩϡϦςΟτʔΫϯΛੜ͢Δ͜ͱͰ͖· ͢ɻ ▸ ΠϯελϯεIDτʔΫϯΛαʔόʔʹ͠ɺΠϯελϯεID αʔϏεΛ༻ͯ͠ΞϓϦέʔγϣϯύοέʔδ໊Λ֬ೝ͠ɺ ༗ޮͳॺ໊͕͋Δ͔Ͳ͏͔Λ֬ೝ͠·͢ɻ
ANDROID THINGS DEV-JP #1 LOCATION / MAPS / PLACES ▸
ϞόΠϧσόΠεͷηϯαʔͱ৴߸Λར༻ͯ͠ɺϢʔβʔͷ ߦಈͱͦͷڥΛೝࣝ͢Δ͜ͱ͕Ͱ͖·͢ɻ ▸ 12छྨҎ্ͷ৴߸Λ݁߹ͯ͠ɺਫ਼Λ࠷େݶʹߴΊΔ͜ͱ ͕Ͱ͖·͢ɻ ▸ Google MapʢਤใʣαʔϏεʹΑΓɺਤͷදࣔɾ ϧʔτͷੜɾࢪઃใͷදࣔͳͲ͕ՄೳͰ͢ɻ
ANDROID THINGS DEV-JP #1 NEARBY CONNECTIONS ▸ P2PʢϐΞπʔϐΞʣωοτϫʔΫAPIͰɺۙ͘ͷσόΠεΛ؆୯ʹݕग़ɾଓɾަ͢Δ͜ͱ͕Ͱ ͖·͢ɻ •
ڞಉฤूՄೳͳϗϫΠτϘʔυɿ ڞ༗͞ΕͨԾϗϫΠτϘʔυ্ͷۙ͘ͷࢀՃऀͱҰॹʹΞΠσΟΞΛग़͋͑͠·͢ɻ • ϩʔΧϧϚϧνϓϨΠϠʔήʔϜɿ ϚϧνϓϨΠϠʔήʔϜΛઃఆ͠ɺۙ͘ʹ͍ΔଞͷϢʔβʔΛটͯ͠ࢀՃ͠·͢ɻ • ϚϧνεΫϦʔϯήʔϜɿ ܞଳిλϒϨοτΛήʔϜίϯτϩʔϥͱͯ͠༻ͯ͠ɺAndroid TVͳͲۙ͘ͷେը໘ Androidࡌʹදࣔ͞ΕΔήʔϜΛϓϨΠͰ͖·͢ɻ • ΦϑϥΠϯϑΝΠϧసૹɿ ωοτϫʔΫଓΛඞཁͱͤͣʹɺࣸਅɺϏσΦɺ·ͨͦͷଞͷछྨͷσʔλΛ͘͢ڞ༗ Ͱ͖·͢ɻ
ANDROID THINGS DEV-JP #1 NEARBY MESSAGES ▸ Πϯλʔωοτʹଓ͞ΕͨAndroidͱiOSσόΠεؒͰɺখ͞ͳ όΠφϦϖΠϩʔυΛ͢͜ͱ͕Ͱ͖·͢ɻ ▸
σόΠεಉ͡ωοτϫʔΫ্ʹ͋Δඞཁ͋Γ·ͤΜ͕ɺΠϯ λʔωοτʹଓ͢Δඞཁ͕͋Γ·͢ɻ ▸ NearbyɺBluetoothɺBluetooth Low EnergyɺWi-Fiɺ͓Αͼɺ Իʹ͍ۙΦʔσΟΦͷΈ߹ΘͤΛ༻ͯ͠௨৴͠·͢ɻ ▸ ۙ͘ͷϝοηʔδೝূ͞Ε͓ͯΒͣɺGoogleΞΧϯτඞཁ ͋Γ·ͤΜɻ
ANDROID THINGS DEV-JP #1 MOBILE VISION ▸ إೝূɾόʔίʔυεΩϟϯɾจࣈྻೝ͕ࣝՄೳͰ͢ɻ ▸ ݱࡏML(Machine
Learning) KitͷҰ෦ͱͳ͍ͬͯ·͢ɻ
ANDROID THINGS DEV-JP #1 SAFETY NET ▸ σόΠεͷվ͟ΜɺURLͷѱԽɺજࡏతʹ༗ͳΞϓϦɺِ ͷϢʔβʔͳͲɺηΩϡϦςΟڴҖ͔ΒΞϓϦΛอޢ͢ΔҰ ࿈ͷαʔϏεͱAPIΛఏڙ͠·͢ɻ
ANDROID THINGS DEV-JP #1 CLOUD IOT CORE ▸ Cloud IoT
Core ɺൣғʹࢄͨ͠ଟͷͷଓɺ ཧɺσʔλͷऔΓࠐΈΛηΩϡϦςΟΛҡ࣋͠ͳ͕Β ؆୯ʹߦ͏͜ͱ͕Ͱ͖ΔϑϧϚωʔδυαʔϏεͰ͢ɻ ▸ Cloud IoT Core ΛCloud IoTϓϥοτϑΥʔϜ্ͷͦͷଞͷ αʔϏεͱΈ߹ΘͤΔͱɺIoT σʔλͷऩूɾॲཧɾ ੳɾՄࢹԽΛϦΞϧλΠϜͰߦ͏ͨΊʹඞཁͳͷ͕ͯ͢ ἧ͍ɺۀͷޮԽʹཱͪ·͢ɻ
ANDROID THINGS DEV-JP #1 TENSOR FLOW LITE ▸ TensorFlow LiteɺϞόΠϧɺ͓ΑͼɺΈࠐΈػث͚
ͷTensorFlowͷܰྔ൛Ͱ͢ɻ ▸ ϨΠςϯγͱখ͞ͳόΠφϦαΠζͰΦϯσόΠεͷػց ֶशਪΛՄೳʹ͠·͢ɻ ▸ Android Neural Networks APIʹΑΔϋʔυΣΞΞΫηϥ Ϩʔγϣϯαϙʔτ͍ͯ͠·͢ɻ