Adobe Experience Platform Mobile SDK のインストール tutorial_install_mobile_sdks

Adobe Experience Platform Mobile SDK をモバイルアプリに実装する方法について説明します。

前提条件

学習目標

このレッスンでは、次の操作を行います。

  • 必要なSDKをプロジェクトに追加します。
  • 拡張機能を登録します。
NOTE
モバイルアプリの実装では、拡張機能​と​ SDK ​という用語はほぼ同じです。
iOS

Swift パッケージマネージャー

CocoaPodsとPod ファイル(SDKのインストール手順の生成で説明)を使用する代わりに、Xcodeのネイティブ Swift パッケージマネージャーを使用して個々のパッケージを追加します。 Xcode プロジェクトには、すべてのパッケージの依存関係が既に追加されています。 Xcode パッケージ依存関係​の画面は次のようになります。

Xcode パッケージの依存関係 {modal="regular"}

Xcodeでは、ファイル > パッケージを追加…​を使用してパッケージを追加できます。 次の表は、パッケージの追加に使用するURLへのリンクを示しています。 また、各パッケージに関する詳細情報も記載されています。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2
パッケージ 説明
AEP Core

AEPCore、AEPServicesおよびAEPIdentityの拡張機能は、Adobe Experience Platform SDKの基盤を表しています。SDKを使用するすべてのアプリに、これらの拡張機能が含まれている必要があります。 これらのモジュールには、すべてのSDK拡張機能に必要な共通の機能とサービスが含まれています。

  • AEPCoreには、イベント ハブの実装が含まれています。 イベントハブは、アプリとSDK間でイベントを配信するために使用されるメカニズムです。 イベントハブは、拡張機能の間でデータを共有するためにも使用されます。
  • AEPServicesには、ネットワーク、ディスク アクセス、データベース管理など、プラットフォーム サポートに必要な再利用可能な実装がいくつか用意されています。
  • AEPIdentityは、Adobe Experience Platform Identity Serviceとの統合を実装します。
  • AEPSignalは、マーケターがアプリに「シグナル」を送信し、データを外部の宛先に送信したり、URLを開いたりできるようにするAdobe Experience Platform SDK Signal拡張機能を表します。
  • AEPLifecycleは、アプリケーションのインストールまたはアップグレード情報、アプリケーションの起動とセッション情報、デバイス情報、アプリケーション開発者が提供するその他のコンテキストデータなど、アプリケーションのライフサイクル指標の収集に役立つAdobe Experience Platform SDKのライフサイクル拡張機能を表します。
AEP Edge Adobe Experience Platform Edge Network モバイル拡張機能(AEPEdge)を使用すると、モバイルアプリケーションからAdobe Edge Networkにデータを送信できます。 この拡張機能を使用すると、Adobe Experience Cloud機能をより堅牢な方法で実装し、1回のネットワーク呼び出しを通じて複数のAdobe ソリューションにサービスを提供し、同時にこの情報をAdobe Experience Platformに転送できます。
Edge Network モバイル拡張機能は、Adobe Experience Platform SDKの拡張機能です。 この拡張機能には、イベント処理のAEPCoreおよびAEPServices拡張機能と、ECIDなどのIDを取得するためのAEPEdgeIdentity拡張機能が必要です。
AEP Edge ID Adobe Experience Platform Edge ID モバイル拡張機能(AEPEdgeIdentity)を使用すると、Adobe Experience Platform SDKとEdge Network拡張機能を使用する際に、モバイルアプリケーションからユーザーID データを処理できるようになります。
AEP Edgeの同意 Adobe Experience Platform Consent Collection モバイル拡張機能(AEPConsent)は、Adobe Experience Platform SDKとEdge Network拡張機能を使用する場合、モバイルアプリケーションから同意設定の収集を有効にします。
AEP ユーザープロファイル ​ Adobe Experience Platform User Profile Mobile拡張機能(AEPUserProfile)は、Adobe Experience Platform SDKのユーザープロファイルを管理するための拡張機能です。
AEPの場所 Adobe Experience Platform Places拡張機能(AEPPlaces)を使用すると、Adobe Places インターフェイスおよびAdobe Data Collection Tag ルールで定義されている位置情報イベントを追跡できます。
AEP Messaging Adobe Experience Platform Messaging拡張機能(AEPMessaging)を使用すると、プッシュ通知トークンとプッシュ通知クリックスルーのフィードバックをAdobe Experience Platformに送信できます。
AEP Optimize Adobe Experience Platform Optimize拡張機能(AEPOptimize)は、Adobe TargetまたはAdobe Journey Optimizer Offer Decisioningを使用して、Adobe Experience Platform Mobile SDKでリアルタイムのパーソナライゼーションワークフローを有効にするAPIを提供します。 パーソナライゼーションクエリイベントをExperience Edge Networkに送信するには、AEPCoreおよびAEPEdgeの拡張機能が必要です。
AEP Assurance Adobe Experience Platform Assuranceは、モバイルアプリでのデータ収集やエクスペリエンスの提供を検証、検証するためのAdobe Experience Cloudの製品です。

