機能フラグについて
機能フラグを使用すると、特定のユーザまたはランダムなユーザ選択に対して、機能をリモートで有効または無効にできます。重要なことは、追加のコードデプロイやアプリストアの更新なしに、本番環境で機能のオン/オフを切り替えることができることです。これにより、自信を持って新しい機能を安全に展開することができます。
Braze でフィーチャーフラグを作成する方法についてのステップを探していますか?[機能フラグの作成][3]を参照してください。
前提条件
機能フラグを使用するには、SDK が少なくとも次の最小バージョンで最新であることを確認します。
機能フラグの使用
機能フラグを使用して以下を実行します。
段階的な展開
機能フラグを使用すると、サンプリング母体の機能を徐々に有効にできます。たとえば、最初にVIP ユーザに新しい機能をソフト起動できます。この戦略は、新しい機能を一度に全員に配送することに伴うリスクを軽減するのに役立ち、バグの早期発見に役立ちます。
![ロールアウトトラフィックスライダの移動イメージが0% から100% へ][1]
たとえば、新しい”Live Chat Support”アプリへのリンクを追加して、より迅速なカスタマーサービスを行うことを決定したとします。この機能は、すべてのお客様に一度にリリースできます。しかし、広範なリリースには、次のようなリスクがあります。
- 私たちのサポートチームはまだトレーニング中で、お客様はリリース後にサポートチケットを開始できます。これは、サポートチームがより多くの時間を必要とする場合、私たちに余裕をもたらしません。
- 新しいサポートケースの実際の数量がわからないため、適切なスタッフが配置されていない可能性があります。
- サポートチームが圧倒された場合、この機能を再びすばやくオフにする戦略はありません。
- チャットウィジェットにバグが導入されている可能性があり、顧客に否定的な経験をさせたくない。
Braze 機能フラグを使用すると、機能を徐々に展開し、これらのすべてのリスクを軽減できます。
- “Live Chat Support”機能は、サポートチームが準備ができたと言ったときにオンにします。
- この新機能を有効にするユーザーはわずか10%で、適切なスタッフがいるかどうかを判断します。
- バグがある場合は、新しいリリースを急いで出荷する代わりに、この機能をすばやく無効にすることができます。
この機能を徐々に展開するには、create a feature flag named “Live Chat Widget.”
![Live Chat Widget という名前の例の機能フラグの詳細。ID はenable_live_chat です。この機能フラグの説明は、ライブチャットウィジェットがサポートページに表示されることを読み取ります。[7]
アプリコードでは、 Braze 機能フラグが有効になっている場合、Start Live Chat ボタンのみが表示されます。
```javascript import {useState} from “react”; import * as braze from “@braze/web-sdk”;
// Braze SDK から初期値を取得する const featureFlag = braze.getFeatureFlag(“enable_live_chat”); const [liveChatEnabled, setLiveChatEnabled] = useState(featureFlag.enabled);
// Braze SDK からアップデートを聴く braze.subscribeToFeatureFlagsUpdates(() => { const newValue = braze.getFeatureFlag(“enable_live_chat”).enabled; setLiveChatEnabled(newValue); });
// Braze SDK が有効になっていると判断した場合のみ、Live Chat を表示します return (<> お困りの場合 {liveChatEnabled && } </>)
```
アプリ変数のリモートコントロール
機能フラグを使用して、本番環境でアプリの機能を変更します。これは、アプリストアの承認により、すべてのユーザーに変更をすばやくロールアウトできないモバイルアプリでは特に重要です。
たとえば、私たちのマーケティングチームが、現在の販売とプロモーションをアプリのナビゲーションにリストアップしたいとします。通常、弊社のエンジニアは、変更には1週間のリードタイム、アプリストアのレビューには3日間を必要とします。しかし、感謝祭、ブラック・フライデー、サイバー・マンデー、ハヌッカ、クリスマス、お正月の2ヶ月以内には、これらの厳しい締め切り日には間に合わないでしょう。
機能フラグを使用すると、アプリのナビゲーションリンクのコンテンツをBraze でパワーアップでき、マーケティングマネージャが日数ではなく分数で変更できるようになります。
この機能をリモートで設定するには、navigation_promo_link
という新しい機能フラグを作成し、次の初期プロパティを定義します。
![汎用販売ページに向けたリンクとテキストプロパティを持つ機能フラグ][9]
アプリでは、Braze によるgetter メソッドを使用して、この機能フラグのプロパティを取得し、これらの値に基づいてナビゲーションリンクを構築します。
```javascript import * as braze from “@braze/web-sdk”; import {useState} from “react”;
const featureFlag = braze.getFeatureFlag(“navigation_promo_link”); // Check if the feature flag is enabled const [promoEnabled, setPromoEnabled] = useState(featureFlag.enabled); // Read the “link” property const [promoLink, setPromoLink] = useState(featureFlag.getStringProperty(“link”)); // “text”プロパティを読む const [promoText, setPromoText] = useState(featureFlag.getStringProperty(“text”));
return (<>