Core Implementation and Lifecycle

This information helps you implement the iOS library and collect lifecycle metrics, such as launches, upgrades, sessions, engaged users, and so on.

This section contains the following information:

Download the SDK

Important: To download the SDKs, you must use iOS 6 or later.
  1. Complete the steps in Create a Report Suite to set up a development report suite and download a pre-populated version of the configuration file.

  2. Download, unzip the [Your_App_Name_]AdobeMobileLibrary-4.*-iOS.zip file, and verify that you have the following software components:
    • ADBMobile.h, the Objective-C header file that is used for iOS AppMeasurement.
    • ADBMobileConfig.json, the SDK configuration file that is customized for your app.
    • AdobeMobileLibrary.a, a bitcode-enabled fat binary that contains the library builds for iOS devices (armv7, armv7s, arm64) and simulators (i386, x86_64).

      This fat binary should be linked when the target is intended for an iOS app.

    • AdobeMobileLibrary_Extension.a, a bitcode-enabled fat binary that contains the library builds for iOS devices (armv7, armv7s, arm64) and simulators (i386, x86_64).

      This fat binary should be linked when the target is intended for an iOS extension.

    • AdobeMobileLibrary_Watch.a, a bitcode-enabled fat binary that contains the library builds for Apple Watch devices (armv7k) and simulators (i386, x86_64).

      This fat binary should be linked when the target is intended for an Apple Watch (watchOS 2) extension app.

    • AdobeMobileLibrary_TV.a, a bitcode-enabled fat binary that contains the library builds for new Apple TV devices (arm64) and simulator (x86_64).

      This fat binary should be linked when target is intended for an Apple TV (tvOS) app.

Important: If you download the SDK outside the Adobe Mobile services UI, the ADBMobileConfig.json must be manually configured. If you are new to Analytics and the Mobile SDK, see Before You Start to set up a development report suite and download a pre-populated version of the configuration file.

Add the SDK and Config File to your Project

  1. Launch the Xcode IDE and open your app.

  2. In Project Navigator, drag the AdobeMobileLibrary folder and drop it under your project .

  3. Verify the following:

    • The Copy Items if needed checkbox is selected.
    • Create groups is selected.
    • None of the checkboxes in the Add to targets section is selected.

  4. Click Finish.

  5. In Project Navigator, select ADBMobileConfig.json.

  6. In File Inspector, add the JSON file to any targets in your project that will use the Adobe SDK.

  7. In Project Navigator, complete the following steps:
    1. Click on your app.
    2. On the General tab, select your targets and link the required frameworks and libraries in the Linked Frameworks and Libraries sections.
    • iOS App Targets

      • SystemConfiguration.framework
      • libsqlite3.0.tbd
      • AdobeMobileLibrary.a

    • iOS Extension Target

      • SystemConfiguration.framework
      • libsqlite3.0.tbd
      • AdobeMobileLibrary_Extension.a

    • Apple Watch (watchOS 2) Target

      • libsqlite3.0.tbd
      • AdobeMobileLibrary_Watch.a

    • Apple TV (tvOS) Target

      • SystemConfiguration.framework
      • libsqlite3.0.tbd
      • AdobeMobileLibrary_TV.a

    Warning: Linking more than one AdobeMobileLibrary*.a file in the same target will result in unexpected behavior or the inability to build.
  8. Confirm that your app builds without errors.

Implement Lifecycle Metrics

Important: iOS will send lifecycle information with or without calling collectlifecycledata; and collectlifecycledata is only a way to initiate lifecycle earlier in the application's launch sequence.

After you enable lifecycle, each time your app is launched, one hit is sent to measure launches, upgrades, sessions, engaged users, and other Lifecycle Metrics.

Add a collectLifecycleData/collectLifecycleDataWithAdditionalData call in application:didFinishLaunchingWithOptions:

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

Include Additional Data with Lifecycle Calls

To include additional data with lifecycle metric calls, use collectLifecycleDataWithAdditionalData:

Important: Any data that is passed to the SDK through collectLifecycleDataWithAdditionalData: will be persisted in NSUserDefaults by the SDK. The SDK strips the values in the NSDictionary parameter that are not of the NSString or NSNumber types.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSMutableDictionary *contextData = [NSMutableDictionary dictionary];
    [contextData setObject:@"Game" forKey:@"myapp.category"];
    [ADBMobile collectLifecycleDataWithAdditionalData:contextData];
    return YES;
}

Additional context data values that are sent with collectLifecycleDataWithAdditionalData must be mapped to custom variables in Adobe Mobile services:



Other Lifecycle Metrics are collected automatically.

What to do next

Complete the following tasks: