安装Adobe Experience Platform Mobile SDK

在本课程中,您将使用与标记资产的开发环境对应的扩展和设置来实施Mobile SDK。

注意

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

学习目标

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

  • 获取移动标记资产的安装说明
  • 了解开发、暂存和生产环境之间的差异
  • 创建和编辑 Podfile
  • 将 Mobile SDK 导入 AppDelegate 文件
  • 验证 SDK 是否已成功实施

获取安装指令

移动标签属性的安装说明是您在“终端”中运行或添加到移动应用程序中的特定位置的代码片段集合。

单击顶部导航中的 Environments 选项卡,以转到环境页面。请注意,已经为您预先创建了开发、暂存和生产环境。这些环境对应于代码开发和发布过程中的典型环境。首先,由开发人员在开发环境中编写代码。完成工作后,开发人员会将代码发送到暂存环境,供 QA 和其他团队审查。QA 和其他团队对代码满意后,代码会被发布到生产环境,这是面向公众的环境,即访客在下载您的应用程序时所体验的环境。

标记允许添加其他开发环境,对于有多位开发人员同时处理不同项目的大型组织而言,此环境非常有用。

要完成本教程,只需使用开发、暂存和生产环境。

单击顶部导航中的 Environments

Development 行中,单击安装图标 安装图标 以打开嵌入代码模式窗口。

单击相应图标以打开嵌入代码模式窗口

让我们逐步执行这些指令。

创建 Podfile 并安装 Pod

如果您之前在网站中使用过标记属性,您首先会注意到的一点是,此模式窗口中的信息比Web属性多。

适用于 iOS 的 Adobe Mobile SDK 使用 CocoaPods 管理其各个组件之间的依赖关系。如果您的开发环境中尚未安装 CocoaPods,请按照其网站上的安装说明进行操作。此外,如果您尚未下载 Bus Booking 应用程序,请将其保存到本地计算机,然后将 zip 存档解压缩到桌面。

