Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
最近のFirebase コキチーズ@k2wanko 2019-02-02 GCPUG Fukuoka 「Firebase」特集
Slide 2
Slide 2 text
コキチーズ@k2wanko - LINEでセキュリティエンジニアをやっている。 (本業はあんまりFirebase関係ない) - Firebase Japan User Groupのオーガナイザーと GCPUG TokyoのStaffをやっている。 - 得意分野はWebとAndroidとGCPとGo
Slide 3
Slide 3 text
とは?
Slide 4
Slide 4 text
helps mobile app teams succeed.
Slide 5
Slide 5 text
モバイルアプリチームの 成功を支援します。
Slide 6
Slide 6 text
つまり、モバイルアプリの作成を 助けてくれるプラットフォーム
Slide 7
Slide 7 text
基本的にクライアントアプリだけで 開発が可能 サーバーをメンテナンスする必要はない
Slide 8
Slide 8 text
対応プラットフォーム
Slide 9
Slide 9 text
基本的にはクライアントだけで アプリが作れちゃう
Slide 10
Slide 10 text
でも、サーバーが必要なときもある
Slide 11
Slide 11 text
サーバーでFirebaseを操作するSDKが Admin SDK
Slide 12
Slide 12 text
Admin SDK対応言語
Slide 13
Slide 13 text
いくつかのクライアントコードやSDKはOSSで提供されている。 https://github.com/firebase
Slide 14
Slide 14 text
FirebaseのProduct達
Slide 15
Slide 15 text
始めるだけならまずはここから
Slide 16
Slide 16 text
Google Analytics for Firebase
Slide 17
Slide 17 text
Google Analytics for Firebaseとは - 無料で使えるモバイル向けのアナリティクスサービス。 - イベントをベースに分析ができる。 - データはBigQueryにエクスポートできる。 - 予め用意されているイベント以外にも、 独自にイベントを定義できる。 - Audienceを作成することで、 特定の行動をしたユーザーをグループ化できる。
Slide 18
Slide 18 text
What’s New - Audience Exclusions - Membership Duration https://firebase.googleblog.com/2019/01/a-crash-course-in-using-new-audiences.html
Slide 19
Slide 19 text
Google アナリティクス SDK終了 - 2019 年10月に、Android と iOS 向けの Google ア ナリティクス開発者サービス SDK が終了 - 移行先はFirebaseへ - 有料版のGoogle アナリティクス 360 は影響なし https://support.google.com/analytics/answer/9167112?hl=ja
Slide 20
Slide 20 text
Cloud Functions for Firebase
Slide 21
Slide 21 text
Cloud Functions for Firebaseとは - イベント駆動で独自の関数を実行できるサービス - 受け取れるイベントはPubSubやHTTPやFirebaseのほとんど のサービスのイベントを取れる - Firebaseが標準でサポートしているのはNode.jsだけ - GCP経由のCloud FunctionsでもFirestoreや Realtime DB、Analyticsのイベントも受け取れる。 - `gcloud functions event-types list` で確認できる。
Slide 22
Slide 22 text
What’s New - Firebase Management API - Go Support (Firebaseというわけではない)
Slide 23
Slide 23 text
かなり実践的なサンプルがいっぱいあるのでオススメ https://github.com/firebase/functions-samples
Slide 24
Slide 24 text
Firebase Authentication
Slide 25
Slide 25 text
Firebase Authenticationとは - パスワード認証からGoogle、Twitterのような プロバイダー認証にSMS認証など色々サポートしてる。 - 対応してない認証もカスタム認証を利用して Firebaseユーザーにできる。
Slide 26
Slide 26 text
What’s New - Cloud Identity for Customers and Partners https://cloud.google.com/identity-cp/ - SAML認証とかOIDCとかもサポートされた。
Slide 27
Slide 27 text
Firebase Hosting
Slide 28
Slide 28 text
Firebase Hosting - 静的なファイルを配信するためのホスティングサービス - 標準でHTTP2で配信してくれる。 - Cloud Functionsを接続することで 動的なコンテンツ配信も可能
Slide 29
Slide 29 text
What’s New - 複数サイトを1つのプロジェクトで管理できる。 (そんなに新しくはないけど...)
Slide 30
Slide 30 text
Firebase Cloud Messaging
Slide 31
Slide 31 text
Firebase Cloud Messaging とは - Push通知を送れるサービス - モバイルだけじゃなくてWebにも対応している。 - トピックという機能を使えば、 サブスクライブしているユーザーにだけ送るもできる。
Slide 32
Slide 32 text
What’s New - スケジューリングをPush通知が設定できるようになった 毎日決まったメッセージを送ることが可能
Slide 33
Slide 33 text
GCMの終了 - 2019 年 4月11日にGCMが終了するので、 - 古いSDKやエンドポイント使ってたらFCMへ移行が必要 https://developers-jp.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html
Slide 34
Slide 34 text
Cloud Firestore
Slide 35
Slide 35 text
Cloud Firestore とは - リアルタイムにデータを同期できる 分散NoSQLデータベース - クエリーの全ては強い整合性 - クライアントから直接書き込めるし オフラインでも書き込みができる。 - 書き込み、読み込みの制限はセキュリティルールで担保
Slide 36
Slide 36 text
Firestoreの基本概念
Slide 37
Slide 37 text
サブコレクション /user/user1/profile/user1 user user1 user2 post post1 post2
Slide 38
Slide 38 text
What’s New - GA SLA 99.999% - 値下げ - usリージョンよりも東京リージョンのが安い - https://cloud.google.com/firestore/pricing#pricing_update - ローカルエミュレーター
Slide 39
Slide 39 text
ローカルエミュレーターについてはブログを書いたのでそっち を見てください。https://goo.gl/SGbE7t
Slide 40
Slide 40 text
セキュリティルールについて - クライアントから直接書き込めるFirestoreで、 データを保護するにはセキュリティルールで行う - セキュリティルールはJavaScriptっぽい独自構文 - テストモードとか使わず最初っから書きながら作るべき
Slide 41
Slide 41 text
Firestoreのセキュリティルールの基本 service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.auth.uid != null; } } } 認証しているユーザーのみに読み書きをさせる。
Slide 42
Slide 42 text
Firestoreのセキュリティルールの基本 read - get - list write - create - update - delete
Slide 43
Slide 43 text
認証、スキーマバリデーション、ビジネスロジックの 順で検証していく Authorization Scheme Validation Business Logic
Slide 44
Slide 44 text
具体的なコードはこのTwitterみたいなタイムラインのデモを見てね https://github.com/k2wanko/fire-timeline
Slide 45
Slide 45 text
Realtime DBとの使い分け - ほとんどの場合はFirestoreでOK - 少ないデータを頻繁にアップデートする用途になら RealtimeDBのが安いこともある。 - 前まではRealtime DBはGAで安定してるとあったが、 FirestoreもGAになり、その優位性もなくなった。 - ユーザーがオフラインになったことを検知したい場合
Slide 46
Slide 46 text
Firestoreは GAなのだからガンガン使っていこう!
Slide 47
Slide 47 text
よりFirebaseを知るには
Slide 48
Slide 48 text
公式ドキュメントを一通り見ておく 全部を隅々まで把握する必要はないけど どんなサービスがあるかは把握しておいたほうが必要な時に気づ ける。 https://firebase.google.com/docs/
Slide 49
Slide 49 text
わからないことはサポートに問い合わせをしてみる 無料でも日本語で質問することができる。 より具体的なサポートが欲しい場合は有料のサポートもある。 https://firebase.google.com/support/contact/
Slide 50
Slide 50 text
コミュニティに参加してみる Firebaseのコミュニティに参加してみて、 Firebaseの最新情報や話題をキャッチアップ https://firebase.asia/
Slide 51
Slide 51 text
https://cast.firebase.asia/
Slide 52
Slide 52 text
https://www.youtube.com/channel/UCpvejDfNX4DOhuqlmCPiFfQ
Slide 53
Slide 53 text
Question?
Slide 54
Slide 54 text
Thank you @k2wanko