最近のFirebase / Recent Firebase

1b177b37d966f573b1df5d7218a5f560?s=47 k2wanko
February 02, 2019
1.1k

最近のFirebase / Recent Firebase

1b177b37d966f573b1df5d7218a5f560?s=128

k2wanko

February 02, 2019
Tweet

Transcript

  1. 最近のFirebase コキチーズ@k2wanko 2019-02-02 GCPUG Fukuoka 「Firebase」特集

  2. コキチーズ@k2wanko - LINEでセキュリティエンジニアをやっている。 (本業はあんまりFirebase関係ない) - Firebase Japan User Groupのオーガナイザーと GCPUG

    TokyoのStaffをやっている。 - 得意分野はWebとAndroidとGCPとGo
  3. とは?

  4. helps mobile app teams succeed.

  5. モバイルアプリチームの 成功を支援します。

  6. つまり、モバイルアプリの作成を 助けてくれるプラットフォーム

  7. 基本的にクライアントアプリだけで 開発が可能 サーバーをメンテナンスする必要はない

  8. 対応プラットフォーム

  9. 基本的にはクライアントだけで アプリが作れちゃう

  10. でも、サーバーが必要なときもある

  11. サーバーでFirebaseを操作するSDKが Admin SDK

  12. Admin SDK対応言語

  13. いくつかのクライアントコードやSDKはOSSで提供されている。 https://github.com/firebase

  14. FirebaseのProduct達

  15. 始めるだけならまずはここから

  16. Google Analytics for Firebase

  17. Google Analytics for Firebaseとは - 無料で使えるモバイル向けのアナリティクスサービス。 - イベントをベースに分析ができる。 - データはBigQueryにエクスポートできる。

    - 予め用意されているイベント以外にも、 独自にイベントを定義できる。 - Audienceを作成することで、 特定の行動をしたユーザーをグループ化できる。
  18. What’s New - Audience Exclusions - Membership Duration https://firebase.googleblog.com/2019/01/a-crash-course-in-using-new-audiences.html

  19. Google アナリティクス SDK終了 - 2019 年10月に、Android と iOS 向けの Google

    ア ナリティクス開発者サービス SDK が終了 - 移行先はFirebaseへ - 有料版のGoogle アナリティクス 360 は影響なし https://support.google.com/analytics/answer/9167112?hl=ja
  20. Cloud Functions for Firebase

  21. Cloud Functions for Firebaseとは - イベント駆動で独自の関数を実行できるサービス - 受け取れるイベントはPubSubやHTTPやFirebaseのほとんど のサービスのイベントを取れる -

    Firebaseが標準でサポートしているのはNode.jsだけ - GCP経由のCloud FunctionsでもFirestoreや Realtime DB、Analyticsのイベントも受け取れる。 - `gcloud functions event-types list` で確認できる。
  22. What’s New - Firebase Management API - Go Support (Firebaseというわけではない)

  23. かなり実践的なサンプルがいっぱいあるのでオススメ https://github.com/firebase/functions-samples

  24. Firebase Authentication

  25. Firebase Authenticationとは - パスワード認証からGoogle、Twitterのような プロバイダー認証にSMS認証など色々サポートしてる。 - 対応してない認証もカスタム認証を利用して Firebaseユーザーにできる。

  26. What’s New - Cloud Identity for Customers and Partners https://cloud.google.com/identity-cp/

    - SAML認証とかOIDCとかもサポートされた。
  27. Firebase Hosting

  28. Firebase Hosting - 静的なファイルを配信するためのホスティングサービス - 標準でHTTP2で配信してくれる。 - Cloud Functionsを接続することで 動的なコンテンツ配信も可能

  29. What’s New - 複数サイトを1つのプロジェクトで管理できる。 (そんなに新しくはないけど...)

  30. Firebase Cloud Messaging

  31. Firebase Cloud Messaging とは - Push通知を送れるサービス - モバイルだけじゃなくてWebにも対応している。 - トピックという機能を使えば、

    サブスクライブしているユーザーにだけ送るもできる。
  32. What’s New - スケジューリングをPush通知が設定できるようになった 毎日決まったメッセージを送ることが可能

  33. GCMの終了 - 2019 年 4月11日にGCMが終了するので、 - 古いSDKやエンドポイント使ってたらFCMへ移行が必要 https://developers-jp.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html

  34. Cloud Firestore

  35. Cloud Firestore とは - リアルタイムにデータを同期できる 分散NoSQLデータベース - クエリーの全ては強い整合性 - クライアントから直接書き込めるし

    オフラインでも書き込みができる。 - 書き込み、読み込みの制限はセキュリティルールで担保
  36. Firestoreの基本概念

  37. サブコレクション /user/user1/profile/user1 user user1 user2 post post1 post2

  38. What’s New - GA SLA 99.999% - 値下げ - usリージョンよりも東京リージョンのが安い

    - https://cloud.google.com/firestore/pricing#pricing_update - ローカルエミュレーター
  39. ローカルエミュレーターについてはブログを書いたのでそっち を見てください。https://goo.gl/SGbE7t

  40. セキュリティルールについて - クライアントから直接書き込めるFirestoreで、 データを保護するにはセキュリティルールで行う - セキュリティルールはJavaScriptっぽい独自構文 - テストモードとか使わず最初っから書きながら作るべき

  41. Firestoreのセキュリティルールの基本 service cloud.firestore { match /databases/{database}/documents { match /{document=**} {

    allow read, write: if request.auth.uid != null; } } } 認証しているユーザーのみに読み書きをさせる。
  42. Firestoreのセキュリティルールの基本 read - get - list write - create -

    update - delete
  43. 認証、スキーマバリデーション、ビジネスロジックの 順で検証していく Authorization Scheme Validation Business Logic

  44. 具体的なコードはこのTwitterみたいなタイムラインのデモを見てね https://github.com/k2wanko/fire-timeline

  45. Realtime DBとの使い分け - ほとんどの場合はFirestoreでOK - 少ないデータを頻繁にアップデートする用途になら RealtimeDBのが安いこともある。 - 前まではRealtime DBはGAで安定してるとあったが、

    FirestoreもGAになり、その優位性もなくなった。 - ユーザーがオフラインになったことを検知したい場合
  46. Firestoreは GAなのだからガンガン使っていこう!

  47. よりFirebaseを知るには

  48. 公式ドキュメントを一通り見ておく 全部を隅々まで把握する必要はないけど どんなサービスがあるかは把握しておいたほうが必要な時に気づ ける。 https://firebase.google.com/docs/

  49. わからないことはサポートに問い合わせをしてみる 無料でも日本語で質問することができる。 より具体的なサポートが欲しい場合は有料のサポートもある。 https://firebase.google.com/support/contact/

  50. コミュニティに参加してみる Firebaseのコミュニティに参加してみて、 Firebaseの最新情報や話題をキャッチアップ https://firebase.asia/

  51. https://cast.firebase.asia/

  52. https://www.youtube.com/channel/UCpvejDfNX4DOhuqlmCPiFfQ

  53. Question?

  54. Thank you @k2wanko