51
22

More than 1 year has passed since last update.

Firebase Summit 2022で発表された新機能をまとめ紹介

Last updated at Posted at 2022-10-18

こんにちは。virapture株式会社でCEOしながらラグナロク株式会社でもCKOとして働いている@mogmetです。
mogmet.jpg
最近大きいライフイベントが起きて忙しい毎日を送ってます。

本日はFirebase Summit 2022で新機能がいくつか発表されたのでその内容について共有させていただきます。

主な内容は下記から引用しております。

では早速紹介します!

Firebase HostingでWebアプリをデプロイ

Next.jsやAngular Universalなどの動的なWebフレームワークを簡単にデプロイできるようにすることができるようになりました!

firebase deployを実行するだけで使用しているフレームワークを自動的に検出し、ビルドを実行し、必要に応じてCloud Functionを生成し、必要な構成をセットアップしてデプロイ全体を処理します。
また、Vite、Preact、Lit、Svelte などのフレームワークを使用したクライアント側ビルドのサポートも追加しました。

deploy

firebase experiments:enablewebframeworksを実行することで機能を有効化できます。

Firestoreの新機能

image.png

3つの新機能が追加されました。

Count() 関数

image.png

実際のドキュメントを読み込まずに、クエリを実行したり、コレクションから読み取ったりするときに、一致するドキュメントの数を取得できるようになりました。

web sdkではgetCountFromServerという関数が追加されているようです。
image.png

こちらは以前もぐめっとの記事でも紹介しているのでご参照いただけたら幸いです。

スケーラブルな BaaS

Firestoreのコア機能が改善され、ハードリミットなしでデータベースの書き込みと接続を処理できるようになりました。
これにより、大きなトラフィックスパイクによるアプリの拡張とサポートが容易になります。

Time to live (TTL)

ドキュメントの有効期間を決定するドキュメント内のフィールドを指定できるようになりました。Firestoreは有効期限が切れたときに各ドキュメントを削除するため、データ保持ポリシーの管理に時間を費やす必要がなくなり、ストレージ コストを節約できます。

認証とセキュリティルールでユーザーとデータを保護

Google Cloud Identity Platformと連携して4つの認証に関わる機能が使えるようになりました。
(使用するためにはコンソールからFirebase Authenticationインスタンスをアップグレードする必要があります。)
さらに、Cloud Storageのセキュリティールールにも更新が入っております。

多要素認証 (MFA)

多要素認証を導入することでパスワードが漏洩してもユーザアカウントを保護できるようになりました。

こちらの導入方法は以前もぐめっとが紹介してますのでご参照ください。

デモではメールアドレスと電話番号の多要素認証の挙動をデモしてくれました。

メールアドレスを登録します。
image.png

emulatorのコンソールでurlが表示されるので、そのURLでメールアドレスを認証します。
image.png

次に電話番号を登録します。
image.png

emulatorのコンソールに認証番号が表示されます。
image.png

入力することで、、
image.png

MFAの登録が完了します。
image.png

OpenID Connect 標準と SAML のサポート

カスタム統合を待つことなく、SlackやDiscordなどの幅広いサインイン方法を使用できます。

Blocking Functions

サインインまたはサインアップ時にCloud Functionsを起動し、任意のロジックを適用できるブロッキング関数を追加しました。
例えば、登録されたメールアドレスのドメインが見知らぬドメインなら登録を弾くといったことができるようになります。

image.png

監査機能

認証設定に対するすべての変更が監査可能になりました。
Authenticationの使用状況を把握できるようにするために、Authenticationに完全な監査とアクティビティログを追加しました。

Cloud Storageのセキュリティールールでクロスサーバーリクエストをサポート

image.png

各ユーザーが自分のデータのみにアクセスできるようにするクロスサーバーリクエストをサポートするようにしました。
この新しい機能により、Firestore内のデータに基づいてストレージ ファイルへのアクセスを保護するための柔軟な権限を構築できます。

もぐめっと的にはstorageのルールは今までわりとゆるっとした形で運用してましたが、firestoreからデータを取得することができるようになったのでより強固なセキュリティールールを記載できそうと感じております。

新しい拡張機能マーケットプレイス

ニーズに合ったFirebase Exntesionsを見つけるための新しいサーフェスであるExtensions Marketplaceができました。

全文検索、カテゴリ、サービスプロバイダ、firebaseのプロダクトなどから検索できるようになっています。

image.png

また、検索、チャット、支払い処理をアプリに追加するための新しいサードパーティ拡張機能として下記も追加導入しています。

