s_gi

s_gi() 函数按报表包 ID 实例化或查找 AppMeasurement 的实例。AppMeasurement 会保持跟踪每个创建的实例,s_gi() 会为报表包返回现有实例(如果存在)。如果实例不存在,则会创建一个新实例。

Adobe Experience Platform Launch 中的 s_gi()

Analytics 扩展可为您实例化和管理跟踪对象。但是,在配置 Adobe Analytics 扩展时,您还可以在库管理折叠面板中设置全局跟踪对象。

  1. 使用您的 Adobe ID 凭据登录 launch.adobe.com
  2. 单击所需的属性。
  3. 转到扩展选项卡,然后单击 Adobe Analytics 下的配置按钮。
  4. 展开库管理折叠面板,然后选择除为我管理库之外的任何单选按钮。

全局变量文本字段允许您设置自定义跟踪对象。其默认值为 s

AppMeasurement 和 Launch 自定义代码编辑器中的 s_gi()

调用 s_gi() 函数以实例化跟踪对象。其唯一参数包含以逗号分隔的报表包 ID 字符串。报表包 ID 参数为必需参数。

小贴士

Adobe 建议将 s 变量用作跟踪对象。Adobe 在其文档、实施示例和插件中使用 s。但是,只要在网站中保持一致,可以使用任何变量。

// Instantiate the tracking object with a single report suite
var s = s_gi("examplersid");

// Instantiate the tracking object to send to multiple report suites
var s = s_gi("examplersid1,examplersid2");
注意

以下各部分和示例包含复杂的实施主题。完整测试您的实施并跟踪贵组织的](…/…/prepare/solution-design.md)解决方案设计文档[中的重要自定义项。

使用不同的跟踪对象管理多个实施

如果您实例化多个跟踪对象,则可以向不同的报表包发送不同的数据。这两个跟踪对象会相互独立地运作。

// Instantiate two separate tracking objects to two different report suites
var s = s_gi('examplersid1');
var z = s_gi('examplersid2');

// The s object and z object contain their own independent Analytics variables simultaneously
s.pageName = "Example page name 1";
z.pageName = "Example page name 2";

// Send data to the examplersid1 report suite
s.t();

// Send data to the examplersid2 report suite
z.t();

覆盖 s 对象后还原 AppMeasurement 变量

某些第三方工具可能还使用 JavaScript s 对象。如果意外覆盖了网站上的 s 对象,可以使用相同的 RSID 字符串参数调用 s_gi 以恢复所有被覆盖的变量和方法。

// Step 1: Instantiate the tracking object
var s = s_gi("examplersid");

// Step 2: Set eVar1
s.eVar1 = "Example value";

// Step 3: Accidentally overwrite the tracking object
s = "3rd party tool";

// Step 4: If you attempt to send a tracking call, an error is returned. Instead, re-instantiate the tracking object
s = s_gi("examplersid");

// Step 5: The previous values of all variables are preserved. You can send a tracking call and eVar1 is correctly set
s.t();

使用多个变量引用同一跟踪对象

如果两个变量使用同一报表包引用同一 s_gi() 函数,则可以交替使用这些变量。

// If the RSID is the same, any variables set in the 's' tracking object also get set in 'z' tracking object
var s = s_gi('examplersid');
var z = s_gi('examplersid');

s.eVar1 = "Shared tracking object value";

// This tracking call contains the above eVar1 value
z.t();

On this page

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