プロジェクト設定の同期

プロジェクト設定の同期

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

この処理が重要な理由  

PageSense SDKは、プロジェクトの設定のローカルコピーを使用します。バリエーションの変更、トラフィックの調整、ターゲティングルールの変更など、テストを更新した場合、SDKにその変更を反映する必要があります。
getAndUpdateProjectSettingsは、まさにこの処理を行います。PageSenseから最新の設定を取得し、SDKの内部状態を更新します。この処理は、Webhook(リアルタイム)またはポーリング(定期実行)で自動的に実行できます。
同期のきっかけとなる変更。
  • 新規または更新されたテスト
  • バリエーションまたはトラフィックの割り当ての変更
  • オーディエンスのターゲティングルールの更新
  • 目標設定の変更
  • テストのステータスの更新
Webhookを使用すると、更新をリアルタイムで反映できます。PageSenseでフルスタックテストを変更する場合の流れは次のとおりです。
  1. テストを一時停止します。
  2. 変更を適用します。
  3. テストを再開します。
WebhookのURLが[環境設定]で設定されている場合、再開時にPageSenseからそのURLへPOST通知が送信されます。サーバーでこのイベントを処理し、直ちにgetAndUpdateProjectSettingsを呼び出す必要があります。
Webhookが失敗した場合の再試行動作。
  • PageSenseは30秒ごとにもう一度試します。
  • 再試行は最長15分間行われます。
  • この時間を過ぎると、再試行は停止します。
  • 新たに再開すると、新しい通知が送信されます。

選択肢2 — ポーリングによる同期  

Webhookが設定されていない場合は、代わりにポーリングを使用します。SDKは、設定された間隔でバックグラウンドループを実行し、設定APIを呼び出します。変更がある場合は設定を更新します。手動で管理する必要はなく、自動的に実行されます。

getAndUpdateProjectSettings API  

メソッド  
  1. await pageSenseClient.getAndUpdateProjectSettings(
  2. accountId,
  3. sdkKey,
  4. projectName
  5. );

パラメーター  

パラメーター
種類
必須
説明
accountId
文字列
はい
PageSenseアカウントの識別子です。
sdkKey
文字列
はい
環境用のセキュアなSDKキーです。
projectName
文字列
はい
同期するPageSenseプロジェクトです。

戻り値  
  • true— 設定を取得して更新しました。
  • false— 更新に失敗しました(無効なパラメーター、ネットワークの問題、またはサーバーエラー)。
使用例  
  1. await pageSenseClient.getAndUpdateProjectSettings(
  2. 'ZylkerUser1',
  3. 'xyz123abdscd',
  4. 'ZylkerFullStackProject'
  5. );
この処理の実行後、以降のすべてのテスト評価では、更新された設定が使用されます。

ポーリングのライフサイクルメソッド  

メソッド
処理内容
startPolling()
ポーリングループを開始します。
runPollingCycle()
1回の同期サイクルを手動で実行します。
stopPolling()
ループを停止し、リソースを解放します。
registerShutdownHooks()
Node.jsプロセスの終了時に、ポーリングが正常に停止するようにします。

簡単な比較  

方式
最適な用途
ウェブフック
リアルタイム更新、遅延を最小限に抑えたい場合。
ポーリング
ウェブフックを設定できない環境。