コア実装とライフサイクル

iOS ライブラリの実装や、起動、アップグレード、セッション、関与ユーザーといったライフサイクル指標の収集に役立つ情報です。

SDK のダウンロード

重要

SDK には iOS 8 以降が必要です。

前提条件

SDK をダウンロードする前に、「コア実装およびライフサイクル」の「レポートスイートの作成」の手順を実行して、開発レポートスイートを設定し、設定ファイルの事前入力バージョンをダウンロードします。

SDK をダウンロードするには

重要

バージョン 4.21.0 以降、SDK は XCFrameworks を介して配布されます。 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:2 つの大きなバイナリが含まれ、それぞれ iOS デバイス(armv7、armv7s、arm64)とシミュレーター(i386、x86_64、arm64)用に 1 つずつ含まれます。

      iOS アプリをターゲティングする際は、この XCFramework をリンクする必要があります。

    • AdobeMobileExtension.xcframework:2 つの大きなバイナリが含まれ、それぞれ iOS デバイス(armv7、armv7s、arm64)とシミュレーター(i386、x86_64、arm64)用に 1 つずつ含まれます。

      iOS 拡張機能をターゲティングする際は、この XCFramework をリンクする必要があります。

    • AdobeMobileWatch.xcframework:2 つの大きなバイナリが含まれ、それぞれ watchOS デバイス(arm64_32、armv7k)とシミュレーター(i386、x86_64、arm64)用に 1 つずつが含まれます。

      この XCFramework は、Apple Watch(watchOS)アプリをターゲティングする際にリンクする必要があります。

    • AdobeMobileTV.xcframework:2 つの大きなバイナリが含まれ、それぞれ tvOS デバイス(arm64)とシミュレーター(x86_64、arm64)用に 1 つずつ含まれます。

      この XCFramework は、Apple TV(tvOS)アプリをターゲティングする際にリンクする必要があります。

重要

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:iOS デバイス用のライブラリビルド(armv7、armv7s、arm64)とシミュレーター(i386 および x86_64)を含む、ビットコード対応のファットバイナリ。

      ターゲットが iOS アプリを対象としている場合は、このファットバイナリがリンクされている必要があります。

    • AdobeMobileLibrary_Extension.a:iOS デバイス用のライブラリビルド(armv7、armv7s、arm64)とシミュレーター(i386 および x86_64)を含む、ビットコード対応のファットバイナリ。

      ターゲットが iOS エクステンションを対象としている場合は、このファットバイナリがリンクされている必要があります。

    • AdobeMobileLibrary_Watch.a:Apple Watch デバイス用のライブラリビルド(armv7k)とシミュレーター(i386 および x86_64)を含む、ビットコード対応のファットバイナリ。

      ターゲットが Apple Watch(watchOS 2)エクステンションアプリを対象としている場合は、このファットバイナリがリンクされている必要があります。

    • AdobeMobileLibrary_TV.a:新しい Apple TV デバイス用のライブラリビルド(arm64)とシミュレーター(x86_64)を含む、ビットコード対応のファットバイナリ。

      ターゲットが Apple TV(tvOS)アプリを対象としている場合は、このファットバイナリがリンクされている必要があります。

重要

SDK を Adobe Mobile Services UI 以外でダウンロードした場合は、ADBMobileConfig.json ファイルを手動で設定する必要があります。Analytics と Mobile SDK を使い始めたばかりのユーザーが開発レポートスイートを設定して、事前に構成された設定ファイルをダウンロードする場合は、「事前準備」を参照してください。

プロジェクトへの SDK と設定ファイルの追加

  1. Xcode IDE を起動して、アプリを開きます。

  2. プロジェクトナビゲーターで、AdobeMobileLibrary フォルダーをドラッグして、プロジェクトにドロップします。

  3. 以下を確認します。

    • Copy Items if Needed​チェックボックスがオンになっている。
    • Create Groups​がオンになっている。
    • Add to targets​セクションのチェックボックスがすべてオフになっている。

  4. Finish​をクリックします。

  5. プロジェクトナビゲーター​で、ADBMobileConfig.json​を選択します。

  6. ファイルインスペクター​で、Adobe SDK を使用するプロジェクト内の任意のターゲットにこの JSON ファイルを追加します。

  7. プロジェクトナビゲーター​で、以下の手順を実行します。

    1. アプリをクリックします。
    2. General​タブで、ターゲットを選択し、Linked Frameworks​および​Libraries​セクションで、必要なフレームワークおよびライブラリをリンクします。
    • iOS App Targets

      • 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 XCFrameworks が埋め込まれていないことを確認してください。

  8. アプリがエラーなくビルドされることを確認します。

ライフサイクル指標の実装

重要

iOS では、collectlifecycledata の呼び出しの有無にかかわらず、ライフサイクル情報を送信します。collectlifecycledata は、アプリケーションがシーケンスを起動するより前にライフサイクルを開始するための唯一の手段です。

ライフサイクルを有効にすると、アプリが起動されるたびに、1 件のヒットが送信されて、起動、アップグレード、セッション、アクションを実行したユーザー、その他の多くのライフサイクル指標が測定されます。

application:didFinishLaunchingWithOptionscollectLifecycleDatacollectLifecycleDataWithAdditionalData 呼び出しを追加します。

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

ライフサイクル呼び出しで追加のデータを含める

追加データをライフサイクル指標コールに含めるには、collectLifecycleDataWithAdditionalData を使用します。

重要

collectLifecycleDataWithAdditionalData: を使用して SDK に渡されたデータはすべて、SDK によって NSUserDefaults に保持されます。SDK は、NSDictionary 型または NSString 型ではない NSNumber パラメーターの値を削除します。

- (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 のカスタム変数にマッピングする必要があります。

その他のライフサイクル指標は自動的に収集されます。詳しくは、「ライフサイクル指標」を参照してください。

次の作業

次のタスクを実行します。

このページ