iOS SDKを最新の状態に保つ仕組み
iOS SDKでは、プロジェクトの設定が自動的に同期されます。同期を開始するためにAPIを呼び出す必要はありません。SDKがバックグラウンドでポーリングループを実行し、更新を確認してローカルにキャッシュされた設定と比較し、変更があれば更新します。
プロジェクトの設定には、次の項目が含まれます。
-
有効なテストとその設定
-
バリエーションの定義とトラフィックの割り当て
-
オーディエンスのターゲティングルール
-
目標の設定
-
テストのステータス更新
ポーリングの動作
SDKのポーリングループはiOSアプリのライフサイクルに連動しており、必要なときに実行され、不要なときには停止します。
ポーリングが自動的に開始されるタイミング
-
アプリがフォアグラウンドに移行したとき
-
ネットワーク接続が利用可能になったとき
ポーリングが自動的に停止するタイミング
-
アプリがバックグラウンドに移行したとき
-
アプリが終了したとき
つまり、バックグラウンドではポーリングが実行されません。そのため、SDKはiOSのバックグラウンド実行ポリシーに準拠し、バッテリーを消耗しません。
ポーリングのスケジュールと間隔
|
設定
|
値
|
|
初期設定のポーリング間隔
|
5分
|
|
設定可能な最短間隔
|
5分
|
|
設定方法
|
PageSenseSDKOptions.pollingInterval
|
5分未満の値を設定すると、自動的に5分に調整されます。この下限値は、設定の最新性とデバイスのリソース使用状況のバランスを保つために設けられています。
SDKによるポーリングレスポンスの処理
HTTP 200 OK — 設定の更新あり
サーバーに新しい設定があります。SDKは次の処理を行います。
HTTP 204 No Content — 変更なし
サーバー側に変更はありません。SDKは次の処理を行います。
管理は不要
これらの処理はすべてSDK内部で実行されます。同期を開始するための手動のAPI呼び出し、ポーリングのライフサイクル管理、キャッシュの無効化はいずれも不要です。ネットワーク接続が断続的な場合でも、キャッシュされた設定を使用することで、テストの評価の一貫性が維持されます。