iOS エクステンションを使用して、Apple Watch アプリ(WatchOS 1)、Today ウィジェット、Photo Editing ウィジェットおよびその他の iOS エクステンションアプリから使用状況データを収集できます。
Adobe Experience Platform Mobile SDK に関する情報やドキュメントをお探しの場合こちらをクリックし、最新のドキュメントを参照してください。
2018 年 9 月に、SDK の新しいメジャーバージョンをリリースしました。これらの新しい Adobe Experience Platform Mobile SDK は、Experience Platform Launch から設定できます。
独自のラッパーではなく、iOS SDK を使用することをお勧めします。
Apple は、本体アプリにリクエストを送信し、応答を受信することで、Watch アプリが本体アプリとやり取りできるようにする API を一式提供しています。Watch アプリから本体アプリにディクショナリとしてトラッキングデータを送信し、本体アプリで任意のトラッキングメソッドを呼び出してデータを送信できますが、このソリューションには制限があります。
ほとんどの場合、Watch アプリの使用時には本体アプリがバックグラウンドで実行されているので、安全に呼び出せるメソッドは TrackLocation
、TrackActionInBackground
、TrackBeacon
の 3 つのみとなります。他のトラッキングメソッドはライフサイクルデータに干渉するので、Watch アプリからデータを送信する際には使用できません。
Watch アプリ向けの SDK には、アプリ内メッセージ以外のすべてのモバイル機能が含まれています。そのため、上記の 3 つのトラッキングメソッドで必要なデータを収集できる場合であっても、iOS SDK を使用してください。
少なくとも以下のターゲットを持つプロジェクトがあることを確認します。
WatchKit アプリを使用する場合は、3 つ目のターゲットが必要です。Apple Watch 用の開発について詳しくは、「Apple Watch 用の開発」を参照してください。
次の手順を Xcode プロジェクトで実行します。
AdobeMobileLibrary フォルダーをプロジェクトにドラッグします。
ADBMobileConfig.json
ファイルが本体アプリのターゲットのメンバーであることを確認します。
本体アプリのターゲットの「Build Phases」タブで、「Link Binary with Libraries」セクションを展開して、以下のライブラリを追加します。
AdobeMobileLibrary.a
libsqlite3.dylib
SystemConfiguration.framework
本体アプリのターゲットの「Capabilities」タブを開き、「App Groups」を有効にして、新しいアプリグループ(例:group.com.adobe.testAp
)を追加します。
AppDelegate で、Adobe Mobile ライブラリとやり取りをおこなう前に、アプリグループを application:didFinishLaunchingWithOptions
に設定します。
[ADBMobile
setAppGroup:@"group.com.adobe.testApp"];
アプリが予期せぬエラーなくビルドされることを確認します。
ADBMobileConfig.json
ファイルがエクステンションのターゲットのメンバーであることを確認します。
エクステンションのターゲットの「Build Phases」タブで、「Link Binary with Libraries」セクションを展開して、以下のライブラリを追加します。
AdobeMobileLibrary_Extension.a
libsqlite3.dylib
SystemConfiguration.framework
エクステンションのターゲットの「Capabilities」タブを開き、「App Groups」を有効にして、上記の「本体アプリの設定」の手順 4 で追加したアプリグループを選択します。
InterfaceController で、Adobe Mobile ライブラリとその他のやり取りをおこなう前に、アプリグループを awakeWithContext:
に設定します。
[ADBMobile
setAppGroup:@"group.com.adobe.testApp"];
アプリが予期せぬエラーなくビルドされることを確認します。
以下の情報を覚えておいてください。
データの取得元が本体アプリかエクステンションかを示すためのコンテキストデータ値 a.RunMode
が追加されました。
a.RunMode = Application
この値は、ヒット元が本体アプリであることを意味します。
a.RunMode = Extension
この値は、ヒット元が拡張機能であることを示します。
古いバージョンの SDK からアップグレードした場合、本体アプリが起動されると、Adobe によって、すべてのユーザーのデフォルトとキャッシュされたファイルが、本体アプリのフォルダーからアプリグループの共有フォルダーへと自動的に移行されます。
本体アプリが起動されない場合、拡張機能からのヒットは破棄されます。
本体アプリと拡張アプリの間では、バージョン番号とビルド番号を同じにする必要があります。
iOS 拡張アプリに対しては、ライフサイクルコールはトリガーされません。