resetState resetstate
この機能は、単一ページのサイト/画面またはアプリでの ID の使用に関連する問題を解決するために、主に A4T のお客様向けに設計されています。
ユースケース section-840b88a5cdb042488b340cad5d7b22a5
ID サービスを利用している A4T のお客様の場合、以下をおこなう必要があるときには visitor.resetState()
関数を使用することが推奨されます。
- リダイレクトを使用して、補助的なデータ ID(SDID)またはその他の任意の ID を 1 つのページまたは画面から別のページに渡す。 通常、この関数がなければ、ID サービスはこの ID を渡しません。
- Ajax 呼び出しを通じてページまたはアプリの特定のセクションのみを更新するコードを使用し、それらのアクションを追跡する必要がある。 例えば、オブジェクトをクリックすると、特別なセクションのみが読み込まれたり変更されたりするページがあるとします。 この場合、ID サービスは、ページが再読み込みされない限り、別の ID をリクエストできません。 しかし、
visitor.resetState()
を使用すると、この条件でも新しい ID をリクエストできます。
以下のコードサンプルを参照してください。
構文 section-9e63503e178f4be28ac850abf44d6d91
構文: visitor.resetState( *
state*);
コードサンプル section-d75b211bb4ea473887eb284de2ad838b
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 で使用するための設定方法はありません。