添加 Adobe Analytics

在本课程中,您将在应用程序中启用 Adobe Analytics 跟踪。

Adobe Analytics 是一款行业领先的解决方案,可帮助您充分了解客户的行为和需求,并根据客户情报掌控自己的业务发展方向。

添加扩展安装Mobile SDK课程中,您已将Adobe Analytics扩展添加到标记资产并将其导入到示例应用程序中。 现在,您只需添加代码以跟踪应用程序中的状态和操作!

注意

Adobe Experience Platform Launch将作为一套数据收集技术集成到Adobe Experience Platform中。 界面中已推出一些术语更改,在使用此内容时,您应该注意这些更改:

学习目标

在本课程结束后,您将能够:

  • 验证生命周期量度是否发送到 Adobe Analytics
  • 添加代码以通过其他数据跟踪应用程序中的状态
  • 添加代码以通过其他数据跟踪应用程序中的操作

标记中可以对Analytics实施多项操作。 本课程的内容虽不详尽,但应当仍可以让您充分了解在自己的应用程序中实施 Analytics 所需的各项主要技术。

先决条件

您应该已经完成配置标记部分中的课程。 在该部分中,您添加了 Analytics 扩展并配置了跟踪服务器和报表包 ID。

生命周期量度和 Adobe Analytics

生命周期量度是基于环境的量度和维度,此类量度和维度可以使用 Experience Platform Mobile SDK 在应用程序中轻松启用。事实上,您已经添加了这些量度和维度!

在将核心扩展添加到您的资产中并按界面中提供的移动设备安装指令进行操作后,您便已经启用了生命周期量度。这些量度和维度(包括特定于环境和应用程序的量度,如应用程序版本、参与用户数、操作系统版本、分时段、距上次使用后的天数等)非常有助于对应用程序进行分析,尤其是当您通过此类量度和维度构建 Analytics 区段以应用于所有报表时。此文档中提供了此类量度的完整列表。

查看 Analytics 生命周期点击

尽管您可以在任意调试程序/数据包探查器中查看生命周期点击,但我们将仅在 Xcode 调试控制台中显示它们。

  1. 在 Xcode 中构建并运行项目,以便启动模拟器

  2. 在 Xcode 调试控制台中,在底部的筛选器中键入 lifecycle 以限制显示的内容,然后滚动到条目的底部

  3. 注意 Analytics request was sent with body 部分

  4. 生命周期量度包括 AppID、CarrierName、DayOfWeek、DaysSinceFirstUse 以及此文档中列出的其他量度/维度

    生命周期点击调试

导入 ACPCore 库

在接下来的练习中,您将使用 API 来跟踪应用程序中的状态(“trackState”)和操作(“trackAction”)。要使用这些 API,您需要导入包含这些 API 的库。在新的Experience Cloud平台Mobile SDK中,trackState API和trackAction API已从Analytics库移至核心库,因此可以将这些API用于除Adobe Analytics跟踪之外的其他目的。

在本教程中,您将只跟踪一个状态,但在实际的应用程序中,您将希望跟踪多个状态。

导入 ACPCore 库

  1. 在 Xcode 中打开 BookingViewController.swift

  2. 在文件顶部(通常跟随其他 import 语句)添加 import ACPCore

  3. 进行保存

  4. 现在,您可以在此文件中使用 trackState API 或 trackAction API

    将 ACPCore 导入文件

跟踪状态

在您的应用程序中,您可能会在多个不同的屏幕上为用户提供不同的内容。这些屏幕相当于网站上提供的各个页面。通过 Adobe Analytics,您可以发送这些“页面查看点击次数”,并在用于 Web 资产的相同报表中查看这些信息。此方法称作“trackState”。

在本教程中,您将将trackState调用的代码仅放置在应用程序的一个屏幕(页面)中。 但在现实工作中,您可以将该代码复制到应用程序的其他所有屏幕/状态中。此外,您还可以探索随点击发送数据(键/值对)的几种不同方式。

下面是相应文档中提供的语法和代码示例,您可以在本教程中或您自己的应用程序中复制并粘贴它们。

语法:

+ (void) trackState: (nullable NSString*) state data: (nullable NSDictionary*) data;

示例:

ACPCore.trackState("state name", data: ["key": "value"])

跟踪状态(不含数据)

  1. 在 Xcode 中打开示例应用程序,转到 BookingViewController.swift,然后在 viewDidLoad() 函数中,添加 trackState 方法调用

  2. state name 设置为“Home Screen”

  3. 在方法调用中添加 nil 作为占位符,而不添加任何额外数据

  4. 或者,复制并粘贴以下内容:

    ACPCore.trackState("Home Screen", data: nil)
    

    基本 trackState 调用

验证 trackState

  1. 保存、构建并运行项目

  2. 当模拟器运行并打开应用程序的主屏幕时,查看 Xcode 控制台

  3. 将控制台筛选为仅显示包含“home”的条目,然后查看位于底部的条目,该条目将显示 Analytics request was sent with body

  4. 请注意,pageName 变量设置为 Home Screen,并且没有其他自定义数据对。虽然从技术上讲,您设置的是“state name”而不是“page name”,但使用的参数名称将依然是 pageName,这是为了与网站实施保持一致。

    基本 trackState 结果

跟踪状态(包含数据)

  1. 返回到 BookingViewController.swift,然后在 viewDidLoad() 函数中注释掉(或删除)上一个练习中的基本(未添加数据)trackState 调用

  2. 添加新的 trackState 方法调用,这次包含数据,并使用 key1value1 分别作为键和值

  3. state name 保留为“Home Screen”

  4. 或者,复制并粘贴以下内容:

    ACPCore.trackState("Home Screen", data: ["key1": "value1"])
    

    基本 trackState 调用

