よくある質問
この記事ではフィーチャーフラグに関するよくある質問にお答えします。
機能とサポート
Brazeのフィーチャーフラグはどのプラットフォームでサポートされていますか?
Brazeは、iOS、Android、Webプラットフォームで以下のSDKバージョン要件でフィーチャーフラグをサポートしています。
他のプラットフォームでのサポートが必要ですか?チームまでメールでお問い合わせください:feature-flags-フィードバック@braze.com。
フィーチャーフラグの実装にはどの程度の作業が必要ですか?
フィーチャーフラグは数分で作成・統合できます。
作業の大部分は、ロールアウトを予定している新機能を開発チームが構築することに関わるものです。しかし、フィーチャーフラグの追加自体は、アプリやWebサイトのコードにIF/ELSEステートメントを記述するだけのシンプルなものです。
1
2
3
4
5
6
7
8
import { getFeatureFlag } from "@braze/web-sdk";
if (getFeatureFlag("new_shopping_cart").enabled) {
// Show the new homepage your team has built
}
else {
// Show the old homepage
}
1
2
3
4
5
if (braze.getFeatureFlag("new_shopping_cart").getEnabled()) {
// Show the new homepage your team has built
} else {
// Show the old homepage
}
1
2
3
4
5
if (braze.getFeatureFlag("new_shopping_cart")?.enabled == true) {
// Show the new homepage your team has built
} else {
// Show the old homepage
}
マーケティングチームはフィーチャーフラグをどのように活用できますか?
マーケティングチームは、機能がユーザーの一部にのみ有効化されている場合に、製品の告知(製品ローンチメールなど)を調整するためにフィーチャーフラグを使用できます。
例えば、Brazeのフィーチャーフラグを使用して、アプリのユーザーの10%に新しいロイヤルティプログラムをロールアウトし、キャンバスのフィーチャーフラグステップを使用して、同じ10%の有効化されたユーザーにメール、プッシュ、またはその他のメッセージングを送信できます。
プロダクトチームはフィーチャーフラグをどのように活用できますか?
プロダクトチームは、新機能の段階的なロールアウトやソフトローンチを実施し、すべてのユーザーに提供する前にKPIや顧客フィードバックを監視するためにフィーチャーフラグを使用できます。
プロダクトチームは、フィーチャーフラグプロパティを使用して、ディープリンク、テキスト、画像、その他のダイナミックなコンテンツなど、アプリ内のコンテンツをリモートで配信できます。
また、キャンバスのフィーチャーフラグステップを使用して、A/Bスプリットテストを実施し、機能が無効化されたユーザーと比較して新機能がコンバージョン率にどのような影響を与えるかを測定できます。
開発チームはフィーチャーフラグをどのように活用できますか?
開発チームは、新機能のリリースに伴うリスクを軽減し、深夜にコード修正を急いでデプロイする事態を回避するためにフィーチャーフラグを使用できます。
フィーチャーフラグの背後に新しいコードを隠してリリースすることで、チームはBrazeダッシュボードからリモートで機能のオン・オフを切り替えることができ、新しいコードのプッシュやアプリストアの更新承認を待つ遅延を回避できます。
フィーチャーフラグの展開とターゲティング
フィーチャーフラグを特定のユーザーグループにのみ展開できますか?
はい、Brazeでメールアドレス、user_id、またはユーザープロファイルの任意の属性を使用して特定のユーザーをターゲットにするセグメントを作成できます。その後、そのセグメントの100%に対してフィーチャーフラグをデプロイします。
ロールアウト率を調整すると、以前に有効化グループに割り当てられたユーザーにどのような影響がありますか?
フィーチャーフラグのロールアウトは、デバイスやセッションをまたいでユーザーに対して一貫性を保ちます。
- フィーチャーフラグがランダムなユーザーの10%に展開された場合、その10%は有効化された状態が維持され、そのフィーチャーフラグの存続期間を通じて持続します。
- ロールアウトを10%から20%に引き上げた場合、同じ10%は有効化されたままで、さらに新たに10%のユーザーが有効化グループに追加されます。
- ロールアウトを20%から10%に引き下げた場合、最初の10%のユーザーのみが有効化された状態のままになります。
この戦略により、ユーザーにアプリ内で一貫したエクスペリエンスが提供され、セッション間で体験が切り替わることがなくなります。もちろん、機能を0%に無効化すると、すべてのユーザーがフィーチャーフラグから削除されます。これは、バグを発見した場合や機能を完全に無効化する必要がある場合に役立ちます。
テクニカルトピック
フィーチャーフラグを使用してBraze SDKの初期化タイミングを制御できますか?
いいえ、SDKは現在のユーザーのフィーチャーフラグをダウンロードおよび同期するために初期化される必要があります。つまり、フィーチャーフラグを使用して、Brazeで作成またはトラッキングされるユーザーを制限することはできません。
SDKはどのくらいの頻度でフィーチャーフラグを更新しますか?
フィーチャーフラグはセッション開始時およびアクティブユーザーの切り替え時に更新されます。また、SDKの更新メソッドを使用して手動で更新することもできます。フィーチャーフラグの更新は5分に1回にレート制限されています(変更される場合があります)。
適切なデータプラクティスとして、フィーチャーフラグを頻繁に更新しすぎないことが推奨されます(頻繁すぎるとレート制限がかかる可能性があります)。そのため、ユーザーが新しい機能を操作する前や、必要に応じてアプリ内で定期的に更新するのが最善です。
ユーザーがオフラインの場合、フィーチャーフラグは利用できますか?
はい、フィーチャーフラグは更新後にユーザーのデバイスにローカルに保存され、オフラインでもアクセスできます。
セッション中にフィーチャーフラグが更新された場合はどうなりますか?
フィーチャーフラグはセッション中に更新される場合があります。特定の変数や設定が変更された場合にアプリを更新したいシナリオがあります。一方で、UIの表示が突然変わるのを避けるために、アプリを更新したくないシナリオもあります。
これを制御するには、フィーチャーフラグの更新をリッスンし、どのフィーチャーフラグが変更されたかに基づいてアプリを再レンダリングするかどうかを判断してください。
グローバルコントロールグループのユーザーがフィーチャーフラグ実験を受信しないのはなぜですか?
グローバルコントロールグループのユーザーに対してフィーチャーフラグを有効にすることはできません。つまり、グローバルコントロールグループのユーザーはフィーチャーフラグ実験に参加することもできません。
その他のご質問がある場合
ご質問やフィードバックがありましたら、チームまでメールでお問い合わせください:feature-flags-フィードバック@braze.com