Show Menu
TOPICS×

resetState

この機能は、単一ページのサイト/画面またはアプリでの ID の使用に関連する問題を解決するために、主に A4T のお客様向けに設計されています。

使用例

ID サービスを利用している A4T のお客様の場合、以下をおこなう必要があるときには
visitor.resetState()
関数を使用することが推奨されます。
  • リダイレクトを通じて Supplemental Data ID(SDID)またはその他の ID をあるページまたは画面から別のページまたは画面に渡すとき。通常、ID サービスはこの関数を使用しない限りこの ID を渡しません。
  • Ajax 呼び出しを介してページやアプリケーションの特定のセクションのみを更新するコードを使用し、その動作をトラッキングする必要があるとき。例えば、オブジェクトをクリックすると特定のセクションのみが読み込まれたり変更されたりするページがあるとします。この場合、ページの再読み込みがおこなわれない限り、ID サービスは別の ID をリクエストできません。しかし、
    visitor.resetState()
    を使用すると、この条件でも新しい ID をリクエストできます。
以下のコードサンプルを参照してください。

構文

構文:
visitor.resetState( *
state
*);

コードサンプル

ID サービスの実装は、この関数の使用方法に影響します。以下の表の例を参照してください。
サーバー側実装
サーバー側実装は、Analytics、Target、および ID サービスのサーバーおよびクライアント側実装を使用する A4T のお客様向けです。この方法で ID サービスを設定した場合は、ページに
visitor.resetState()
を追加するだけでかまいません。ID サービスの呼び出しにより自動的に新しい ID とサーバーの状態が返されます。
非標準的な実装
(ID を渡す場合)
ID サービスを 非標準的な実装 で設定した場合、
visitor.resetState()
と共に渡す SDID(またはその他の ID)を保持するための可変オブジェクトを設定する必要があります。以下に示すように、これには 組織 ID と、渡す ID が含まれます。コードは、以下の例のようになります。
//Instantiate server state variable var serverState = { "Insert Experience Cloud organization ID here": { //Specify the SDID or other ID supplementalDataIDCurrent: "1234", supplementalDataIDCurrentConsumed: { "payload:top-center": false } } }; //Instantiate ID service var visitor = Visitor.getInstance ("Insert Experience Cloud organization ID here", { ... }); //Reset server state to pass the SDID visitor.resetState(serverState);
非標準的な実装
(ID を渡さない場合)
この場合は、
visitor.resetState()
を使用して新しい ID を生成できます。これは、シングルページアプリで、ユーザーがページを更新せずに新しい画面に移動し、新しい ID が必要となったときに便利です。
//Instantiate ID service var visitor = Visitor.getInstance ("Insert Experience Cloud organization ID here", { ... }); //Request a supplemental Data ID for consumer1 and consumer2: var sdid1 = visitor.getSupplementalDataID("consumer1"); // sdid1: 1234 var sdid2 = visitor.getSupplementalDataID("consumer2"); // sdid2: 1234 //User navigates to a new screen in a single-page app, without refreshing the page. //To reset the Supplemental Data ID internal, call resetState without passing any parameters. //This way we will not be recycling the `1234` ID anymore. Instead Visitor will generate a new supplemental Data ID going forward. visitor.resetState(); //Request a supplemental Data ID for consumer3 and consumer4: var sdid1 = visitor.getSupplementalDataID("consumer3"); // sdid1: 5678 var sdid2 = visitor.getSupplementalDataID("consumer4"); // sdid2: 5678
Dynamic Tag Manager(DTM)
現在、
visitor.resetState()
を DTM で使用するための設定方法はありません。