すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:iOS

最終更新日:Jan 17, 2025

スイッチ構成とは、新しいバージョンをリリースすることなく、クライアントコードの処理ロジックを動的に変更できる機能です。 クライアントは、バックエンドによって動的に構成されたスイッチ値に基づいて、関連する処理を制御します。 スイッチ構成サービスを使用すると、さまざまなスイッチを構成、変更、およびプッシュできます。 スイッチとは、キーと値のペアを指します。

mPaaS は、スイッチ構成を実装するための構成管理サービス (ConfigService) を提供します。 デフォルトのプルロジックは、コールドスタート時、またはバックグラウンドからフォアグラウンドに戻るときに 1 回プルすることです。最後のプルから 30 分以上経過している場合は、プルもトリガーされます。 同時に、構成管理サービスは、即時プルインターフェイスと構成項目変更の監視ロジックも提供するため、構成が変更されるとすぐに更新できます。

スイッチ構成管理を実現するには、対応する iOS SDK を追加し、プロジェクトを構成して、構成を読み取る必要があります。

スイッチ構成を使用するには、MDS の更新リリースインターフェイスを呼び出す必要があります。これにより、対応するインターフェイス呼び出し料金が発生します。 インターフェイス呼び出しの課金手順については、「後払いモード」の MDS 課金項目の説明をご参照ください。

前提条件

プロジェクトは mPaaS に接続されています。 詳細については、「ネイティブフレームワークに基づくアクセスと Cocoapods の使用」をご参照ください。

このタスクについて

このドキュメントでは、スイッチ構成コードサンプルに基づいて、スイッチ構成を詳細に統合する方法を紹介します。

SDK の追加

cocoapods-mPaaS プラグインを使用して SDK を追加します。

手順は次のとおりです。

  1. Podfile で、mPaaS_pod "mPaaS_Config" を使用して、スイッチ構成コンポーネントの依存関係を追加します。

    config

  2. Cocoapods ユーザーガイドを参照して、pod install または pod update を実行してください。

プロジェクトの構成

説明

この手順は、ベースライン 10.1.32 に適用されます。 プロジェクト構成機能は、ベースライン 10.1.60 および 10.1.68 に組み込まれています。 したがって、ベースライン 10.1.60 または 10.1.68 を使用する場合、この手順は無視できます。

mPaaS は、スイッチ構成機能を サービスにカプセル化します。 使用する前に、次の図に示すように、サービスマネージャーにこのサービスを登録する必要があります。

Register the switch configuration service

構成の読み取り

スイッチキーの値は、mPaaS コンソールで動的にリリースできます。 左側のナビゲーションウィンドウで、モバイル配信サービス構成管理構成キー > を選択します。 をクリックして、詳細な構成を表示します。

次のステップ

スイッチ値の取得

mPaaS コンソールで、モバイル配信サービス > 構成管理 に必要なスイッチ設定項目を追加し、プラットフォーム、ホワイトリスト、パーセンテージ、バージョン、デバイスモデル、iOS バージョンなどの情報に基づいて対象配信構成を設定します。詳細な操作については、「Android/iOS の構成を管理する」をご参照ください。

スイッチキーがコンソールからリリースされると、クライアントは関連インターフェイスを呼び出すことで、スイッチキーに対応するキー値を取得できます。

+ (void)testStringForKey
{
     id<APConfigService>configService = [DTContextGet() findServiceByName:@"APConfigService"];
    NSString *configValue = [configService stringValueForKey:@"BillEntrance"];
    assert (configValue && [configValue isKindOfClass:[NSString class]]);
}
説明

スイッチキー値は、RPC API を呼び出すことによって取得されます。 RPC API の呼び出しは必ずしも成功するとは限りません。 したがって、キー値の取得に失敗した場合のローカル処理ロジックをクライアントで考慮する必要があります。 クライアントのローカルロジックにデフォルトのスイッチ値を設定することをお勧めします。 コンソールが新しいスイッチ値を配信するときにクライアントが新しい構成ロジックを使用できるようにし、クライアントがキー値の取得に失敗したときにローカルのデフォルトロジックを使用できるようにすることができます。

高度な操作

  • クライアントがスイッチ構成をプルするタイミング:

    • アプリケーションのコールドスタート時

    • アプリケーションがフォアグラウンドに戻ってから 30 分後

      説明

      30 分の間隔はデフォルト値です。 mPaaS コンソールで、モバイル配信サービス の下の 構成スイッチ管理 ページで Load_Config_Interval スイッチを追加することで、間隔を変更できます。手順の詳細については、「Android/iOS の構成を管理する」をご参照ください。

      config

  • スイッチ値の変更を動的に監視する

    • 指定されたキーのオブザーバーを追加して、スイッチ値の変更を動的に監視できます。屏幕快照 2018-12-28 12

    • クライアントがスイッチ構成をプルすると、コールバックメソッドで指定されたキーの最新のスイッチ値を取得できます。屏幕快照 2018-12-28 12

  • スイッチ値の強制プル: SDK は、コンソールの最新構成を強制的にプルするメソッドを提供します。屏幕快照 2018-12-28 12