こんにちは。virapture株式会社でCEOしながらラグナロク株式会社でもCKOとして働いている@mogmetです。
最近大きいライフイベントが起きて忙しい毎日を送ってます。
本日はFirebase Summit 2022で新機能がいくつか発表されたのでその内容について共有させていただきます。
主な内容は下記から引用しております。
では早速紹介します!
Firebase HostingでWebアプリをデプロイ
Next.jsやAngular Universalなどの動的なWebフレームワークを簡単にデプロイできるようにすることができるようになりました!
firebase deployを実行するだけで使用しているフレームワークを自動的に検出し、ビルドを実行し、必要に応じてCloud Functionを生成し、必要な構成をセットアップしてデプロイ全体を処理します。
また、Vite、Preact、Lit、Svelte などのフレームワークを使用したクライアント側ビルドのサポートも追加しました。
firebase experiments:enablewebframeworks
を実行することで機能を有効化できます。
Firestoreの新機能
3つの新機能が追加されました。
Count() 関数
実際のドキュメントを読み込まずに、クエリを実行したり、コレクションから読み取ったりするときに、一致するドキュメントの数を取得できるようになりました。
web sdkではgetCountFromServerという関数が追加されているようです。
こちらは以前もぐめっとの記事でも紹介しているのでご参照いただけたら幸いです。
スケーラブルな BaaS
Firestoreのコア機能が改善され、ハードリミットなしでデータベースの書き込みと接続を処理できるようになりました。
これにより、大きなトラフィックスパイクによるアプリの拡張とサポートが容易になります。
Time to live (TTL)
ドキュメントの有効期間を決定するドキュメント内のフィールドを指定できるようになりました。Firestoreは有効期限が切れたときに各ドキュメントを削除するため、データ保持ポリシーの管理に時間を費やす必要がなくなり、ストレージ コストを節約できます。
認証とセキュリティルールでユーザーとデータを保護
Google Cloud Identity Platformと連携して4つの認証に関わる機能が使えるようになりました。
(使用するためにはコンソールからFirebase Authenticationインスタンスをアップグレードする必要があります。)
さらに、Cloud Storageのセキュリティールールにも更新が入っております。
多要素認証 (MFA)
多要素認証を導入することでパスワードが漏洩してもユーザアカウントを保護できるようになりました。
こちらの導入方法は以前もぐめっとが紹介してますのでご参照ください。
デモではメールアドレスと電話番号の多要素認証の挙動をデモしてくれました。
emulatorのコンソールでurlが表示されるので、そのURLでメールアドレスを認証します。
OpenID Connect 標準と SAML のサポート
カスタム統合を待つことなく、SlackやDiscordなどの幅広いサインイン方法を使用できます。
Blocking Functions
サインインまたはサインアップ時にCloud Functionsを起動し、任意のロジックを適用できるブロッキング関数を追加しました。
例えば、登録されたメールアドレスのドメインが見知らぬドメインなら登録を弾くといったことができるようになります。
監査機能
認証設定に対するすべての変更が監査可能になりました。
Authenticationの使用状況を把握できるようにするために、Authenticationに完全な監査とアクティビティログを追加しました。
Cloud Storageのセキュリティールールでクロスサーバーリクエストをサポート
各ユーザーが自分のデータのみにアクセスできるようにするクロスサーバーリクエストをサポートするようにしました。
この新しい機能により、Firestore内のデータに基づいてストレージ ファイルへのアクセスを保護するための柔軟な権限を構築できます。
もぐめっと的にはstorageのルールは今までわりとゆるっとした形で運用してましたが、firestoreからデータを取得することができるようになったのでより強固なセキュリティールールを記載できそうと感じております。
新しい拡張機能マーケットプレイス
ニーズに合ったFirebase Exntesionsを見つけるための新しいサーフェスであるExtensions Marketplaceができました。
全文検索、カテゴリ、サービスプロバイダ、firebaseのプロダクトなどから検索できるようになっています。
また、検索、チャット、支払い処理をアプリに追加するための新しいサードパーティ拡張機能として下記も追加導入しています。
Vonage拡張機能: ビデオチャットを使用して顧客にテクニカルサポートを提供できます。
Meilisearch拡張機能: Firestore でドキュメントを簡単に検索できます。
Purchasely拡張機能: アプリ内支払いを簡単に統合できます。
Test Lab を使用してデバイス全体でより効率的なテストを行う
テスト構成の標準化を支援するために、Gradle Managed DevicesでのFirebase Test Labサポートを導入しました。
この統合により、Android の Gradleマネージドデバイスで導入されたシンプルで一貫性のあるテスト構成形式を使用して、Firebase Test Labでサポートされているすべてのデバイスに1つのコマンドラインでアクセスできるようになりました。
Firebase コンソールにアクセスする必要はありません。
もぐめっと的にはCIでFirebase Test Labが使えるようになるのでかなりの品質向上が見込めるのではないかと感じております!
CrashlyticsとAndroid Studioの統合により、さらに多くの機能が利用可能に。
先日のGoogle I/O 2022でAndroid StudioでCrashlyticsのログを参照できるApp Quality Insights Windowを発表しました。
この機能がAndroid Studio Electric Eel のベータチャネルに移行しました。
Android Studio Flamingoの最新のCanary リリースではCrashlytics機能をAndroid Studioに直接導入したので3つ紹介します。
Play Tracksのクラッシュフィルタリング
Play Tracksでクラッシュをフィルタリングできるようになりました。
つまり、内部ビルドで発生しているクラッシュを簡単に除外し、本番環境のユーザーに影響を与える問題に優先順位を付けることができます。
App Quality Insights Windowに信号を追加
信号を追加することで、クラッシュの特徴 (Early, Fresh, Regressed, Repetitiveなど) をすばやく特定できるようにしました。
クラッシュにメモを追加
クラッシュにメモを追加して、修正の進行状況をチームに知らせ、Android Studioから直接問題をクローズできるようになりました。
Flutterとcrashlyticsの機能を強化
--split-debug-info
をサポートしました。
CrashlyticsでFlutterのどこの部分がクラッシュを起こすかを終えるようになっています。
この機能はFlutter 2.9.0から使うことができます。
iOSは数カ月後にサポート予定のようです。
Remote Config のパーソナライズでユーザー エンゲージメントを向上
Remote Configのパーソナライゼーションは、Google の機械学習の力を利用して、個々のユーザーエクスペリエンスを自動的に最適化し、ユーザーエンゲージメント時間、機能の利用、広告クリックなど、必要な目標を最大化するのに役立ちます。
アプリ内の特定のタイプのイベントの最適化に加えて、パーソナライゼーションではそのイベントの値も考慮されます。
RemoteConfigの値変更方法にPersonalizationを選択することでパーソナライゼーションが使えます。
変化する値を設定後、、
目標となるイベントを設定します。(今回は広告表示数)
配信ターゲットを設定します。
名前をつけて配信します。
パーソナライズの結果を確認することができます。
モバイル写真編集アプリのコレクションを作成しているLyrebird Studioは、Remote Config のパーソナライゼーションを使用して、最小限の作業で広告収入を4%増加させました。
まとめ
- Firebase Hostingでは最新のウェブアプリをデプロイできるようになりました
- FirestoreではCount関数、スケーラビリティの向上、TTLの実装などが増えました
- 認証では、Google Cloud Identity Platformと提携して認証方法が増えました。
- Firebase拡張機能を探す新しいサイトがオープンしました
- Android StudioとCrashlytics、Test Labとの連携が強化されました
- Remote Configのパーソナライズで挙動を最適化しやすくなりました
もぐめっと的にはFirestoreのcount関数がめちゃくちゃ熱いです・・・!今後の関数実装により期待しております。
最後に、ワンナイト人狼オンラインというゲームを作ってます!よかったら遊んでね!
他にもCameconやOffcha、問い合わせ対応が簡単にできるCSmart、フリーランスのコミュニティのNextFreelanceといったサービスも作ってるのでよかったら使ってね!
また、チームビルディングや技術顧問、Firebaseの設計やアドバイスといったお話も受け付けてますので御用の方は弊社までお問い合わせください。
ラグナロクでもエンジニアやデザイナーのメンバーを募集しています!!楽しくぶち上げたい人はぜひお話ししましょう!!