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
社内用アプリでFirebaseを使っている話
Search
yamacraft
June 23, 2017
Programming
2
2k
社内用アプリでFirebaseを使っている話
2017年6月23日に開催されたOtemachiFirebase#2で発表した資料です
yamacraft
June 23, 2017
Tweet
Share
More Decks by yamacraft
See All by yamacraft
なぜアプリのデザインとその実装はうまくいかないのか?
yamacraft
0
210
あんまり触れられてない気がする、Kotlin1.3の ありがたい追加機能
yamacraft
0
3.1k
ありがたいUIをもっと大事にしたい
yamacraft
2
2.4k
Quickstart-android/mlkitについて
yamacraft
2
4.9k
Firebase関連をCIでデプロイするときのTips
yamacraft
0
5.1k
開発用途で Realtime Databaseを 導入した話
yamacraft
2
4.6k
ciecleci/androidのOpenSSLに気をつけよう
yamacraft
0
720
Realtime Databaseに向いてる・向いてないサービス
yamacraft
0
960
弊社のアプリ開発CI環境
yamacraft
0
1.2k
Other Decks in Programming
See All in Programming
The free-lunch guide to idea circularity
hollycummins
0
370
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
240
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
140
存在論的プログラミング: 時間と存在を記述する
koriym
5
520
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
150
Ruby and LLM Ecosystem 2nd
koic
1
1.3k
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
180
OTP を自動で入力する裏技
megabitsenmzq
0
130
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
170
Feature Toggle は捨てやすく使おう
gennei
0
370
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
Speed Design
sergeychernyshev
33
1.6k
Exploring anti-patterns in Rails
aemeredith
2
290
How to Think Like a Performance Engineer
csswizardry
28
2.5k
HDC tutorial
michielstock
1
590
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Designing for Timeless Needs
cassininazir
0
170
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Transcript
ࣾΞϓϦͰ FirebaseΛ͍ͬͯΔ @yamacraft
profile • @yamacraft (Wataru Yamada) • Mobile Application Engineer •
LeadingMark, inc • team Y.G.E.(private)
None
دߘͯ͠·͢ʂ • ൃചதʂʂ • Android 7.0/7.1 • Firebase (Android/iOS) •
Analytics • Notifications
ࢀߟࢿྉʢίʔυ෦ʣ • https://gist.github.com/yamacraft/ c232359e28db4fcbca9ef2bd2420fe87 • Shortener > https://goo.gl/gJsbHo
ࠓճͷൃද༰ ʮ͍·ͬͯΔ͜ͱʯ ʮ·ͩͬͯͳ͍͜ͱʯ ʮ͍͔ͭΓ͍ͨ͜ͱʯ Ͱ͓ૹΓ͠·͢
ຊ
εϚʔτϩοΫʹΑΔղৣ
ݱࡏͷ
ೖ੍ࣨޚΞϓϦͰղܾʢ༧ఆʣ
ΞϓϦͷ֓ཁਤ
ࠓճ͜͜ͷΛ͠·͢
ࠓճར༻͍ͯ͠Δػೳ • Realtime Database • ϢʔβʔʢʴΧʔυʣͷొͱಡΈࠐΈ • Authentication • GoogleೝূʴDBͷॻ͖ࠐΈ੍ݶ
• ʢAnalyticsɺCrash Reportingʣ
Realtime Databaseͷߏ • ෳࡶʹ͢ΔϝϦοτ ͳ͍ͷͰγϯϓϧʹ • ϓϩδΣΫτΛෳ ཧ͢Δͷ͕໘ͦ͏ͳ ͷͰɺ͍ͬͨΜಉ͡ϓ ϩδΣΫτͰςετͱ
ຊ൪σʔλΛཧʢΑ Ζ͘͠ͳ͍ʣ
Cardใ෦Ϋϥε
Database Client
Database Clientॲཧ • items/ҎԼͷσʔλมߋΛࢹʢValueEventListenerʣ • มԽ͕͋ΕίʔϧόοΫΛͬͯར༻ݩΫϥεʹ DataSnapshotΛૹΔ • ར༻ݩΫϥεʢࠓճViewModelଆʣͰσʔλͷ ܗͱরձΧʔυϦετใΛߋ৽͢Δ
• ܗ·Ͱ͜͜Ͱͬͨํ͕͍͍ͷ͔ͳ…Θ͔ΒΜʂ
ܗ෦ʢViewModelʣ
ॻ͖ࠐΈͱͯ୯७ • ͨͩ͠ɺʢࠓճͷΞϓϦʣಛఆͷGoogleΞ ΧϯτͰೝূ͍ͯ͠Δඞཁ͕͋Γ·͢
RealtimeDatabaseͰ͍͍ͳͱ ࢥͬͨͱ͜Ζ • ཧଆͰDBΛมߋʢՃʗআʗߋ৽ʣͤ͞Δͱར༻ ͷDB͕ଈ࠲ʹߋ৽͞ΕΔ • ϙʔϦϯάΈ͍ͨͳॲཧ͕ෆཁʂศརʂ • REST API͕༻ҙ͞Ε͍ͯΔ
• ͖ͳݴޠͰσʔλ੍ޚͰ͖Δ • ೝূ੍ޚ͕བྷΉͱͪΐͬͱ͔͍͔ͬ͠Εͳ͍
Firebase Admin Python SDK ɺͪΐͬͱղઆॻ͖·ͨ͠
AuthenticationʹΑΔ੍ݶ • ಡΈࠐΈ੍ݶͳ͠ʢಛʹൿಗ͖͢ใͳ͍ͨΊʣ • ॻ͖ࠐΈಛఆϢʔβʔʢGoogleΞΧϯτʣͷΈͱ ͢Δ
AuthenticationʢUIDऔಘʣ ʹ͍ͭͯ • firebase/quickstartͷαϯϓϧͦͷ··ͳͷ Ͱɺ͋·ΓޠΕΔͱ͜Ζͳ͍Ͱ͢… • UIDೝূޙͰͳ͍ͱ֬ೝͰ͖ͳ͍ͷͰҙ
Authenticationͷิ • ͪͳΈʹGoogleೝূͷ߹ɺΞΧϯτͷ ϝʔϧΞυϨε͕औಘͰ͖·͢
ݱ࣌Ͱߟ͑͏Δݒ೦ • ॳճͷಡΈࠐΈ͕ͪΐͬͱ͔͔࣌ؒΔҹ͕͋Δ • ͱ͍͑جຊৗ࣌ىಈͳͷͰগͳ͍ ͣ…ʁ • Ϣʔβʔʢۈऀʣ͕૿͑ͨͱ͖ͷཧӡ༻࣌ͷ ࢹ͕ΞϓϦ͚ͩͰͪΐͬͱΊΜͲͦ͘͞͏… •
Cloud FunctionͰͳΜͱ͔ͳΓͦ͏ͳؾ͕͢Δ…
None
Εͦ͏ͳ͜ͱ • Realtime Database / AuthenticationΛࢹͯ͠… • ຊ൪σʔλͱςετσʔλͷಉظॲཧ • αΠϯΠϯΛslackʹ௨
ʼ ෆཁͳαΠϯΠϯͷ࣮ߦࢹ • HTTPτϦΨʔΛͬͯ… • chat botܦ༝ͰFCM ʼ ϩοΫղআͷ੍ޚ • ఆظ࣮ߦ ʼ ར༻͞Ε͍ͯͳ͍ΧʔυͷνΣοΫ
ҙ • ແྉͰGoogleҎ֎͔Βͷݺͼग़͕͠Ͱ͖ ͳ͍ͷͰҙɻ
firebase/functions-samples
͓͠·͍ ʢ࣍ճ͕͋ΕʣͦͷޙͷͩͬͨΓɺFirebase ΛͬͨWebαʔϏεఏڙͷΛ͠·͢ʂ