拡張機能をインポート

サンプルアプリの​Start フォルダーでプロジェクトをXcodeで開きます。

Xcodeで、Luma > Luma > AppDelegate​に移動し、次のインポートがこのソースファイルに含まれていることを確認します。

code language-swift
// import AEP MobileSDK libraries
import AEPCore
import AEPServices
import AEPIdentity
import AEPSignal
import AEPLifecycle
import AEPEdge
import AEPEdgeIdentity
import AEPEdgeConsent
import AEPUserProfile
import AEPPlaces
import AEPMessaging
import AEPOptimize
import AEPAssurance

Luma > Luma > Utils > MobileSDK​に対して同じことを行います。

AppDelegateを更新

Xcode プロジェクトナビゲーターで​Luma > Luma > AppDelegate​に移動します。

  1. environmentFileIdの@AppStorage値YOUR_ENVIRONMENT_ID_GOES_HEREを、Generate SDK install instructionsのタグから取得したEnvironment File ID値に置き換えます。

    code language-swift
    @AppStorage("environmentFileId") private var environmentFileId = "YOUR_ENVIRONMENT_ID_GOES_HERE"
    
  2. 次のコードをapplication(_, didFinishLaunchingWithOptions)関数に追加します。

    code language-swift
    // Define extensions
    let extensions = [
        AEPIdentity.Identity.self,
        Lifecycle.self,
        Signal.self,
        Edge.self,
        AEPEdgeIdentity.Identity.self,
        Consent.self,
        UserProfile.self,
        Places.self,
        Messaging.self,
        Optimize.self,
        Assurance.self
    ]
    
    // Register extensions
    MobileCore.registerExtensions(extensions, {
        // Use the environment file id assigned to this application via Adobe Experience Platform Data Collection
        Logger.aepMobileSDK.info("Luma - using mobile config: \(self.environmentFileId)")
        MobileCore.configureWith(appId: self.environmentFileId)
    
        // set this to false or comment it when deploying to TestFlight (default is false),
        // set this to true when testing on your device.
        MobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true])
        if appState != .background {
            // only start lifecycle if the application is not in the background
            MobileCore.lifecycleStart(additionalContextData: nil)
        }
    
        // assume unknown, adapt to your needs.
        MobileCore.setPrivacyStatus(.unknown)
    })
    

上記のコードでは、次の操作を行います。

  1. 必要な拡張機能を登録します。
  2. タグプロパティ設定を使用するようにMobileCoreおよびその他の拡張機能を設定します。
  3. デバッグログを有効にします。 詳細とオプションについては、Adobe Experience Platform Mobile SDK ドキュメント ​を参照してください。
  4. ライフサイクル監視を開始します。 詳しくは、チュートリアルの​ ライフサイクル ​ ステップを参照してください。
  5. デフォルトの同意を不明に設定します。 詳しくは、チュートリアルの「同意 ステップ」を参照してください。

ビルド中のタグ環境(開発、ステージング、実稼動環境)から、environmentFileIdに基づくappIdを使用してMobileCore.configureWith(appId: self.environmentFileId)を更新してください。

Android

Gradle

Generate SDKのインストール手順の依存関係を使用して、GradleとAndroid Studioの統合を使用して個々のパッケージを追加します。Android Studio プロジェクトには、すべてのパッケージの依存関係が既に追加されています。

  1. ツールとして FolderOutline を選択します。

  2. Android ビューを選択します。

  3. 左側のペインから​Gradle scripts > build.gradle.kts (モジュール :app)​を選択します。 次に、右側のペインで、dependenciesが表示されるまでスクロールします。

    Android Gradleの依存関係 {modal="regular"}

