iOS エクステンション実装

iOS エクステンションを使用して、Apple Watch アプリ(WatchOS 1)、Today ウィジェット、Photo Editing ウィジェットおよびその他の iOS エクステンションアプリから使用状況データを収集できます。

新しい Adobe Experience Platform Mobile SDK リリース

Adobe Experience Platform Mobile SDK に関する情報やドキュメントをお探しの場合こちらをクリックし、最新のドキュメントを参照してください。

2018 年 9 月に、SDK の新しいメジャーバージョンをリリースしました。これらの新しい Adobe Experience Platform Mobile SDK は、Experience Platform Launch から設定できます。

  • 開始するには、Adobe Experience Platform Launch に移動します。
  • Experience Platform SDK リポジトリの内容については、Github: Adobe Experience Platform SDK を参照してください。

独自のラッパーに代わる iOS SDK の使用に関する推奨事項

重要

独自のラッパーではなく、iOS SDK を使用することをお勧めします。

Apple は、本体アプリにリクエストを送信し、応答を受信することで、Watch アプリが本体アプリとやり取りできるようにする API を一式提供しています。Watch アプリから本体アプリにディクショナリとしてトラッキングデータを送信し、本体アプリで任意のトラッキングメソッドを呼び出してデータを送信できますが、このソリューションには制限があります。

ほとんどの場合、Watch アプリの使用時には本体アプリがバックグラウンドで実行されているので、安全に呼び出せるメソッドは TrackLocationTrackActionInBackgroundTrackBeacon の 3 つのみとなります。他のトラッキングメソッドはライフサイクルデータに干渉するので、Watch アプリからデータを送信する際には使用できません。

Watch アプリ向けの SDK には、アプリ内メッセージ以外のすべてのモバイル機能が含まれています。そのため、上記の 3 つのトラッキングメソッドで必要なデータを収集できる場合であっても、iOS SDK を使用してください。

はじめに

重要

少なくとも以下のターゲットを持つプロジェクトがあることを確認します。

  • アプリを含めるためのターゲットが 1 つ。
  • 拡張用のターゲットが 1 つ。

WatchKit アプリを使用する場合は、3 つ目のターゲットが必要です。Apple Watch 用の開発について詳しくは、「Apple Watch 用の開発」を参照してください。

本体アプリの設定

次の手順を Xcode プロジェクトで実行します。

  1. AdobeMobileLibrary フォルダーをプロジェクトにドラッグします。

  2. ADBMobileConfig.json ファイルが本体アプリのターゲットのメンバーであることを確認します。

  3. 本体アプリのターゲットの「Build Phases」タブで、「Link Binary with Libraries」セクションを展開して、以下のライブラリを追加します。

    • AdobeMobileLibrary.a
    • libsqlite3.dylib
    • SystemConfiguration.framework
  4. 本体アプリのターゲットの「Capabilities」タブを開き、「App Groups」を有効にして、新しいアプリグループ(例:group.com.adobe.testAp)を追加します。

  5. AppDelegate で、Adobe Mobile ライブラリとやり取りをおこなう前に、アプリグループを application:didFinishLaunchingWithOptions に設定します。

    [ADBMobile 
          setAppGroup:@"group.com.adobe.testApp"];
    
  6. アプリが予期せぬエラーなくビルドされることを確認します。

拡張機能の設定

  1. ADBMobileConfig.json ファイルがエクステンションのターゲットのメンバーであることを確認します。

  2. エクステンションのターゲットの「Build Phases」タブで、「Link Binary with Libraries」セクションを展開して、以下のライブラリを追加します。

    • AdobeMobileLibrary_Extension.a
    • libsqlite3.dylib
    • SystemConfiguration.framework
  3. エクステンションのターゲットの「Capabilities」タブを開き、「App Groups」を有効にして、上記の「本体アプリの設定」の手順 4 で追加したアプリグループを選択します。

  4. InterfaceController で、Adobe Mobile ライブラリとその他のやり取りをおこなう前に、アプリグループを awakeWithContext: に設定します。

    [ADBMobile 
          setAppGroup:@"group.com.adobe.testApp"];
    
  5. アプリが予期せぬエラーなくビルドされることを確認します。

追加情報

以下の情報を覚えておいてください。

  • データの取得元が本体アプリかエクステンションかを示すためのコンテキストデータ値 a.RunMode が追加されました。

    • a.RunMode = Application

      この値は、ヒット元が本体アプリであることを意味します。

    • a.RunMode = Extension

      この値は、ヒット元が拡張機能であることを示します。

  • 古いバージョンの SDK からアップグレードした場合、本体アプリが起動されると、Adobe によって、すべてのユーザーのデフォルトとキャッシュされたファイルが、本体アプリのフォルダーからアプリグループの共有フォルダーへと自動的に移行されます。

  • 本体アプリが起動されない場合、拡張機能からのヒットは破棄されます。

  • 本体アプリと拡張アプリの間では、バージョン番号とビルド番号を同じにする必要があります。

  • iOS 拡張アプリに対しては、ライフサイクルコールはトリガーされません。

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free