核心实施和生命周期

此信息可帮助您实施 iOS 库并收集生命周期量度,例如启动次数、升级次数、会话数、参与用户数等。

下载 SDK

重要

SDK 需要 iOS 8 或更高版本。

先决条件

在下载 SDK 之前,请先完成核心实施和生命周期的“创建报表包”**​中的步骤,以设置一个开发报表包并下载预填充版本的配置文件。

要下载 SDK,请执行以下操作:

重要

从版本 4.21.0 开始,SDK 通过 XCFramework 进行分发。如果使用 4.21.0 或更高版本,请按照以下步骤操作。

SDK 版本 4.21.0 需要 Xcode 12.0 或更高版本以及(如果适用)Cocoapods 1.10.0 或更高版本。

  1. 下载并解压缩 [Your_App_Name_]AdobeMobileLibrary-4.*-iOS.zip 文件,同时确认 AdobeMobileLibrary 目录中具有以下软件组件:

    • ADBMobile.h - 用于 iOS SDK 的 Objective-C 头文件。

    • ADBMobileConfig.json - 为您的应用程序自定义的 SDK 配置文件。

    • AdobeMobile.xcframework - 包含两个胖二进制文件,分别用于 iOS 设备(armv7、armv7s、arm64)和模拟器(i386、x86_64、arm64)。

      定位 iOS 应用程序时应链接此 XCFramework。

    • AdobeMobileExtension.xcframework - 包含两个胖二进制文件,分别用于 iOS 设备(armv7、armv7s、arm64)和模拟器(i386、x86_64、arm64)。

      定位 iOS 扩展时应链接此 XCFramework。

    • AdobeMobileWatch.xcframework - 包含两个胖二进制文件,分别用于 watchOS 设备(arm64_32、armv7k)和模拟器(i386、x86_64、arm64)。

      定位 Apple Watch (watchOS) 应用程序时应链接此 XCFramework。

    • AdobeMobileTV.xcframework - 包含两个胖二进制文件,分别用于 tvOS 设备 (arm64) 和模拟器(x86_64、arm64)。

      定位 Apple TV (tvOS) 应用程序时应链接此 XCFramework。

重要

在低于 4.21.0 的版本中,SDK 通过二进制文件进行分发。如果使用的版本低于 4.21.0,请按照以下步骤操作。

  1. 下载并解压缩 [Your_App_Name_]AdobeMobileLibrary-4.*-iOS.zip 文件,同时确认具有以下软件组件:

    • ADBMobile.h,用于 iOS AppMeasurement 的 Objective-C 头文件。

    • ADBMobileConfig.json,为您的应用程序自定义的 SDK 配置文件。

    • AdobeMobileLibrary.a,启用 bitcode 的胖二进制文件,其中包含为 iOS 设备(armv7、armv7s、arm64)和模拟器(i386、x86_64)生成的库。

      当目标面向 iOS 应用程序时,应该关联此胖二进制文件。

    • AdobeMobileLibrary_Extension.a,启用 bitcode 的胖二进制文件,其中包含为 iOS 设备(armv7、armv7s、arm64)和模拟器(i386、x86_64)生成的库。

      当目标面向 iOS 扩展时,应该关联此胖二进制文件。

    • AdobeMobileLibrary_Watch.a,启用 bitcode 的胖二进制文件,其中包含为 Apple Watch 设备 (armv7k) 和模拟器(i386、x86_64)生成的库。

      当目标面向 Apple Watch (watchOS 2) 扩展应用程序时,应该关联此胖二进制文件。

    • AdobeMobileLibrary_TV.a,启用 bitcode 的胖二进制文件,其中包含为新 Apple TV 设备 (arm64) 和模拟器 (x86_64) 生成的库。

      当目标面向 Apple TV (tvOS) 应用程序时,应该关联此胖二进制文件。

重要

如果您在 Adobe Mobile Services 用户界面之外下载 SDK,则必须手动配置 ADBMobileConfig.json 文件。如果您是初次使用 Analytics 和 Mobile SDK,请参阅开始之前以设置一个开发报表包并下载预填充版本的配置文件。

将 SDK 和配置文件添加到您的项目

  1. 启动 Xcode IDE 并打开您的应用程序。

  2. 在项目导航器中,将 AdobeMobileLibrary 文件夹拖放到您的项目下。

  3. 确认以下内容:

    • 已选中​根据需要复制项目​复选框。
    • 已选中​创建群组
    • 未选中​添加到目标​部分中的任何复选框。

  4. 单击​完成

  5. 在​项目导航器​中,选择 ADBMobileConfig.json

  6. 在​文件检查器​中,将该 JSON 文件添加到您的项目中将使用 Adobe SDK 的任何目标。

  7. 在​项目导航器​中,完成以下步骤:

    1. 单击您的应用程序。
    2. 在​常规​选项卡上,选择您的目标并关联​关联的框架​和​​部分中的所需框架和库。
    • iOS 应用程序目标

      • SystemConfiguration.framework
      • WebKit.framework
      • libsqlite3.0.tbd
      • AdobeMobileLibrary.a
      • CoreLocation.framework(可选,但是对于“地理跟踪”功能是必需的)
    • iOS 扩展目标

      • SystemConfiguration.framework
      • libsqlite3.0.tbd
      • AdobeMobileLibrary\_Extension.a
    • Apple Watch (watchOS 2) 目标

      • libsqlite3.0.tbd
      • AdobeMobileLibrary\_Watch.a
    • Apple TV (tvOS) 目标

      • SystemConfiguration.framework
      • libsqlite3.0.tbd
      • AdobeMobileLibrary\_TV.a
    注意

    在同一目标中关联多个 AdobeMobileLibrary*.a 文件将导致意外行为或无法执行生成操作。

    重要

    如果使用版本 4.21.0 或更高版本,请确保未嵌入 Adobe XCFramework。

  8. 确认您的应用程序在生成时没有出现错误。

实施生命周期量度

重要

无论是否调用 collectlifecycledata,iOS 都将发送生命周期信息;collectlifecycledata 是在应用程序启动序列中提前启动生命周期的唯一方法。

启用生命周期后,每次启动您的应用程序时,系统都会发送一个点击来测量启动次数、升级次数、会话数、参与用户数及其他生命周期量度

application:didFinishLaunchingWithOptions 中添加一个 collectLifecycleData/collectLifecycleDataWithAdditionalData 调用:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 [ADBMobile collectLifecycleData];
    return YES;
}

通过生命周期调用包含其他数据

要通过生命周期量度调用包含其他数据,请使用 collectLifecycleDataWithAdditionalData

重要

通过 collectLifecycleDataWithAdditionalData: 传递到 SDK 的任何数据将由 SDK 保留在 NSUserDefaults 中。SDK 会删除 NSDictionary 参数中类型不为 NSStringNSNumber 的值。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSMutableDictionary *contextData = [NSMutableDictionary dictionary];
    [contextData setObject:@"Game" forKey:@"myapp.category"];
    [ADBMobile collectLifecycleDataWithAdditionalData:contextData];
    return YES;
}

通过 collectLifecycleDataWithAdditionalData 发送的其他上下文数据值必须映射到 Adobe Mobile Services 中的自定义变量:

其他生命周期量度将会自动收集。有关更多信息,请参阅生命周期量度

后续操作

完成以下任务:

在此页面上