设置Assurance

了解如何在移动应用程序中设置Adobe Experience Platform Assurance。

Assurance(正式称为Project Griffon)旨在帮助您检查、验证、模拟和验证在移动应用程序中收集数据或提供体验的方式。

Assurance 可帮助您检查 Adobe Experience Platform Mobile SDK 生成的原始 SDK 事件。SDK 收集的所有事件都可供检查。SDK 事件加载在列表视图中,按时间排序。每个事件都有一个详细视图,可提供更多详细信息。还提供了用于浏览SDK配置、数据元素、共享状态和SDK扩展版本的其他视图。 在产品文档中了解有关Assurance的更多信息。

先决条件

  • 成功设置已安装并配置SDK的应用程序。

学习目标

在本课程中,您将执行以下操作:

  • 确认您的组织具有访问权限(如果您没有访问权限,请进行请求)。
  • 设置您的基本URL。
  • 添加所需的iOS特定代码。
  • 连接到会话。

确认访问

确认您的组织有权访问Assurance。 您作为用户,应该被添加到Adobe Experience Platform的配置文件。 有关详细信息,请参阅Assurance指南中的用户访问权限

实施

要在应用程序中实施Assurance,请执行以下操作:

iOS

除了常规的SDK安装之外,iOS还需要以下附加代码来启动应用程序的Assurance会话。

  1. 在Xcode的项目导航器中导航到​ Luma > Luma > SceneDelegate

  2. 将以下代码添加到 func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>

    code language-swift
    // Called when the app in background is opened with a deep link.
    if let deepLinkURL = URLContexts.first?.url {
        // Start the Assurance session
        Assurance.startSession(url: deepLinkURL)
    }
    

    当应用程序处于后台并使用深层链接打开时,此代码会启动保证会话。

Android

除了常规的SDK安装之外,Android还需要以下附加代码来启动应用程序的Assurance会话。

  1. 在Android Studio的​ Android ​视图中,导航到​ 应用程序 > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication

  2. 将以下代码添加到 fun handleDeeplink(deeplink: String?)

    code language-kotlin
    // Called when the app in background is opened with a deep link.
    if (deeplink.isNullOrEmpty()) {
       Log.w("Luma", "Deeplink is null or empty")
       return
    }
    
    Log.i("Luma", "Handling deeplink: $deeplink")
    Assurance.startSession(deeplink)
    

    当应用程序处于后台并使用深层链接打开时,此代码会启动保证会话。

有关详细信息,请参阅Assurance API引用

定义捆绑标识符

您需要为应用程序提供唯一的捆绑包标识符。

iOS
  1. 在Xcode中打开项目。
  2. 在项目导航器中选择​ Luma
  3. 选择​ Luma ​目标。
  4. 选择​ 签名和功能 ​选项卡。
  5. 定义​ 捆绑包标识符

请确保使用​ 唯一 ​捆绑标识符并替换com.adobe.luma.tutorial.swiftui捆绑标识符,因为每个捆绑标识符必须是唯一的。 通常,您使用反向DNS格式来打包的ID字符串,如com.organization.brand.uniqueidentifier。 例如,本教程的完成版本使用com.adobe.luma.tutorial.swiftui

Xcode签名功能 {modal="regular"}

Android
  1. 在Android Studio中打开项目。
  2. 在导航器中选择​ build.gradle.kts (模块:app)
  3. 确保使用​ 唯一 ​捆绑标识符并替换com.adobe.luma.tutorial.androidnamespaceandroid
  4. 请确保使用相同的​ 唯一 ​包标识符并在com.adobe.luma.tutorial.android中的applicationId中替换defaultConfigandroid

通常,您使用反向DNS格式来打包的ID字符串,如com.organization.brand.uniqueidentifier。 例如,本教程的完成版本使用com.adobe.luma.tutorial.android

Android签名功能 {modal="regular"}

设置基本URL

您需要设置基本URL以确保深层链接正常工作。

iOS
  1. 转到Xcode中的项目。

  2. 在项目导航器中选择​ Luma

  3. 选择​ Luma ​目标。

  4. 选择​ 信息 ​选项卡。

  5. 要添加基本URL,请向下滚动到​ URL类型 ​并选择​ + ​按钮。

  6. 将​ 标识符 ​设置为您选择的捆绑标识符,并设置您选择的​ URL方案

    保证URL {modal="regular"}

