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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yamacraft
June 23, 2017
Programming
2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
社内用アプリでFirebaseを使っている話
2017年6月23日に開催されたOtemachiFirebase#2で発表した資料です
yamacraft
June 23, 2017
More Decks by yamacraft
See All by yamacraft
なぜアプリのデザインとその実装はうまくいかないのか?
yamacraft
0
220
あんまり触れられてない気がする、Kotlin1.3の ありがたい追加機能
yamacraft
0
3.2k
ありがたいUIをもっと大事にしたい
yamacraft
2
2.4k
Quickstart-android/mlkitについて
yamacraft
2
5k
Firebase関連をCIでデプロイするときのTips
yamacraft
0
5.1k
開発用途で Realtime Databaseを 導入した話
yamacraft
2
4.7k
ciecleci/androidのOpenSSLに気をつけよう
yamacraft
0
740
Realtime Databaseに向いてる・向いてないサービス
yamacraft
0
980
弊社のアプリ開発CI環境
yamacraft
0
1.2k
Other Decks in Programming
See All in Programming
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
440
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
110
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
190
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
320
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
360
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
Webフレームワークの ベンチマークについて
yusukebe
0
140
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.1k
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
420
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
160
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
530
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
A Soul's Torment
seathinner
6
2.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
190
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Chasing Engaging Ingredients in Design
codingconduct
0
210
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
400
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Mind Mapping
helmedeiros
PRO
1
240
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
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αʔϏεఏڙͷΛ͠·͢ʂ