Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

FirebaseSummit 2020のキャッチアップをしてみた

こんにちは。virapture株式会社もぐめっとです。

IMG_9493.jpg
実は隠してましたが、忍法影分身の術を使えます。

今回はFirebase Summit 2020が行われたのでその内容をキャッチアップのためにアウトプットしていこうと思います。

発表された大体の内容はHelpful product updates from Firebase Summit 2020にまとめられてるので、これの和訳といっても過言ではないかもしれません。

認証エミュレーター

Firebase Authenticationのエミュレーターが実装されました。

認証エミュレーターの起動はこちらのコマンドを実行するだけ

$ firebase emulators:start
# authだけならこちら
$ firebase emulators:start --only auth

認証エミュレーターへの使い方は簡単で、クライアントでAuthを使う時にエミュレーターを指定するだけ

firebase.auth().useEmulator('http://localhost:9099/');

Firebase Admin SDKでは、FIREBASE_AUTH_EMULATOR_HOSTの環境変数がセットされていれば自動的にエミュレーターを使います

export FIREBASE_AUTH_EMULATOR_HOST="localhost:9099"

リンクでのメール認証やSMS認証とかもエミュレーターでできちゃいます。すごい。

コード上でこんな使い方をしていてこれ良いなと思いました。

hostingで公開前にプレビューできるPreview channels

こんな感じで使えます。わかりやすいgif。

preview channels

使い方は下記になります。(公式ドキュメントより)

$ firebase hosting:channel:deploy {CHANNEL_ID}

CHANNEL_IDを、スペースを含まない文字列でなんでもいいみたいです。
このIDがプレビュー用URLに使われます。
実行するとURLがコンソールに表示されるのでそれにアクセスするだけです。

構成的にはこんな感じ

ちなみにexpireとかもつけれるみたいです。

$ firebase hosting:channel:deploy new-blog-post --expires 1d

1m, 12hなど細かい時間指定も可能。

デプロイしたリストがみたければこちら

$ firebase hosting:channel:list

ちなみに本番環境はliveというChannel IDで固定されているようです。

また、Github Actionsにも対応しているので、デプロイしたらpreview用のurlを生成とかもできちゃいます。
cf: Deploy to Firebase Hosting

Stripeによる課金処理のExtension追加

こちらに関しては以前私がやり方などまとめたのでそちらをご参照ください。

Firebase ExtensionsのRun Subscription Payments with Stripeを使ってサブスク課金をコードを書かずに実装する

Firebase extensionsのSend Invoices using Stripeを使って請求を送る

Extensionで課金処理が簡単にできちゃいます!すごい時代になった。

オンライン状況を確認するExtension追加

Detect Online Presenceというオンライン状況を確認できるExtensionが追加予定とのこと。
こちらはまだalpha版のようなので、Alpha Programに登録してればそのうち早く使えるようになります。

ソシャゲとかに使えそうですね。
裏側の仕組みはきっとrealtime databaseの機能を使っていい感じにやってくれるんじゃないかなぁとおもいます。

パフォーマンス監視ダッシュボードの刷新

重要なことに注目できるように、指標を追加できるようになりました。
cf: ダッシュボードで主要な指標を追跡する

(関わってるプロダクトでそもそもPerfomance SDKいれてなかったのでいれるようにしなければ・・・)

Remote Configの強化

Configをグループで管理できるようになりました。
image.png

また、semantic versioningに対応したことでバージョニング管理がRemoteConfig上でできるようになりました。
これでアプリ側で正規表現とか書かずにすみますね。

また、新しい値のセットのロールアウトを監視できるリアルタイムのフェッチ要求と、ユーザー間でのパラメーター値の分布を示すフェッチの割合が見れるようになり、ちゃんと意図した条件でユーザに反映されているかもわかるようになりました。

CrashlyticsデータをBigQueryに自動export

Crashlyticsデータをより分析しやすくするためにとりあえずリンクしておくと便利そうです。

Crashlytics データを BigQuery にエクスポートする

GoogleAnalyticsの新しいAPI

Measurement Protocol (Google Analytics 4)

イベントを直接GAに記録できるAPIです。これでCloud Functionsとかでイベントを記録できるようになりますね。

Analytics Data API

GAのレポートにプログラムでアクセスできるようになりました!
管理画面で好きにレポート作成がしやすくなりそうです。

Google Analytics Admin API

Analyticsアカウントを構成し、ユーザー権限を設定できます。
会社などでアカウント管理するのに便利そうですね。

BigQueryとFirebaseのセグメント連携

cf: セグメントのインポート
BigQueryのカスタムセグメントをFirebaseにインポートすることができるようになりました。
たとえば、eコマースアプリと実店舗がある場合は、ストアなどのオフラインソースからデータをインポートし、In-AppMessagingを使用してBigQueryのデータを用いてアプリ内プロモーションを送信できます。

もぐめっとの所感

年々Firebaseは便利になって大きいところでも小さいところでも、手が届くようになってきたなぁと感じます。

Stripeとかはとくに今後のサービス作りに衝撃を与えたのではないかと思います。

また、地味ですけどGAのAPI公開とかはマーケティング業界におおきな変革が訪れる様になったのかなと思います。
管理画面と連携してGAのデータを表示するとかもできるようになると思うのでより分析が捗ることかと思います。(エンジニア陣は実装頑張れ・・・)

今後のFirebaseに益々期待です!

mogmet
virapture株式会社CEO。アプリからインフラまでなんでもやります。firebase使ってサクッと作るのが好き。 ワンナイト人狼作ってます。 あとはこのへんみてください。 https://mogmet.com/ https://virapture.com/
https://virapture.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away