3.3K Views
June 26, 24
スライド概要
ウェルスナビ株式会社 技術広報チームの公式アカウントです。
Firebase Remote Config ロールアウト機能 で進化する!? モバイルアプリリリースフロー 北原 幹也 2024-06-26 Ebisu.mobile #6〜WWDC & Google I/O スペシャル!〜 1
⾃⼰紹介 北原 幹也(Kitahara Mikiya) ウェルスナビ株式会社 フロントエンド開発モバイルアプリ開発 ディレクター 経歴 ● 2023年7⽉⼊社 ● モバイルアプリ開発チーム:チーム責任者 ● 新規事業:テックリード 入社理由 ● “働く世代に豊かさを” というミッションの実現 2 @2024 WealthNavi Inc.
テーマ:Google I/O 2024 *1 *1 Google I/O 2024 https://developer.android.com/topic/architecture?hl=ja 3 @2024 WealthNavi Inc.
テーマ:Google I/O 2024 今年の話題は「Gemini」でしたが Firebase Remote Configの話をします FlutterのCameraX 対応 もやっと来た*2 ので悩みました...... *2 CameraX を使用して Flutter で完璧なカメラ エクスペリエンスを作成する https://io.google/2024/explore/aa629039-6d41-41bd-8446-3b0494a5a081/intl/ja/ 4 @2024 WealthNavi Inc.
Firebase Remote Configに関する発表‧ブログ ⽣成 AI を開発するための Firebase の新機能*3 Firebase Remote Config を使って⽣成 AI 機能を⾃信 を持って導⼊する*4 I/O '24 で発表された Firebaseの新機能*5 *3 ⽣成 AI を開発するための Firebase の新機能 https://io.google/2024/explore/8c3a958c-52f6-4c07-8798-897b260c177c/intl/ja/ *4 Firebase Remote Config を使って⽣成 AI 機能を⾃信を持って導⼊する https://io.google/2024/explore/1f3d82a1-99c5-4225-9f49-4d2cdaa94d28/intl/ja/ *5 I/O '24 で発表されたFirebaseの新機能 https://developers.googleblog.com/ja/whats-new-in-firebase-io-24/ 5 @2024 WealthNavi Inc.
アジェンダ 6 @2024 WealthNavi Inc.
アジェンダ 1. Firebase Remote Configの新機能 2. ロールアウト機能の利用方法と有効性 3. モバイルアプリのリリースフローは進化する? 4. まとめ 7 @2024 WealthNavi Inc.
1. Firebase Remote Configの新機能 8 @2024 WealthNavi Inc.
Firebase Remote Config の新機能 Remote Config ロールアウト 9 @2024 WealthNavi Inc.
Remote Config ロールアウトが⽣まれた背景 ロールアウトワークフロー をGeminiに要約してもらいました ● 課題 ○ 実際のユーザー環境でAI機能のパフォーマンスを評価する必要がある ○ 新機能、特にAI機能を全ユーザーにリリースするのはリスクが伴う ● 解決策 ○ ロールアウトワークフローによる解決 ■ 統合モニタリングによる情報に基づいた判断ができる ■ ロールアウト/ロールバックの迅速な判断ができる ■ ユーザーエンゲージメント、アプリエラーなどの主要指標のリアルタイム表⽰ 10 @2024 WealthNavi Inc.
2. ロールアウト機能の利⽤⽅法と有効性 11 @2024 WealthNavi Inc.
2-1. ロールアウト機能の利⽤⽅法 12 @2024 WealthNavi Inc.
ロールアウト機能の利⽤⽅法 *6 ● 事前準備 ○ Firebase iOS SDK v10.24.0 以降 ○ Firebase SDK for Android SDK v21.6.0 以降(Firebase BoM v32.6.0 以降) ○ Remote Configのパラメーターをあらかじめ作成しておく ○ Remote Config のリアルタイム更新対応*7 ● 設定⽅法 1. ロールアウトタブを開いて、「ロールアウトを作成」ボタンを押下 2. パラメータを選択する 3. ターゲット条件を選択する 4. ロールアウトの値と割合を設定する 5. ロールアウトの名前を⼊⼒して「保存」ボタンを押下 6. 変更を反映する *6 Remote Config のロールアウト https://firebase.google.com/docs/remote-config/rollouts?hl=ja *7 リアルタイム Remote Config について https://firebase.google.com/docs/remote-config/real-time 13 @2024 WealthNavi Inc.
ロールアウト機能の利⽤⽅法 (図表) 2. パラメータを選択する 3. ターゲット条件を選択する 4. ロールアウトの値 と割合を設定 5. ロールアウトの名前 を⼊⼒ ‧条件を新規作成することが出来る ‧⼀度作成した条件を設定できる 14 @2024 WealthNavi Inc.
ロールアウト機能の利⽤⽅法 (詳細設定) 4. ロールアウトの値と割合を設定 の詳細 ● ロールアウトの値 ○ 有効な値 ■ 今回は Booleanですが、パラメーター作成時の値を選択できます (⽂字列や数字、json etc.) ○ ランダムパーセンテージ ■ 0から100まで設定できます ● ロールアウトの割合 ○ 有効 ■ 変更された値のユーザー割合 ○ コントロール: ■ 有効数が50%未満の場合は⽐較のため、 変更なしユーザーの割合をあわせて設定してくれる 15 @2024 WealthNavi Inc.
ロールアウト機能の画⾯イメージ Firebase デモ プロジェクト より *8 ● ロールアウトの概要 ○ 更新⽇、パラメータ、ターゲット、デフォルト値、有効値 ○ 各セグメントのユーザー数が表⽰される ● クラッシュ数の確認:アプリエラー ○ コントロールに対して、どれくらいクラッシュが発⽣しているかを確認できる ● アナリティクス:ユーザーエンゲージメント ○ コントロールに対して、どれくらいビジネス指標が効果的かを確認できる *8 Firebase デモ プロジェクト https://support.google.com/firebase/answer/7157552 16 @2024 WealthNavi Inc.
ロールアウト‧ロールバック ロールバック or ロールアウト を押下して、新しい割合を設定するだけ! 17 @2024 WealthNavi Inc.
2-2. 万が⼀、ロールバックを⾏った場合は...... 18 @2024 WealthNavi Inc.
ロールバック:注意⽂が表⽰される 気になる⽂⾔が...... 拡⼤すると ● 有効なグループまたはコントロール グループに割り当てられているユーザーは、 それらのグループで引き続きモニタリングされるため、問題が解決されたかどうかを確認できます。 19 @2024 WealthNavi Inc.
ロールアウトのモニタリングの詳細 ロールアウトの結果を理解する*9 → ロールアウト グループ メンバーシップについて*10 ロールアウト グループの割り当ては、ロールアウトのすべてのフェーズで⼀貫しています。つまり、同 じロールアウト内で割合を 0% に減らすと、すべてのユーザーが Remote Config テンプレートで定義さ れたパラメータ値を受け取る状態に戻ります。後でロールアウトの割合を上げることにした場合、以前 の有効グループまたはコントロール グループに所属していたユーザーは、元のグループに戻り、それら のグループと⼀致する値を受け取ります。 ⼀度ゼロにしても再び引き上げた場合、 以前の有効グループに所属していたユーザーは 元のグループに戻る! *9 ロールアウトの結果を理解する https://firebase.google.com/docs/remote-config/rollouts/about?hl=ja#understand-rollout-results *10 ロールアウト グループ メンバーシップについて https://firebase.google.com/docs/remote-config/rollouts/about?hl=ja#understand-rollout-membership 20 @2024 WealthNavi Inc.
2-3. 通常のパラメータ、A/Bテストとの違いは? 21 @2024 WealthNavi Inc.
パラメータ設定時の条件でもパーセンテージロールアウトはできる ユーザーエンゲージメント、アプリエラーなどの主要指標のリアルタイム表⽰が難しい 22 @2024 WealthNavi Inc.
ABテストとの違いは?*11 *11 ロールアウトと A/B テストの使い分け https://firebase.google.com/docs/remote-config/rollouts/about?hl=ja#when-use 23 @2024 WealthNavi Inc.
注意点 ポリシーと制限があります A/B Testing のテストと Remote Config のロールアウトの合計テスト上限は 24 です。 たとえば、A/B テストを 12 回実⾏している場合、ロールアウトは 12 回に制限されま す。 24 @2024 WealthNavi Inc.
3. モバイルアプリのリリースフローも進化する? 25 @2024 WealthNavi Inc.
これまでのモバイルアプリリリースフロー ストア 事前確認版 QA版 開発完了 Firebase App Distribution QA完了 iOS TestFlight ストア版 動作確認 完了 Android Playストア クローズドテスト 26 iOS AppStore 段階リリース で ストア公開 Android Playストア 製品版 @2024 WealthNavi Inc.
ロールアウト機能があるモバイルアプリリリースフロー ストア公開は段階リリースせず100%で公開することができる! ストア 事前確認版 QA版 開発完了 Firebase App Distribution QA完了 ストア版 動作確認 完了 ロールアウト機能 100% ストア公開 0% ユーザー公開 10% ユーザー公開 30% ユーザー公開 100% ユーザー公開 RemoteConfigで 公開ユーザー数を段階的に制御 27 @2024 WealthNavi Inc.
段階リリースの各機能使い分け ● ストアの段階リリース機能:アプリ全体に関わる機能のリリース ○ リファクタリング ○ 新OS対応 ○ ライブラリの更新 ● Remote Config ロールアウト機能:⼤きな機能追加 ○ サーバーサイドAPIを含めた機能追加 ○ featureモジュールを追加する⼤きさの機能追加 ○ 強制アップデートが必要な機能追加 ● Remote Config ABテスト機能:UIの変更‧検証 ○ プレゼンテーション層の変更の検証 ○ コンテンツの出し分けによる検証 28 @2024 WealthNavi Inc.
4. まとめ 29 @2024 WealthNavi Inc.
まとめ Remote Configロールアウト機能で、モバイルアプリリリースをより安全に! 従来の段階リリースでは、影響範囲の把握が難しくhotfixリリースは全ユーザー公開せざる を得ませんでした。Remote Configロールアウト機能はグループ単位での段階リリースを実現し、 よりきめ細かな制御を可能にします。 ● ストア段階リリースとは異なり、ユーザーをランダムに選択する必要がなく 影響範囲を明確に把握できます。 ● 強制アップデートが必要な場合や不安定な新機能でも、段階的にリリースして ユーザーからのフィードバックを収集しながら安全に提供できます。 この機能はAI機能の改善だけでなく、モバイルアプリ全体のリリースフローを⾰新する可能性を 秘めています。段階リリースの種類を理解し適切に活⽤することで、より安⼼‧安全に最新機能を 提供できるリリースフローを構築しましょう! 30 @2024 WealthNavi Inc.
【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 31 @2024 WealthNavi Inc.
ご清聴ありがとうございました 32 @2024 WealthNavi Inc.
Appendix.Ⅰ ウェルスナビでは複数の開発系ポジションで採⽤を強化しています。 主な採⽤中職種 ● ● ● ● ● バックエンド開発エンジニア エンジニアリングマネージャー モバイルエンジニア(Android) SRE ITサービスマネジメント 採⽤情報詳細 ● 下記URL(QRコード)よりご確認ください。 https://hrmos.co/pages/wealthnavi 採⽤に関する お問い合わせ先 ● ● 「カジュアルに話を聞いてみたい」という温度感でも構いません。 ウェルスナビ採⽤チーム([email protected])までご連 絡お待ちしております。 33 @2024 WealthNavi Inc.
Appendix.Ⅱ 定期的にWealthNavi開発(技術‧組織)に関する情報を発信しています。 開発者ブログ 技術広報に関する お問い合わせ先 https://zenn.dev/p/wn_engineering ● ● ウェルスナビ技術広報チーム([email protected]) 34 @2024 WealthNavi Inc.