创建 Podfile

  1. 在 Mac® 上打开 Terminal 应用程序

  2. 导航到保存 Bus Booking Objective-C 应用程序的项目文件夹(例如,cd Desktop/busbooking-mobileapps-master/Objective-C/

    导航到项目目录

  3. 在数据收集界面中,将操作系统更改为iOS

  4. 通过单击 复制 图标,复制第一个 iOS 指令 pod init

    在数据收集界面中将pod init复制到剪贴板

  5. 在“终端”应用程序中,运行 pod init 命令并等待其完成

    运行 pod init

  6. 在“终端”应用程序中,使用 open podfile 命令打开 Podfile

    运行 open podfile

  7. 您的计算机可能会打开一个对话框,询问您希望使用哪个应用程序来打开 Podfile。选择任意文本编辑器,如 TextEdit

  8. 在数据收集界面中,通过单击复制图标,复制依赖项列表。 请注意,您在前面的课程中添加的每一个扩展都有一个对应的行。每个扩展都有其自身的一组代码,这些代码构建于 Mobile Core 扩展之上,并且只能通过应用程序更新来添加或删除:

    在数据收集界面中将依赖项复制到剪贴板

  9. 在文本编辑器中,将剪贴板中的依赖项粘贴到 # Pods for BusBookingObjectiveC 行之后

  10. 在文本编辑器中保存对 Podfile 所做的更新

    添加依赖项并保存

  11. 现在,您可以关闭文本编辑器

  12. 在数据收集界面中,通过单击复制图标,复制下一个iOS指令pod repo update

    复制 pod repo update

  13. 在“终端”应用程序中,运行 pod repo update 命令并等待其完成(这可能需要几分钟)

    运行 pod repo update

  14. 在数据收集界面中,通过单击复制图标,复制下一个iOS指令pod install

    在数据收集界面中将pod install复制到剪贴板

  15. 在“终端”应用程序中,运行 pod install 命令并等待其完成

    运行 pod install

  16. 现在,您可以关闭“终端”窗口

  17. 打开“访达”窗口,导航到保存 Bus Booking 应用程序的文件夹,并确认已创建 BusBookingObjectiveC.xcworkspace 文件、Podfile、Podfile.lock 文件以及 Pod 文件夹

    在“访达”中确认 Pod

更新 AppDelegate

现在该更新应用程序以导入 SDK:

  1. 在 Xcode 中打开 BusBookingObjectiveC.xcworkspace 文件

  2. 打开 AppDelegate.m 文件

    打开 AppDelegate 文件

  3. 在“数据收集”界面中,滚动到​Add Initialization Code​部分,然后选择​Objective C​作为您使用的iOS语言。

  4. 通过单击 Add Initialization Code 部分中的第一个 复制 图标,复制 import 语句:

    将 import 语句复制到剪贴板

  5. 在 Xcode 中,将这些 import 语句粘贴到 AppDelegate.m 文件中 AppDelegate.h 的 import 语句之后

    将 import 语句粘贴到 AppDelegate 文件中

  6. 在数据收集界面中,通过单击​Add Initialization Code​部分中的第二个复制图标,复制与核心扩展相关的两行代码。 第一行代码将打开控制台日志记录语句(可用选项为“debug”、“verbose”、“warning”和“error”)。第二行代码指向标记环境的唯一标识符。 此代码很重要,因为当我们准备好将应用程序部署到生产环境时,需要更新此值。

    将 Core 语句复制到剪贴板

  7. 在 Xcode 中,将这些 Core 语句粘贴到 AppDelegate 文件中 application(_:didFinishLaunchingWithOptions:) 方法的顶部:

    将 Core 语句粘贴到 AppDelegate 文件中

  8. 在数据收集界面中,通过单击Add Initialization Code部分中的第三个复制图标,复制Extension语句:

    将 Extension 语句复制到剪贴板

  9. 在 Xcode 中,将这些 Extension 语句粘贴到 AppDelegate 文件中 application(_:didFinishLaunchingWithOptions:) 方法的 return true 行之前:

    将 Extension 语句粘贴到 AppDelegate 文件中

注意

数据收集界面中提供的移动设备安装指令包括身份标识、生命周期和信号扩展的导入和注册语句,以及生命周期量度的初始化。 这些扩展被视为 Mobile Core 扩展的一部分。如果您不希望在应用程序中使用这些扩展,则无需导入、注册或实施与这些扩展关联的其他代码。

此外,使用这些扩展时还应考虑其他实施选项(例如,当用户将应用程序置于后台/前台时,可以暂停/重新启动生命周期数据收集)。您可以在 Mobile Core 扩展文档中阅读更多相关信息。

验证实施

  1. 保存 Xcode 项目

  2. 在模拟器中运行并启动应用程序。如果尚未配置任何模拟器设备,请立即配置一个,并确保配置的设备运行 iOS 10 及更高版本。我们喜欢使用 iPhone 8 模拟器,因为用鼠标单击 Home 按钮很容易。

    在模拟器中运行并启动应用程序

  3. 等待模拟器启动并完全打开应用程序以显示预订屏幕(这可能需要几分钟)

    等待应用程序完全打开

  4. 确认在 Xcode 控制台中向 Adobe 服务器发起了调用

    在控制台中查找调用

以下是一些可查找的特定调用示例:

  1. 用于检索标记配置的调用 (在控制台中筛选 adobedtm.com)。请注意在前面的课程中输入的扩展配置。虽然添加扩展需要更新应用程序,但可以在标记外部管理这些设置,并随时更改:

    2019-03-13 16:53:26.633816-0400 BusBookingObjectiveC[56630:3854917] [AMSDK DEBUG <RulesDownloader>]: Successfully downloaded Rules from 'https://assets.adobedtm.com/launch-EN360aefc739b04410816f751a95861744-development-rules.zip'
    
    {"target.propertyToken":"","target.timeout":5,"global.privacy":"optedin","analytics.backdatePreviousSessionInfo":true,"analytics.offlineEnabled":true,"build.environment":"dev","rules.url":"https://assets.adobedtm.com/launch-EN360aefc739b04410816f751a95861744-development-rules.zip","experienceCloud.org":"7ABB3E6A5A7491460A495D61@AdobeOrg","target.clientCode":"techmarketingdemos","target.autoFetch":true,"target.fetchBackground":false,"lifecycle.sessionTimeout":300,"target.environmentId":"busbookingapp","analytics.server":"tmd.sc.omtrdc.net","analytics.rsids":"tmd-mobile-dev1","analytics.batchLimit":0,"property.id":"PRb4881271498b4f2cbaf67d38a8f3891a","global.ssl":true,"analytics.aamForwardingEnabled":true}
    
  2. 发送至 Identity Service 的请求(在控制台中筛选 demdex.net)在此示例中,ID (d_mid) 已经设置,且重新进行了报告。

    2019-03-13 16:53:26.655908-0400 BusBookingObjectiveC[56630:3854937] [AMSDK DEBUG <com.adobe.module.identity>]:
    
    Sending request (https://dpm.demdex.net/id?d_rtbd=json&d_ver=2&d_orgid=7ABB3E6A5A7491460A495D61@AdobeOrg&d_mid=67027929491180584128922600814231770586)
    
  3. 来自 Identity Service 的响应(在控制台中筛选 ID Service)。请注意 mid 值如何与上述请求中的 d_mid 值相匹配:

    2019-03-13 16:53:27.397048-0400 BusBookingObjectiveC[56630:3854937] [AMSDK DEBUG <com.adobe.module.identity>]:
    
    ID Service - Got ID Response (mid: 67027929491180584128922600814231770586, blob: j8Odv6LonN4r3an7LhD3WZrU1bUpAkFkkiY1ncBR96t2PTI, hint: 9, ttl: "604800000 ms")
    
  4. Analytics 请求(在控制台中筛选 Analytics request

    2019-03-13 16:53:27.689061-0400 BusBookingObjectiveC[56630:3855024] [AMSDK DEBUG <AnalyticsHitDatabase>]: Analytics request was sent with body
    
    (ndh=1&c.&a.&AppID=BusBookingObjectiveC%201%20%281.0%29&CarrierName=%28null%29&DailyEngUserEvent=DailyEngUserEvent&DayOfWeek=4&DeviceName=x86_64&HourOfDay=16&InstallDate=3%2F13%2F2019&InstallEvent=InstallEvent&LaunchEvent=LaunchEvent&Launches=1&MonthlyEngUserEvent=MonthlyEngUserEvent&OSVersion=iOS%2012.1&Resolution=750x1334&RunMode=Application&TimeSinceLaunch=1&internalaction=Lifecycle&locale=en-US&.a&.c&ce=UTF-8&cp=foreground&mid=67027929491180584128922600814231770586&pageName=BusBookingObjectiveC%201%20%281.0%29&pe=lnk_o&pev2=ADBINTERNAL%3ALifecycle&t=00%2F00%2F0000%2000%3A00%3A00%200%20240&ts=1552510406)
    

恭喜,您已将 SDK 添加到移动设备应用程序!

下一课程“添加 Adobe Experience Platform Identity Service”>

在此页面上