Android Studioでは、ファイル > プロジェクト構造…​を使用して、モジュールの依存関係を追加できます。 依存関係​を選択し、モジュール 追加 を使用してモジュールを追加します。 以下の表は、依存関係モジュールの追加に使用するURLへのリンクを示しています。 また、各モジュールに関する詳細な情報も表示されます。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2
パッケージ
com.adobe.
marketing.mobile:
説明
​ コア ​

MobileCoreとIdentityの拡張機能は、Adobe Experience Platform SDKの基盤を表しています。 SDKを使用するすべてのアプリには、それらを含める必要があります。 これらのモジュールには、すべてのSDK拡張機能に必要な共通の機能とサービスが含まれています。

  • MobileCoreには、イベント ハブの実装が含まれています。 イベントハブは、アプリとSDK間でイベントを配信するために使用されるメカニズムです。 イベントハブは、拡張機能の間でデータを共有するためにも使用され、ネットワーク、ディスクアクセス、データベース管理など、プラットフォームサポートに必要ないくつかの再利用可能な実装を提供します。
  • Identityは、Adobe Experience Platform Identity Serviceとの統合を実装します。
  • Signalは、マーケターがアプリに「シグナル」を送信し、データを外部の宛先に送信したり、URLを開いたりできるようにする、Adobe Experience Platform SDKのSignal拡張機能を表します。
  • Lifecycleは、アプリケーションのインストールまたはアップグレード情報、アプリケーションの起動とセッション情報、デバイス情報、アプリケーション開発者が提供するその他のコンテキストデータなど、アプリケーションのライフサイクル指標の収集に役立つAdobe Experience Platform SDKのライフサイクル拡張機能を表します。
​ エッジ ​ Adobe Experience Platform Edge Network モバイル拡張機能(AEPEdge)を使用すると、モバイルアプリケーションからAdobe Edge Networkにデータを送信できます。 この拡張機能を使用すると、Adobe Experience Cloud機能をより堅牢な方法で実装し、1回のネットワーク呼び出しを通じて複数のAdobe ソリューションにサービスを提供し、同時にこの情報をAdobe Experience Platformに転送できます。
Edge Network モバイル拡張機能は、Adobe Experience Platform SDKの拡張機能です。 拡張機能には、イベント処理にMobile CoreおよびServices拡張機能が必要です。 IDを取得するためのIdentity for Edge Network拡張機能(ECIDなど)。
edgeidentity Adobe Experience Platform Edge ID モバイル拡張機能を使用すると、Adobe Experience Platform SDKとEdge Network拡張機能を使用する際に、モバイルアプリケーションからユーザーID データを処理できます。
edgeconsent Adobe Experience Platform Consent Collection モバイル拡張機能を使用すると、Adobe Experience Platform SDKとEdge Network拡張機能を使用する場合に、モバイルアプリケーションから同意設定を収集できます。
userprofile Adobe Experience Platform User Profile Mobile拡張機能は、Adobe Experience Platform SDKのユーザープロファイルを管理するための拡張機能です。
aepplaces Adobe Places サービスは、位置情報を利用してモバイルアプリに位置情報を提供する位置情報サービスです。 また、使いやすい豊富なSDKインターフェイスと、柔軟性の高いPOI データベースを利用することで、位置情報を把握できます。 詳細については、Places サービスのドキュメントを参照してください。
このサービスは、Android 2.x Adobe Experience Platform SDKのPlaces モバイル拡張機能であり、イベント処理にはコア拡張機能が必要です。
​ メッセージ ​ Adobe Experience Platform Messaging拡張機能は、モバイルアプリのプッシュ通知、アプリ内メッセージ、コードベースのエクスペリエンスを強化します。 この拡張機能は、ユーザープッシュトークンの収集にも役立ち、Adobe Experience Platform サービスとのインタラクション測定の管理にも役立ちます。
最適化 Adobe Experience Platform Optimize拡張機能は、Adobe TargetまたはAdobe Journey Optimizer Offer Decisioningを使用して、Adobe Experience Platform SDKでリアルタイムのパーソナライゼーションワークフローを有効にするAPIを提供します。 これはモバイルコアに依存し、パーソナライゼーションクエリイベントをExperience Edge Networkに送信するにはEdge拡張機能が必要です。
保証 Assurance(別名プロジェクト Griffon)は、Adobe Experience Platform Assuranceと連携できるAdobe Experience Platformのモバイル拡張機能です。 この拡張機能は、モバイルアプリでデータを収集したり、エクスペリエンスを提供したりする方法を検査、証明、シミュレーション、検証するのに役立ちます。 この拡張機能はMobileCoreを必要とします。

拡張機能をインポート

Android Studioで、app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication​に移動し、次のインポートがソースファイルの一部であることを確認します。

code language-kotlin
import com.adobe.marketing.mobile.Assurance
import com.adobe.marketing.mobile.Edge
import com.adobe.marketing.mobile.Lifecycle
import com.adobe.marketing.mobile.LoggingMode
import com.adobe.marketing.mobile.Messaging
import com.adobe.marketing.mobile.MobileCore
import com.adobe.marketing.mobile.MobilePrivacyStatus
import com.adobe.marketing.mobile.Places
import com.adobe.marketing.mobile.Signal
import com.adobe.marketing.mobile.UserProfile
import com.adobe.marketing.mobile.edge.consent.Consent
import com.adobe.marketing.mobile.edge.identity.Identity
import com.adobe.marketing.mobile.optimize.Optimize

アプリ > kotlin+java > com.adobe.luma.tutorial.android > モデル > MobileSDK​に対して同じことを行います。

LumaApplicationの更新

Android ビューで、Android Studioの​app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication​に移動します。

  1. private var environmentFileId = "YOUR_ENVIRONMENT_ID_GOES_HERE"の"YOUR_ENVIRONMENT_FILE_ID"を、Generate SDK install instructionsのタグから取得したEnvironment File ID値に置き換えます。

    code language-kotlin
    private var environmentFileId = "YOUR_ENVIRONMENT_ID_GOES_HERE"
    
  2. 次のコードをclass LumaApplication : Application()のoverride fun onCreate()関数に追加します。

    code language-kotlin
    // Define extensions
    val extensions = listOf(
       Identity.EXTENSION,
       Lifecycle.EXTENSION,
       Signal.EXTENSION,
       Edge.EXTENSION,
       Consent.EXTENSION,
       UserProfile.EXTENSION,
       Places.EXTENSION,
       Messaging.EXTENSION,
       Optimize.EXTENSION,
       Assurance.EXTENSION
    )
    
    // Register extensions
    MobileCore.registerExtensions(extensions) {
    // Use the environment file id assigned to this application via Adobe Experience Platform Data Collection
      Log.i("Luma", "Using mobile config: $environmentFileId")
      MobileCore.configureWithAppID(environmentFileId)
    
      // set this to true when testing on your device, default is false.
      //MobileCore.updateConfiguration(mapOf("messaging.useSandbox" to true))
    
      // assume unknown, adapt to your needs.
      MobileCore.setPrivacyStatus(MobilePrivacyStatus.UNKNOWN)
    }
    

    上記のコードでは、次の操作を行います。

    1. 必要な拡張機能を登録します。
    2. タグプロパティ設定を使用するようにMobileCoreおよびその他の拡張機能を設定します。
    3. デバッグログを有効にします。 詳細とオプションについては、Adobe Experience Platform Mobile SDK ドキュメント ​を参照してください。
    4. ライフサイクル監視を開始します。 詳しくは、チュートリアルの​ ライフサイクル ​ ステップを参照してください。
    5. デフォルトの同意を不明に設定します。 詳しくは、チュートリアルの「同意 ステップ」を参照してください。

構築中のタグ環境(開発、ステージング、実稼動環境)の環境ファイル IDに基づいて、MobileCore.configureWith(environmentFileId)をenvironmentFileIdに更新してください。

SUCCESS
必要なパッケージをインストールし、プロジェクトを更新して、チュートリアルの残りの部分で使用する必要なAdobe Experience Platform Mobile SDK拡張機能を登録しました。
Adobe Experience Platform Mobile SDKについて学ぶために時間を割いていただきありがとうございます。 ご質問がある場合、一般的なフィードバックを共有したい場合、または今後のコンテンツに関する提案がある場合は、このExperience League コミュニティ ディスカッション投稿で共有してください

次:Assuranceを設定

recommendation-more-help
platform-learn-help-tutorial-mobile-sdk