请确保使用​ 唯一 ​捆绑标识符并替换com.adobe.luma.tutorial.swiftui捆绑标识符,因为每个捆绑标识符必须是唯一的。 通常,您使用反向DNS格式来打包的ID字符串,如com.organization.brand.uniqueidentifier。 您可以使用在定义捆绑标识符中使用的相同捆绑标识符。
同样,使用唯一的URL方案,并将已经提供的lumatutorialswiftui替换为您的唯一URL方案。

要详细了解iOS中的URL方案,请查阅Apple的文档

Assurance的工作方式是通过浏览器或二维码打开URL。 该URL以基本URL开头,该URL可打开应用程序并包含其他参数。 这些唯一参数用于连接会话。 在示例应用程序中,深层链接为lumatutorialswiftui://

Android
  1. 转到Android Studio中项目的​ Android ​视图。

  2. 在导航器中选择​ 应用程序 > 清单 > AndroidManifest.xml

  3. 确保​ 清单 > 应用程序 > 活动 XML元素如下所示:

    code language-xml
    <activity
       android:name=".MainActivity"
       android:exported="true"
       android:theme="@style/Theme.LumaAndroid">
       <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
       </intent-filter>
       <intent-filter
             android:label="@string/app_name">
             <action android:name="android.intent.action.VIEW" />
             <category android:name="android.intent.category.DEFAULT" />
             <category android:name="android.intent.category.BROWSABLE" />
             <data android:scheme="lumatutorialandroid"
                android:host="default" />
       </intent-filter>
    </activity>
    

确保指定android:scheme(例如。 lumatutorialandroid)和android:host(例如default)来定义基础URL。

若要详细了解Android中的深层链接,请参阅创建指向应用程序内容的深层链接

Assurance的工作方式是通过浏览器或二维码打开URL。 该URL以基本URL开头,基本URL可打开应用程序并包含其他参数。 这些唯一参数用于连接会话。 在示例应用程序中,深层链接为lumatutorialandroid://default

连接到会话

您现在可以使用Assurance连接到会话。

iOS

在Xcode中:

  1. 使用 Play ,在模拟器或Xcode的物理设备上构建或重建并运行应用程序。

    或者,您可能需要​ 清理 ​您的生成,尤其是当您看到意外结果时。 从Xcode 产品 ​菜单中选择​ 清理生成文件夹……

  2. 在​ 允许“Luma应用程序”使用您的位置 ​对话框中,选择​ 使用应用程序时允许

    {width="300"}

  3. 在​ “Luma应用”希望向您发送通知 ​对话框中,选择​ 允许

    {width="300"}

  4. 选择​ 继续…… ​以允许应用跟踪您的活动。

    {width="300"}

  5. 在​ 允许“Luma应用”在其他公司的应用和网站 ​中跟踪您的活动,选择​ 允许

    {width="300"}

  6. 选择​ 继续

在您的浏览器中:

  1. 转到数据收集UI。

  2. 从左边栏中选择​ Assurance

  3. 选择​ 创建新会话,并选择选项​ 深层链接连接

  4. 选择​ 启动

  5. 提供​ 会话名称,如Luma Mobile App Session和​ 基本URL,它是您在Xcode中输入的URL方案,后面是://,例如: lumatutorialswiftui://

  6. 选择​ 下一步
    保证创建会话 {modal="regular"}

  7. 在​ 创建新会话 ​模式对话框中:

    如果您使用的是物理设备:

    • 选择​ 扫描二维码。 要打开应用程序,请使用物理设备上的摄像头扫描二维码并点击链接。

      保证qa代码 {modal="regular"}

    如果您使用模拟器:

    1. 选择​ 复制链接

    2. 使用 Copy 复制深层链接,然后使用该深层链接在模拟器中通过Safari打开应用程序。

      Assurance复制链接 {modal="regular"}

  8. 应用程序加载时,系统会显示一个模式对话框,要求您输入步骤7中显示的PIN。

    {width="300"}

    输入PIN并选择​ 连接

  9. 如果连接成功,您会看到:

    • 位于应用程序顶部的Assurance图标。

      {width="300"}

    • Experience Cloud更新将在Assurance UI中完成,显示:

      1. 来自应用程序的体验事件。

      2. 选定事件的详细信息。

      3. 设备和时间轴。

        保证事件 {modal="regular"}

  10. 选择​ 继续 ​以转到主屏幕。

