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 / Recent Firebase
Search
k2wanko
February 02, 2019
4
1.5k
最近のFirebase / Recent Firebase
https://gcpugfukuoka.connpass.com/event/114665/
k2wanko
February 02, 2019
Tweet
Share
More Decks by k2wanko
See All by k2wanko
Sales AI Cloud "ailead" TSConfig Strictly Adopted / セールスAIクラウド「ailead」の TSConfig厳格化対応した話 /
k2wanko
1
1.6k
Google Analytics for Firebaseを 使うときに把握しておきたいこと / Keep in mind when using Google Analytics for Firebase
k2wanko
2
460
パスワードのない未来のための Firebaseで実装するFIDO2 / FIDO2 actualized by Firebase for the password-less future
k2wanko
5
2.2k
Firebase Auth& Performance Monitoring
k2wanko
0
320
What's New Firebase 2019 Q1 #FJUG #io19jp
k2wanko
5
2.5k
Firebase for Grow
k2wanko
5
870
gosecを試してみた話 / try gosec
k2wanko
1
2.7k
Firebase Japan User Group Introduction 2018 #FJUG
k2wanko
0
570
Firestore with Security - Firebase Summit 2018 Report Day
k2wanko
5
1.8k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
The Language of Interfaces
destraynor
154
24k
Producing Creativity
orderedlist
PRO
341
39k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Side Projects
sachag
452
42k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Transcript
最近のFirebase コキチーズ@k2wanko 2019-02-02 GCPUG Fukuoka 「Firebase」特集
コキチーズ@k2wanko - LINEでセキュリティエンジニアをやっている。 (本業はあんまりFirebase関係ない) - Firebase Japan User Groupのオーガナイザーと GCPUG
TokyoのStaffをやっている。 - 得意分野はWebとAndroidとGCPとGo
とは?
helps mobile app teams succeed.
モバイルアプリチームの 成功を支援します。
つまり、モバイルアプリの作成を 助けてくれるプラットフォーム
基本的にクライアントアプリだけで 開発が可能 サーバーをメンテナンスする必要はない
対応プラットフォーム
基本的にはクライアントだけで アプリが作れちゃう
でも、サーバーが必要なときもある
サーバーでFirebaseを操作するSDKが Admin SDK
Admin SDK対応言語
いくつかのクライアントコードやSDKはOSSで提供されている。 https://github.com/firebase
FirebaseのProduct達
始めるだけならまずはここから
Google Analytics for Firebase
Google Analytics for Firebaseとは - 無料で使えるモバイル向けのアナリティクスサービス。 - イベントをベースに分析ができる。 - データはBigQueryにエクスポートできる。
- 予め用意されているイベント以外にも、 独自にイベントを定義できる。 - Audienceを作成することで、 特定の行動をしたユーザーをグループ化できる。
What’s New - Audience Exclusions - Membership Duration https://firebase.googleblog.com/2019/01/a-crash-course-in-using-new-audiences.html
Google アナリティクス SDK終了 - 2019 年10月に、Android と iOS 向けの Google
ア ナリティクス開発者サービス SDK が終了 - 移行先はFirebaseへ - 有料版のGoogle アナリティクス 360 は影響なし https://support.google.com/analytics/answer/9167112?hl=ja
Cloud Functions for Firebase
Cloud Functions for Firebaseとは - イベント駆動で独自の関数を実行できるサービス - 受け取れるイベントはPubSubやHTTPやFirebaseのほとんど のサービスのイベントを取れる -
Firebaseが標準でサポートしているのはNode.jsだけ - GCP経由のCloud FunctionsでもFirestoreや Realtime DB、Analyticsのイベントも受け取れる。 - `gcloud functions event-types list` で確認できる。
What’s New - Firebase Management API - Go Support (Firebaseというわけではない)
かなり実践的なサンプルがいっぱいあるのでオススメ https://github.com/firebase/functions-samples
Firebase Authentication
Firebase Authenticationとは - パスワード認証からGoogle、Twitterのような プロバイダー認証にSMS認証など色々サポートしてる。 - 対応してない認証もカスタム認証を利用して Firebaseユーザーにできる。
What’s New - Cloud Identity for Customers and Partners https://cloud.google.com/identity-cp/
- SAML認証とかOIDCとかもサポートされた。
Firebase Hosting
Firebase Hosting - 静的なファイルを配信するためのホスティングサービス - 標準でHTTP2で配信してくれる。 - Cloud Functionsを接続することで 動的なコンテンツ配信も可能
What’s New - 複数サイトを1つのプロジェクトで管理できる。 (そんなに新しくはないけど...)
Firebase Cloud Messaging
Firebase Cloud Messaging とは - Push通知を送れるサービス - モバイルだけじゃなくてWebにも対応している。 - トピックという機能を使えば、
サブスクライブしているユーザーにだけ送るもできる。
What’s New - スケジューリングをPush通知が設定できるようになった 毎日決まったメッセージを送ることが可能
GCMの終了 - 2019 年 4月11日にGCMが終了するので、 - 古いSDKやエンドポイント使ってたらFCMへ移行が必要 https://developers-jp.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html
Cloud Firestore
Cloud Firestore とは - リアルタイムにデータを同期できる 分散NoSQLデータベース - クエリーの全ては強い整合性 - クライアントから直接書き込めるし
オフラインでも書き込みができる。 - 書き込み、読み込みの制限はセキュリティルールで担保
Firestoreの基本概念
サブコレクション /user/user1/profile/user1 user user1 user2 post post1 post2
What’s New - GA SLA 99.999% - 値下げ - usリージョンよりも東京リージョンのが安い
- https://cloud.google.com/firestore/pricing#pricing_update - ローカルエミュレーター
ローカルエミュレーターについてはブログを書いたのでそっち を見てください。https://goo.gl/SGbE7t
セキュリティルールについて - クライアントから直接書き込めるFirestoreで、 データを保護するにはセキュリティルールで行う - セキュリティルールはJavaScriptっぽい独自構文 - テストモードとか使わず最初っから書きながら作るべき
Firestoreのセキュリティルールの基本 service cloud.firestore { match /databases/{database}/documents { match /{document=**} {
allow read, write: if request.auth.uid != null; } } } 認証しているユーザーのみに読み書きをさせる。
Firestoreのセキュリティルールの基本 read - get - list write - create -
update - delete
認証、スキーマバリデーション、ビジネスロジックの 順で検証していく Authorization Scheme Validation Business Logic
具体的なコードはこのTwitterみたいなタイムラインのデモを見てね https://github.com/k2wanko/fire-timeline
Realtime DBとの使い分け - ほとんどの場合はFirestoreでOK - 少ないデータを頻繁にアップデートする用途になら RealtimeDBのが安いこともある。 - 前まではRealtime DBはGAで安定してるとあったが、
FirestoreもGAになり、その優位性もなくなった。 - ユーザーがオフラインになったことを検知したい場合
Firestoreは GAなのだからガンガン使っていこう!
よりFirebaseを知るには
公式ドキュメントを一通り見ておく 全部を隅々まで把握する必要はないけど どんなサービスがあるかは把握しておいたほうが必要な時に気づ ける。 https://firebase.google.com/docs/
わからないことはサポートに問い合わせをしてみる 無料でも日本語で質問することができる。 より具体的なサポートが欲しい場合は有料のサポートもある。 https://firebase.google.com/support/contact/
コミュニティに参加してみる Firebaseのコミュニティに参加してみて、 Firebaseの最新情報や話題をキャッチアップ https://firebase.asia/
https://cast.firebase.asia/
https://www.youtube.com/channel/UCpvejDfNX4DOhuqlmCPiFfQ
Question?
Thank you @k2wanko