Show Menu
主题×

iOS 扩展实施

您可以使用 iOS 扩展帮助从 Apple Watch 应用程序 (WatchOS 1)、“今天”小组件、照片编辑小组件以及其他 iOS 扩展应用程序中收集使用情况数据。

新的 Adobe Experience Platform Mobile SDK 发行版本

查找与 Adobe Experience Platform Mobile SDK 相关的信息和文档?单击 此处 可获取最新的文档。
在 2018 年 9 月,我们发布了一个新的 SDK 主要版本。这些新的 Adobe Experience Platform Mobile SDK 可通过 Experience Platform Launch 进行配置。

有关使用 iOS SDK 而不使用包装器的建议

我们强烈建议您使用 iOS SDK,而不要使用包装器。
Apple 提供了一组允许 Watch 应用程序与容器应用程序进行通信(方法是向容器应用程序发送请求,然后接收响应)的 API。尽管您可以将跟踪数据作为词典从 Watch 应用程序发送到容器应用程序,然后在容器应用程序中调用任何跟踪方法来发送数据,但是这种解决方案存在局限性。
大多数情况下,当用户使用 Watch 应用程序时,容器应用程序将在后台运行,只有调用 TrackActionInBackground TrackLocation TrackBeacon 才是安全的。调用其他跟踪方法会干扰生命周期数据,因此您应该专门使用这三种方法,从 Watch 应用程序中发送数据。
即使这三种跟踪方法符合您的要求,仍请使用 iOS SDK,因为该适用于 Watch 应用程序的 SDK 包含除应用程序内消息传送之外的所有移动功能。

入门指南

确保您的项目至少具有以下目标:
  • 一个用于包含应用程序的目标。
  • 一个用于扩展的目标。
如果您正在使用 WatchKit 应用程序,则还应具有第三个目标。有关为 Apple Watch 开发的更多信息,请参阅 为 Apple Watch 开发

配置容器应用程序

在您的 Xcode 项目中完成以下步骤:
  1. 将 AdobeMobileLibrary 文件夹拖动到您的项目中。
  2. 确保 ADBMobileConfig.json 文件是容器应用程序目标的成员。
  3. 在容器应用程序目标的​ 生成阶段 ​选项卡中,展开​ 将二进制文件与库关联 ​部分,然后添加以下库:
    • AdobeMobileLibrary.a
    • libsqlite3.dylib
    • SystemConfiguration.framework
  4. 打开容器应用程序目标的​ 功能 ​选项卡,启用​ 应用程序组 ,然后添加一个新的应用程序组(例如, group.com.adobe.testAp )。
  5. 与 Adobe Mobile 库进行任何交互之前,在应用程序委托的 application:didFinishLaunchingWithOptions 中设置该应用程序组:
    [ADBMobile 
          setAppGroup:@"group.com.adobe.testApp"];
    
    
  6. 确认您的应用程序在生成时没有出现意外错误。

配置扩展

  1. 确保 ADBMobileConfig.json 文件是扩展目标的成员。
  2. 在扩展目标的​ 生成阶段 ​选项卡中,展开​ 将二进制文件与库关联 ​部分,然后添加以下库:
    • AdobeMobileLibrary_Extension.a
    • libsqlite3.dylib
    • SystemConfiguration.framework
  3. 打开扩展目标的​ 功能 ​选项卡,启用​ 应用程序组 ,然后选择您在上面“配置容器应用程序”**​的步骤 4 中添加的应用程序组。
  4. 与 Adobe Mobile 库进行任何交互之前,在 InterfaceController 的 awakeWithContext: 中设置该应用程序组:
    [ADBMobile 
          setAppGroup:@"group.com.adobe.testApp"];
    
    
  5. 确认您的应用程序在生成时没有出现意外错误。

其他说明

请牢记以下信息:
  • 添加了一个额外的上下文数据值 a.RunMode ,以指示数据是来自容器应用程序还是扩展:
    • a.RunMode = Application
      此值表示点击来自容器应用程序。
    • a.RunMode = Extension
      此值表示点击来自扩展。
  • 如果您从早期版本的 SDK 升级,则在容器应用程序启动后,Adobe 会自动将容器应用程序文件夹中的所有用户默认设置和缓存文件迁移到应用程序组的共享文件夹。
  • 如果容器应用程序从未启动过,则会丢弃扩展中的点击量。
  • 您的容器应用程序和扩展应用程序的版本号和内部版本号必须相同。
  • 在 iOS 扩展应用程序中不会触发生命周期调用。