验证 trackState(包含数据)

  1. 再次保存、构建并运行项目

  2. 当模拟器运行并打开应用程序的主屏幕时,查看 Xcode 控制台

  3. 将筛选器保留为“home”,然后查看位于底部的条目,该条目将显示 Analytics request was sent with body

  4. 现在,除了设置的 pageName 之外,您还具有在点击时发送的键/值对

    基本 trackState 结果

注意

如果您熟悉 Analytics 中的“prop 和 eVar”,您会注意到 SDK 中没有这些变量名称。来自 SDK 的所有键/值数据都将作为 contextData 变量发送,因此,需要使用 Analytics UI 中的处理规则将此类数据映射到 prop 或 eVar(或其他变量)。

其他数据发送选项

在前两个练习中,您发起了两个请求,一个包含其他数据,另一个不含其他数据。但是,如果您希望通过一次屏幕或状态加载将多个数据点发送到 Analytics,该如何操作?下面提供了两个选项。

选项 1:多个键/值对

在 trackState 调用中,您可以选择发送多个键/值对,只需在数据集中用逗号分隔这些键/值对即可。例如:

ACPCore.trackState("Home Screen", data: ["key1": "value1", "key2": "value2"])

选项 2:词典对象

您还可以在代码中定义一个词典,然后将其与 trackState 一起发送。当然,如果您已经在代码中定义了一些词典对象,并且希望将其发送到 Analytics 中,这无疑是您的最佳选择。例如:

let screenInfo = ["key1":"value1", "key2":"value2", "key3":"value3"]
ACPCore.trackState("Home Screen", data: screenInfo)

附加练习
继续在代码中试用这两个选项,并在 Xcode 调试控制台中查看结果。您可以使用与之前相同的筛选器,并查看结果以确保获得所需的变量和值

跟踪操作

与跟踪网站上的非页面加载操作类似,您通常也希望跟踪用户在您的应用程序中执行的操作,例如未加载其他屏幕的点击操作。跟踪操作的方法与上面使用的 trackState 非常相似,只不过该方法称作 trackAction

下面是相应文档中提供的语法和代码示例,您可以在本教程中或您自己的应用程序中复制并粘贴它们。

语法:

+ (void) trackAction: (nullable NSString*) action data: (nullable NSDictionary*) data;

示例:

ACPCore.trackAction("action name", data: ["key": "value"])

跟踪与“No Stops”复选框的交互

在此 Bus Booking 示例应用程序中,有一个复选框允许用户决定是否要将其搜索结果限制为某些选项。您已决定要在 Adobe Analytics 中跟踪与该复选框的交互。

NonStop 复选框

该复选框在示例项目的 BookingViewController.swift 文件中进行控制。在本练习中,每当用户选中或取消选中该复选框时,您都将发送一次 trackAction 点击。

设置 trackAction 代码

  1. 在 Xcode 中打开示例项目,转到 BookingViewController.swift,然后找到“nonStopButtonToggled”函数

  2. if 语句中,第一部分将在该复选框已被选中时取消选中该框。在这种情况下,您需要使用以下代码发送值为“off”的点击:

    ACPCore.trackAction("NonStop Button Interaction", data: ["NonStop": "off"])
    
  3. 在下一部分(即“else”部分)中,将在该复选框尚未选中时选中该框。在这种情况下,您需要使用以下代码发送值为“on”的点击:

    ACPCore.trackAction("NonStop Button Interaction", data: ["NonStop": "on"])
    

请注意代码中的其他自定义设置:

  • 您将 action name 设置为“NonStop Button Interaction”。此值将填充 Adobe Analytics 中相应请求和自定义链接报表/维度的“action”参数
  • 您使用的 key 的名称是“NonStop”。您可以在 Analytics Admin Console 的“处理规则”中查找这个键名称,以便将这些值映射到 prop 或 eVar。

现在,该函数将如下所示:

NonStop 复选框

验证 trackAction 代码

  1. 添加代码后,保存、运行并构建项目
  2. 单击垃圾箱图标以清除控制台
  3. 在模拟器中选中相应复选框,此时请注意控制台中会显示两个请求。最后一个请求是通过您刚刚添加的代码向 Adobe Analytics 发送数据。
  4. 请注意,action 和 pev2 参数设置为“NonStop Button Interaction”(包含经过编码的空格)
  5. 请注意存在“NonStop=on”键/值对,可以稍后在处理规则中将该键/值对分配给 prop/eVar
  6. 请注意“pe=lnk_o”键/值,表明这是由 trackAction 触发的“自定义链接”点击

Debugger 中的 trackAction 结果

做得不错!您已完成 Analytics 课程。当然,您还可以执行许多其他操作来增强我们的Analytics实施,但希望这已为您提供一些核心技能,以满足您的其他需求。

trackState 和 trackAction 的其他优点

在上述练习中,您能够通过使用 trackState API 和 trackAction API 将数据从应用程序发送到 Adobe Analytics。由于Experience PlatformMobile SDK植根于标记中,因此您可以使用刚刚添加的代码在数据收集界面中执行许多其他操作。

在标记中,您能够创建由trackState API和trackAction API触发的规则,并让它们执行其他操作,例如向其他Adobe解决方案或外部合作伙伴发出请求。

下一课程“添加 Adobe Audience Manager”>

在此页面上