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
5k
開発用途で 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
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
280
文字コードの話
qnighy
43
17k
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
520
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
200
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
200
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
550
Ruby x Terminal
a_matsuda
7
580
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
230
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
170
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
310
SourceGeneratorのマーカー属性問題について
htkym
0
140
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.3k
How to make the Groovebox
asonas
2
2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
180
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Odyssey Design
rkendrick25
PRO
2
530
Raft: Consensus for Rubyists
vanstee
141
7.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
760
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
87
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
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αʔϏεఏڙͷΛ͠·͢ʂ