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 配置路径。

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now