スイッチ設定は、新しいアプリケーションをリリースすることなく、クライアント側のコードロジックを動的に変更します。クライアントはバックエンドからスイッチの値をプルし、その動作を制御します。各スイッチはキーと値のペアであり、スイッチ設定サービスを通じて設定、変更、プッシュできます。
mPaaS は、スイッチ設定用に構成管理サービス (ConfigService) を提供します。デフォルトでは、クライアントはコールドスタート時に設定をプルします。また、最後のプルから 30 分 以上経過している場合、アプリケーションがフォアグラウンドに戻ったときにも設定をプルします。ConfigService は、即時プルのための API と変更を検出するためのリスナーも提供し、設定が迅速に更新されるようにします。
スイッチ設定を使用するには、iOS SDK を追加し、プロジェクトを設定し、設定を読み取ります。
スイッチ設定は、Mobile Delivery Service (MDS) の更新および公開 API を呼び出すため、料金が発生します。課金の詳細については、「料金」のリアルタイムリリースに関するセクションをご参照ください。
前提条件
プロジェクトが mPaaS と統合されていること。詳細については、「CocoaPods を使用した既存プロジェクトへの接続」をご参照ください。
このタスクについて
このトピックでは、スイッチ設定のコード例を使用してプロセスを説明します。
SDK の追加
cocoapods-mPaaS プラグインを使用して SDK を追加します。
次の手順に従ってください。
-
Podfile に、構成管理コンポーネントの依存関係
mPaaS_pod "mPaaS_Config"を追加します。
-
CocoaPods 利用ガイド を参照し、必要に応じて
pod installまたはpod updateを実行して統合を完了します。
プロジェクトの設定
このステップはバージョン 10.1.32 でのみ必要です。バージョン 10.1.60 および 10.1.68 ではプロジェクト設定が組み込まれているため、このステップはスキップできます。
mPaaS は、スイッチ設定を サービス としてカプセル化します。使用する前に、次のコード例に示すように、サービスマネージャーにサービスを登録する必要があります。

設定の読み取り
mPaaS コンソールからスイッチキーの値を動的に公開できます。ナビゲーションペインで、[Real-time Release] > [Configuration Management] > [Configuration Key] を選択して詳細を表示します。
次のステップ
スイッチ値のプル
mPaaS コンソールで [Real-time Release] > [Configuration Management] に移動して、設定項目を追加します。プラットフォーム、ホワイトリスト、パーセンテージ、バージョン番号、デバイスモデル、iOS バージョンなどの基準に基づいて設定をプッシュできます。詳細については、「Android/iOS の構成管理」をご参照ください。
コンソールでスイッチキーを公開した後、クライアントは API を呼び出してその値をプルできます。
+ (void)testStringForKey
{
id<APConfigService>configService = [DTContextGet() findServiceByName:@"APConfigService"];
NSString *configValue = [configService stringValueForKey:@"BillEntrance"];
assert (configValue && [configValue isKindOfClass:[NSString class]]);
}
スイッチキーの値は、リモートプロシージャコール (RPC) によってプルされますが、この処理は失敗する可能性があります。プルの失敗を処理するために、ローカルクライアントのロジックを実装してください。ローカルクライアントのロジックでスイッチのデフォルト値を設定することを推奨します。コンソールから新しいスイッチが公開されると、クライアントは新しい設定を使用します。プルに失敗した場合、クライアントはローカルのデフォルトロジックにフォールバックします。
高度なガイド
-
クライアントがスイッチ設定をプルする場合:
-
アプリケーションのコールドスタート時にプルがトリガーされます。
-
アプリケーションがフォアグラウンドに戻ったとき、最後のプルから 30 分以上経過している場合、クライアントは再度設定をプルします。
説明デフォルトの間隔は 30 分です。コンソールの [Real-time Release] > [Switch Configuration Management] ページで
Load_Config_Intervalスイッチを追加することで、この間隔を変更できます。詳細については、「Android/iOS の構成管理」をご参照ください。
-
-
スイッチ変更の動的なリッスン
-
指定されたキーにオブザーバーを追加して、スイッチ値の変更を動的にリッスンします。

-
クライアントがスイッチ設定をプルするときに、コールバックメソッドで指定されたキーの最新の値をプルします。

-
-
スイッチ値の強制プル:SDK は、コンソールから最新の設定を即時に強制プルするためのメソッドを提供します。
