- Webhookベースの連携:PageSenseからのイベントトリガーに基づき、プロジェクト設定を非同期で更新します。
- Pollingベースの連携:SDK内の専用ポーリングスレッドを利用し、あらかじめ設定された時間間隔でプロジェクト設定を同期的に更新します。
Webhook
PageSenseでFullStack A/B実験のバリエーション編集やターゲティング条件の変更、ゴールの修正などを行う場合、通常は実験を一時停止し、必要な変更を適用した後、Launchボタンをクリックして再度開始します。
PageSenseプロジェクトのEnvironment設定でWebhookが構成されている場合、実験が再開されるたびにPageSenseが指定されたWebhookエンドポイントへ自動的にWebhookコールを送信します。
システム側では、PageSenseからのWebhookコールを受信し、その直後にgetAndUpdateProjectSettings APIをトリガーするように準備してください。これにより、遅延なく最新のプロジェクト設定詳細へAPIが更新されます。
Webhookリトライ
初回のWebhookコールが失敗した場合(ネットワーク問題やサーバーダウンタイムなど)、PageSenseは30秒ごとに最大15分間、Webhookコールを自動的にリトライします。その時間内にコールが正常に処理されなかった場合、リトライは停止します。ただし、追加の更新が行われて実験が再開された場合は、Webhookコールが再度リトライされます。
Polling
Webhook連携が環境的に難しい場合は、SDKのポーリング機能を利用してプロジェクト設定詳細を最新の状態に保つことができます。ポーリングが有効な場合、設定した間隔(任意で設定可能)でSDKが自動的にgetAndUpdateProjectSettings APIを呼び出し、PageSense内の更新を確認します。
設定したポーリング間隔に基づき、SDK内でバックグラウンドスレッドが開始されます。各間隔ごとにgetAndUpdateProjectSettings APIを呼び出し、PageSenseプロジェクト設定の更新有無を確認します。変更が検知された場合、APIはSDKの内部状態を最新のプロジェクト設定詳細で更新します。変更がない場合は、次のポーリングまで既存のプロジェクト設定で動作します。
Pollingは、Webhookサポートが利用できない、もしくはサーバー構成上現実的でない場合の信頼できるバックアップ手段です。
APIの利用方法
- pageSenseClient.GetAndUpdateProjectSettings('accountName', 'sdkKey', 'projectName');
パラメーター詳細:
|
パラメーター |
種類 |
必須 |
説明 |
|
accountName |
String |
はい |
PageSenseアカウントの一意の識別子です。 |
|
sdkKey |
String |
はい |
PageSenseアプリケーションの「Environment」セクションで利用可能な、環境用のセキュアなキーです。 |
|
projectName |
String |
はい |
PageSenseアカウントで定義されたプロジェクトの名前です。 |
例 コード
- pageSenseClient.GetAndUpdateProjectSettings('ZylkerUser1', 'xyz123abdscd', 'ZylkerFullStackProject');