プロジェクト設定の同期

プロジェクト設定の同期

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

重要性  

PageSense SDKは、プロジェクト設定のローカルコピーを使用して動作します。バリエーションの変更、トラフィックの調整、ターゲティングルールの変更など、実験を更新した場合、SDKにその変更を反映する必要があります。
getAndUpdateProjectSettingsは、まさにこの処理を実行します。PageSenseから最新の設定を取得し、SDKの内部状態を更新します。この処理は、Webhook(リアルタイム)またはポーリング(スケジュール実行)で開始できます。
同期のきっかけとなる変更。
  • 実験の新規作成または更新
  • バリエーションまたはトラフィック配分の変更
  • 対象ユーザーのターゲティングルールの更新
  • 目標設定の変更
  • 実験ステータスの更新
Webhookを使用すると、更新をリアルタイムで受信できます。PageSenseでFullStack実験を変更する場合の流れは、次のとおりです。
  1. 実験を一時停止します。
  2. 変更を適用します。
  3. 実験を再開します。
Webhook URLが[環境設定]で設定されている場合、実験の再開時にPageSenseからそのURLへPOST通知が送信されます。サーバー側でこのイベントを処理し、すぐにgetAndUpdateProjectSettingsを呼び出してください。
Webhookが失敗した場合の再試行動作。
  • PageSenseは30秒ごとに再試行します。
  • 再試行は最長15分間行われます。
  • 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プロセスの終了時に、ポーリングを正常に停止します。

簡単な比較  

方式
適した用途
Webhook
リアルタイム更新、最小限の遅延。
ポーリング
Webhookを設定できない環境。