resetState

此函数主要用于 A4T 客户,旨在帮助解决与在单页站点/屏幕或应用程序上使用 ID 相关的问题。

用例

作为使用 ID 服务的 A4T 客户,当您需要执行以下操作时,您可能要使用 visitor.resetState() 函数:

  • 通过重定向将补充数据ID(SDID)或任何其他ID从一个页面或屏幕传递到另一个页面或屏幕。 通常,如果没有此函数,ID服务将无法传递此ID。
  • 使用只通过Ajax调用更新页面或应用程序的特定部分的代码,您希望跟踪这些操作。 例如,假设您有一个页面,在该页面上单击对象只加载或更改特殊部分。 在这种情况下,除非重新加载页面,否则ID服务无法请求其他ID。 但是,通过 visitor.resetState(),您便可以在这种情况下请求新的 ID。

请参阅下面的代码示例。

语法

语法: visitor.resetState( *状态*);

代码示例

您的ID服务实现会影响您使用此函数的方式。 有关示例,请参阅下表。

服务器端实施

服务器端实施适用于具有 Target、Analytics 和 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

动态标签管理器 (DTM)

当前,visitor.resetState() () 没有 DTM 配置路径。

在此页面上