使用地标

了解如何在应用程序中使用Places地理位置服务。

Adobe Experience Platform数据收集位置服务是一种地理位置服务,它使具有位置感知的移动应用程序能够了解位置上下文。 该服务使用丰富且易于使用的SDK接口,并随附了灵活的兴趣点(POI)数据库。

先决条件

  • 所有包依赖项都已放置在Xcode项目中。
  • 在AppDelegate中注册的扩展。
  • 已将MobileCore配置为使用开发appId。
  • 导入的SDK。
  • 通过上述更改成功构建并运行应用程序。

学习目标

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

  • 了解如何在Places服务中定义目标点。
  • 使用Places扩展更新您的标记属性。
  • 更新您的架构以捕获地理位置事件。
  • 验证Assurance中的设置。
  • 更新您的应用程序以注册Places扩展。
  • 从应用程序中的Places服务实施地理位置跟踪。

设置

要使Places服务在您的应用程序和Mobile SDK中正常工作,您必须进行一些设置。

定义地标

您可以在Places服务中定义一些目标点。

  1. 在数据收集UI中,选择 地标.
  2. 选择 更多 .
  3. 从上下文菜单中,选择 管理库.
    管理库
  4. 管理库 对话框,选择 新建.
  5. 创建库 对话框输入 名称 ​例如 Luma.
  6. 选择 确认.
    创建库
  7. 要关闭 管理库 对话框,选择 关闭.
  8. 返回 POI管理,选择 导入POI.
  9. 选择 开始导入位置 对话框。
  10. 选择 Luma 从图书馆名单上,
  11. 选择​ 下一步
    选择库
  12. 下载 Luma POI ZIP文件 然后将其提取到您计算机上的某个位置。
  13. 导入位置 对话框,拖放提取的 luma_pois.csv 文件到 选择CSV文件 — 拖放文件. 您应该看到 验证成功 - 已成功验证CSV文件.
  14. 选择 开始导入. 您应该看到 成功 - 已成功添加6个新POI.
  15. 选择​ 完成
  16. POI管理,您应该会看到六个新的Luma商店已添加到列表中。 您可以在以下内容之间切换: 列表 列表和 地图 映射视图。
    地标列表 .

Install Places扩展

  1. 导航到 标记 并找到您的移动标记资产并打开该资产。

  2. 选择 扩展.

  3. 选择 目录.

  4. 搜索 地标 扩展。

  5. 安装扩展。

    Add Decisioning扩展

  6. 安装扩展 对话框:

    1. 选择 Luma选择库 列表。

    2. 确保已选取工作库,例如 初始构建.

    3. 选择 保存到库并生成保存到库.

      Install Places扩展 .

  7. 已重建您的库。

验证您的架构

验证您的架构是否如中定义 创建架构,整合了收集POI和地理位置数据所需的字段组和类。

  1. 导航到数据收集界面并选择 架构 从左边栏开始。
  2. 选择 浏览 从顶部栏中。
  3. 选择您的架构以将其打开。
  4. 在架构编辑器中,选择 使用者体验事件.
  5. 您看到 placeContext 对象和字段,用于捕获POI交互和地理位置数据。
    架构位置 .

更新您的标记属性

适用于标记的Places扩展提供了用于监视地理位置事件的功能,并允许您根据这些事件触发操作。 您可以使用此功能最大程度地减少必须在应用程序中实施的API编码。

数据元素

首先创建多个数据元素。

  1. 转到数据收集UI中的标记属性。

  2. 选择 数据元素 从左边栏开始。

  3. 选择​ 添加数据元素

  4. 创建数据元素 屏幕,输入名称,例如 Name - Entered.

  5. 选择 地标扩展名 列表。

  6. 选择 名称数据元素类型 列表。

  7. 选择 当前POITARGET.

  8. 选择 保存到库.
    数据元素

  9. 使用下表中的信息重复步骤4 - 8以创建其他数据元素。

    table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4
    名称 扩展 数据元素类型 TARGET
    Name - Exited Places 名称 上次退出的POI
    Category - Current Places 类别 当前POI
    Category - Exited Places 类别 上次退出的POI
    City - Current Places 城市 当前POI
    City - Exited Places 城市 上次退出的POI

    您应该拥有以下数据元素列表。

    数据元素列表