Vonage拡張機能: ビデオチャットを使用して顧客にテクニカルサポートを提供できます。
Meilisearch拡張機能: Firestore でドキュメントを簡単に検索できます。
Purchasely拡張機能: アプリ内支払いを簡単に統合できます。

Test Lab を使用してデバイス全体でより効率的なテストを行う

テスト構成の標準化を支援するために、Gradle Managed DevicesでのFirebase Test Labサポートを導入しました。

この統合により、Android の Gradleマネージドデバイスで導入されたシンプルで一貫性のあるテスト構成形式を使用して、Firebase Test Labでサポートされているすべてのデバイスに1つのコマンドラインでアクセスできるようになりました。
Firebase コンソールにアクセスする必要はありません。

下記のように指定デバイスでのテストが可能です。
image.png

もぐめっと的にはCIでFirebase Test Labが使えるようになるのでかなりの品質向上が見込めるのではないかと感じております!

CrashlyticsとAndroid Studioの統合により、さらに多くの機能が利用可能に。

先日のGoogle I/O 2022でAndroid StudioでCrashlyticsのログを参照できるApp Quality Insights Windowを発表しました。
image.png
この機能がAndroid Studio Electric Eel のベータチャネルに移行しました。

Android Studio Flamingoの最新のCanary リリースではCrashlytics機能をAndroid Studioに直接導入したので3つ紹介します。

Play Tracksのクラッシュフィルタリング

image.png

Play Tracksでクラッシュをフィルタリングできるようになりました。
つまり、内部ビルドで発生しているクラッシュを簡単に除外し、本番環境のユーザーに影響を与える問題に優先順位を付けることができます。

App Quality Insights Windowに信号を追加

image.png
信号を追加することで、クラッシュの特徴 (Early, Fresh, Regressed, Repetitiveなど) をすばやく特定できるようにしました。

クラッシュにメモを追加

image.png
クラッシュにメモを追加して、修正の進行状況をチームに知らせ、Android Studioから直接問題をクローズできるようになりました。

Flutterとcrashlyticsの機能を強化

image.png

--split-debug-infoをサポートしました。
CrashlyticsでFlutterのどこの部分がクラッシュを起こすかを終えるようになっています。
image.png

この機能はFlutter 2.9.0から使うことができます。
iOSは数カ月後にサポート予定のようです。

Remote Config のパーソナライズでユーザー エンゲージメントを向上

image.png

Remote Configのパーソナライゼーションは、Google の機械学習の力を利用して、個々のユーザーエクスペリエンスを自動的に最適化し、ユーザーエンゲージメント時間、機能の利用、広告クリックなど、必要な目標を最大化するのに役立ちます。
アプリ内の特定のタイプのイベントの最適化に加えて、パーソナライゼーションではそのイベントの値も考慮されます。

RemoteConfigの値変更方法にPersonalizationを選択することでパーソナライゼーションが使えます。
image.png
変化する値を設定後、、
image.png
目標となるイベントを設定します。(今回は広告表示数)
image.png
配信ターゲットを設定します。
image.png
名前をつけて配信します。
image.png
パーソナライズの結果を確認することができます。
image.png

モバイル写真編集アプリのコレクションを作成しているLyrebird Studioは、Remote Config のパーソナライゼーションを使用して、最小限の作業で広告収入を4%増加させました。

まとめ

image.png
まとめると下記のような発表でした。

  • Firebase Hostingでは最新のウェブアプリをデプロイできるようになりました
  • FirestoreではCount関数、スケーラビリティの向上、TTLの実装などが増えました
  • 認証では、Google Cloud Identity Platformと提携して認証方法が増えました。
  • Firebase拡張機能を探す新しいサイトがオープンしました
  • Android StudioとCrashlytics、Test Labとの連携が強化されました
  • Remote Configのパーソナライズで挙動を最適化しやすくなりました

もぐめっと的にはFirestoreのcount関数がめちゃくちゃ熱いです・・・!今後の関数実装により期待しております。

最後に、ワンナイト人狼オンラインというゲームを作ってます!よかったら遊んでね!

他にもCameconOffcha、問い合わせ対応が簡単にできるCSmart、フリーランスのコミュニティのNextFreelanceといったサービスも作ってるのでよかったら使ってね!

また、チームビルディングや技術顧問、Firebaseの設計やアドバイスといったお話も受け付けてますので御用の方は弊社までお問い合わせください。

ラグナロクでもエンジニアやデザイナーのメンバーを募集しています!!楽しくぶち上げたい人はぜひお話ししましょう!!

51
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
22