Android

在Android Studio中:

  1. 使用 Play ,在模拟器或Android Studio的物理设备上构建或重建并运行应用程序。

    或者,您可能需要​ 清理 ​您的生成,尤其是当您看到意外结果时。 从Android Studio 生成 ​菜单中选择​ 清理项目

  2. 在​ 允许Luma Android向您发送通知 ​对话框中,选择​ 允许

    {width="300"}

  3. 选择​ 显示权限对话框

    {width="300"}

  4. 在​ 允许Luma Android访问此设备的位置?

    {width="300"}

    • 选择​ 精确
    • 在使用应用​ 时选择
  5. 返回简介应用屏幕,选择​ 打开设备设置

  6. 在​ 位置权限 ​屏幕中,选择​ 允许所有时间。 然后选择​ ​以返回介绍应用程序屏幕。

    {width="300"}

  7. 选择​ 继续 ​以转到主屏幕。

在您的浏览器中:

  1. 转到数据收集UI。

  2. 从左边栏中选择​ Assurance

  3. 选择​ 创建新会话,并选择选项​ 深层链接连接

  4. 选择​ 启动

  5. 提供​ 会话名称,如Luma Mobile App Session和​ 基本URL,它是您在Android Studio的android:schemeAndroidManifest.xmlandroid:host中定义的​ ,以://分隔。例如: lumatutorialandroid://default

  6. 选择​ 下一步
    保证创建会话 {modal="regular"}

  7. 在​ 创建新会话 ​模式对话框中:

    如果您使用的是物理设备:

    • 选择​ 扫描二维码。 要打开应用程序,请使用物理设备上的摄像头扫描二维码并点击链接。

      保证qa代码 {modal="regular"}

    如果您使用模拟器:

    1. 选择​ 复制链接
    2. 使用 复制 复制深层链接,然后使用该深层链接在模拟器中通过Chrome打开应用程序。

    Assurance复制链接 {modal="regular"}

    在Chrome中提示您​ 继续使用Luma Android ​时,请选择​ 继续

  8. 应用程序加载时,系统会显示一个模式对话框,要求您输入步骤7中显示的PIN。

    {width="300"}

    输入PIN并选择​ 连接

  9. 如果连接成功,您会看到:

    • 位于应用程序顶部的Assurance图标。

      {width="300"}

    • Experience Cloud更新将在Assurance UI中完成,显示:

      1. 来自应用程序的体验事件。

      2. 选定事件的详细信息。

      3. 设备和时间轴。

        保证事件 {modal="regular"}

如果您遇到任何挑战,请查阅技术常规文档

验证扩展

要验证您的应用程序是否使用了最新的扩展,请执行以下操作:

  1. 选择​ 配置

  2. 123 扩展版本 选择​ 添加

  3. 选择​ 保存

    配置扩展版本 {modal="regular"}

  4. 选择 123 扩展版本 ​可查看应用程序版本中最新可用扩展和所用扩展的概述。

iOS

扩展版本 {modal="regular"}

要更新扩展版本(例如,Messaging ​和​ Optimize),请从​ 包依赖项(例如,AEPMessaging)中选择包(扩展),然后从上下文菜单中选择​ 更新包。 Xcode将更新包依赖项。

Android

扩展版本 {modal="regular"}

如果看到过时的扩展,请参阅Android Studio文档,了解如何更新项目的依赖关系模块。

NOTE
在开发环境中更新扩展(包)后,请关闭并删除当前会话,然后重复连接到会话验证扩展中的所有步骤,以确保Assurance在新的Assurance会话中正确报告正确的扩展。
SUCCESS
您现在已将应用程序设置为在本教程的剩余部分中使用Assurance 。
感谢您投入时间学习Adobe Experience Platform Mobile SDK。 如果您有任何疑问、希望分享一般反馈或有关于未来内容的建议,请在此Experience League社区讨论帖子上分享这些内容

下一步: 实施同意

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b