规则

接下来,您将定义用于这些数据元素的规则。

  1. 在标记属性中,选择 规则 从左边栏开始。

  2. 选择 添加规则.

  3. 创建规则 屏幕中,输入规则的名称,例如 POI - Entry.

  4. 选择 添加 活动.

    1. 选择 地标扩展名 列出并选择 输入POI事件类型 列表。

    2. 选择​ 保留更改

      标记事件 .

  5. 选择 添加 操作.

    1. 选择 移动核心扩展名 列表,选择 附加数据操作类型 列表。 此操作附加有效负荷数据。

    2. JSON有效负载,粘贴以下有效负载:

      code language-json
      {
          "xdm": {
              "eventType": "location.entry",
              "placeContext": {
                  "geo": {
                      "city": "{%%City - Current%%}"
                  },
                  "POIinteraction": {
                      "poiDetail": {
                          "name": "{%%Name - Current%%}",
                          "category": "{%%Category - Current%%}"
                      },
                      "poiEntries": {
                          "value": 1
                      }
                  }
              }
          }
      }
      

      您还可以插入 {%% ... %%} JSON中的数据元素占位符值,方法是选择 数据 . 弹出对话框允许您选择创建的任何数据元素。

    3. 选择​ 保留更改

      标记操作

  6. 选择 添加 旁边的 移动核心 — 附加数据 操作。

    1. 选择 Adobe Experience Platform边缘网络扩展名 列出并选择 将事件转发到Edge Network. 此操作确保将事件和其他有效负载数据转发到Platform Edge Network。
    2. 选择​ 保留更改
  7. 要保存规则,请选择 保存到库.

    规则

让我们再创建一个规则

  1. 创建规则 屏幕中,输入规则的名称,例如 POI - Exit.

  2. 选择 添加 活动.

    1. 选择 地标扩展名 列出并选择 退出POI事件类型 列表。
    2. 选择​ 保留更改
  3. 选择 添加 操作.

    1. 选择 移动核心扩展名 列表,选择 附加数据操作类型 列表。

    2. JSON有效负载,粘贴以下有效负载:

      code language-json
      {
          "xdm": {
              "eventType": "location.exit",
              "placeContext": {
                  "geo": {
                      "city": "{%%City - Exited%%}"
                  },
                  "POIinteraction": {
                      "poiExits": {
                          "value": 1
                      },
                      "poiDetail": {
                          "name": "{%%Name - Exited%%}",
                          "category": "{%%Category - Exited%%}"
                      }
                  }
              }
          }
      }
      
    3. 选择​ 保留更改

  4. 选择 添加 旁边的 移动核心 — 附加数据 操作。

    1. 选择 Adobe Experience Platform边缘网络扩展名 列出并选择 将事件转发到Edge Network.
    2. 选择​ 保留更改
  5. 要保存规则,请选择 保存到库.

    规则

要确保发布标记中的所有更改,请执行以下操作

  1. 选择 初始构建 作为要生成的库。
  2. 选择 生成.
    生成库

验证Assurance中的设置

要在Assurance中验证设置,请执行以下操作:

  1. 转到Assurance UI。
  2. 如果左边栏中尚不可用,请选择 配置 在左边栏中选择 添加 旁边 活动映射和模拟PLACES服务.
  3. 选择​ 保存
  4. 选择 映射和模拟 在左边栏中。
  5. 将地图移动到某个POI的位置。
  6. 选择 齿轮 模拟加载POI。 使用圆圈和pin标识您的POI。
  7. 选择您的POI。
  8. 从弹出窗口中,选择 齿轮 模拟进入事件.
    模拟进入事件
  9. 选择 活动 从左边栏中,您应该会看到模拟的事件。
    AJO决策验证

在应用程序中实施地标

如前面的课程中所述,安装移动标记扩展仅提供配置。 接下来,您必须安装并注册Places SDK。 如果这些步骤不明确,请查阅 安装SDK 部分。

NOTE
如果您已完成 安装SDK 部分,则已安装Places SDK,您可以跳过此步骤。
  1. 在Xcode中,确保 AEP Places 会添加到包依赖关系中的包列表中。 请参阅 Swift包管理器.

  2. 导航到 Luma > Luma > AppDelegate 在Xcode项目导航器中。

  3. 确保 AEPPlaces 是导入列表的一部分。

    code language-swift
    import AEPPlaces
    
  4. 确保 Places.self 是您注册的扩展数组的一部分。

    code language-swift
    let extensions = [
        AEPIdentity.Identity.self,
        Lifecycle.self,
        Signal.self,
        Edge.self,
        AEPEdgeIdentity.Identity.self,
        Consent.self,
        UserProfile.self,
        Places.self,
        Messaging.self,
        Optimize.self,
        Assurance.self
    ]
    
  5. 导航到 Luma > Luma > Utils > MobileSDK 在Xcode项目导航器中查找 func processRegionEvent(regionEvent: PlacesRegionEvent, forRegion region: CLRegion) async 函数。 添加以下代码:

    code language-swift
    // Process geolocation event
    Places.processRegionEvent(regionEvent, forRegion: region)
    

    Places.processRegionEvent API将地理位置信息传递给Places服务。

  6. 导航到 Luma > Luma > Views > Location > GeofenceSheet 在Xcode的项目导航器中。

    1. 对于“输入”按钮,输入以下代码
    code language-swift
    // Simulate geofence entry event
    Task {
        await MobileSDK.shared.processRegionEvent(regionEvent: .entry, forRegion: region)
    }
    
    1. 对于“退出”按钮,输入以下代码
    code language-swift
    // Simulate geofence exit event
    Task {
        await MobileSDK.shared.processRegionEvent(regionEvent: .exit, forRegion: region)
    }
    

使用应用程序进行验证

  1. 在设备或模拟器中打开您的应用程序。

  2. 转到 位置 选项卡。

  3. 四处移动(拖动)地图,以确保蓝色中间圆圈位于某个POI的上方,例如伦敦。

  4. 点按 {width="20"} 直到您看到类别和名称显示在带有图钉的红色位置的标签中。

  5. 点按POI的标签,这会打开 附近POI 工作表。

    {width="300"}

  6. 登入退出 按钮来模拟应用程序中的地理围栏进入和地理围栏退出事件。

    {width="300"}

  7. 您应会在Assurance UI中看到这些事件。

后续步骤

您现在应该拥有所有工具,以便开始在应用程序中为地理位置功能添加更多功能。 在设置应用程序后,由于已将事件转发到边缘网络, Experience Platform时,您应该会看到应用程序中所用用户档案所显示的体验事件。

在本教程的Journey Optimizer部分中,您将看到体验事件可用于触发历程(请参阅 推送通知应用程序内消息传送 Journey Optimizer)。 例如,通常情况下,当用户进入实体商店的地理围栏时,向应用程序用户发送推送通知并促销某些产品。

您已看到应用程序功能的实施,这些功能主要由Places服务以及您在标记属性中定义的数据元素和规则驱动。 因此,请最大限度地减少应用程序中的代码。 或者,您可以使用直接在应用程序中实施相同的功能 Edge.sendEvent API(请参阅 活动 ,以了解更多信息),XDM有效负载中包含填充的 placeContext 对象。

SUCCESS
现在,您已使用Experience PlatformMobile SDK中的Places扩展为地理定位服务启用应用程序。
感谢您投入时间学习Adobe Experience Platform Mobile SDK。 如果您有疑问、希望分享一般反馈或有关于未来内容的建议,请在此共享它们 Experience League社区讨论帖子.

下一步: 将数据映射到Adobe Analytics

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