Adobe Campaign Standard でサポートされるモバイルの使用例

このページでは、Adobe Campaign StandardでAdobe Experience Platform SDKsを使用してサポートされるすべてのモバイル用途のリストを見つけ出します。 これらの使用例をサポートするには、Adobe Experience Platform SDKs、Adobe Experience Platform Launch、Adobe Campaign Standardのインストールと設定が必要です。 これについて詳しくは、このページを参照してください。

Adobe Campaign Standardは、次の使用例をサポートしています。

これらの使用例を設定するには、Experience Platform Launchの次の拡張が必要です。

  • Adobe Campaign Standard
    Campaign Standard拡張機能をインストールして設定するには、「Experience Platform LaunchでのCampaign Standard拡張の 設定」を参照してください。
  • Mobile Core​に設定され、自動的にインストールされます。
    Mobile Core拡張機能について詳しくは、「 Mobile Core」を参照してください。
  • Profile​に設定され、自動的にインストールされます。
    プロファイル拡張機能について詳しくは、「 プロファイル」を参照してください。

Campaign Standardにモバイルプロファイルを登録する

iOSの場合

iOSでは、次のExperience Platform APIsが必要です。

  • Lifecycle Start(アプリの起動時とアプリがフォアグラウンドの場合)。
  • Lifecycle Pause(アプリがバックグラウンドにある場合)。

詳しくは、「iOSのライフサイクル拡張機能」を参照してください。

iOSでのこの使用例の実装例を以下に示します。

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  
  
 ACPCore.setLogLevel(.debug)
 appId = SettingsBundle.getLaunchAppId()
   
 //===== START Set up Adobe SDK =====
 ACPCore.configure(withAppId: appId)
   
 ACPCampaign.registerExtension()
 ACPIdentity.registerExtension()
 ACPLifecycle.registerExtension()
 ACPUserProfile.registerExtension()
 ACPSignal.registerExtension()
 ACPCore.start()
 ACPCore.lifecycleStart(nil)
   
 return true
 }
  
func applicationDidEnterBackground(_ application: UIApplication) {
 ACPCore.lifecyclePause()
 }
   
 func applicationDidBecomeActive(_ application: UIApplication) {
 // Workaround until jira AMSDK-7411 is fixed.
 sleep(2)
 ACPCore.lifecycleStart(nil)
 }

Androidの場合

Androidでは、次のExperience Platform APIsが必要です。

  • OnResume
  • OnPause

詳しくは、Androidのライフサイクル拡張機能を参照してください。

Androidのこの使用例の実装例を以下に示します。

@Override
  
public void onResume() {
 super.onResume();
 MobileCore.setApplication(getApplication());
 MobileCore.lifecycleStart(null);
 handleOpenTracking();
 }
  
 @Override
 public void onPause() {
 super.onPause();
 MobileCore.lifecyclePause();
 }

プッシュトークンをAdobe Campaign Standardに送信

iOSの場合

iOSでは、次のExperience Platform SDKが必要です。

  • setPushIdentifier
    詳しくは、setPushIdentifierを参照して ください

iOSでのこの使用例の実装例を次に示します。

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
  
 // Register Device Token
 ACPCore.setPushIdentifier(deviceToken)

Androidの場合

Androidでは、次のExperience Platform SDKが必要です。

  • setPushIdentifier
    詳しくは、setPushIdentifierを参照して ください

Androidのこの使用例の実装例を次に示します。

@Override
public void onNewToken(String token) {
    Log.d(TAG, "Refreshed token: " + token);
    MobileCore.setPushIdentifier(token);
}

アプリケーションのカスタムデータを使用したモバイルプロファイルの拡張

この使用例を機能させるには、PIIポストバックのルールを作成する必要があります。 詳しくは、PIIポストバックを参照してください。

iOSの場合

iOSでは、次のExperience Platform APIが必要です。

  • collectPII
    詳しくは、collectPIIを参照してください。

iOSでのこの使用例の実装例を以下に示します。

ACPCore.collectPii(["email":email, "firstName":firstName, "lastName":lastName])

Androidの場合

Androidでは、次のExperience Platform APIが必要です。

  • collectPII
    詳しくは、collectPIIを参照してください。

Androidのこの使用例の実装例を以下に示します。

HashMap<String, String> data = new HashMap<>();
data.put("firstName", firstNameText);
data.put("lastName", lastNameText);
data.put("email", emailText);
MobileCore.collectPii(data);

アプリケーションのライフサイクルデータを使用したモバイルプロファイルの拡張

この使用例を機能させるには、PIIポストバックのルールを作成する必要があります。 詳しくは、PIIポストバックを参照してください。

メモ

Adobe Campaignでは、カスタムデータまたはライフサイクルデータをモバイルアプリと区別しません。 モバイルアプリのイベントに応じて、collectPiiポストバックルールを使用して、両方のタイプのデータをサーバーに送信できます。

iOSの場合

iOSでは、次のExperience Platform APIsが必要です。

  • Lifecycle Start(アプリの起動時とアプリがフォアグラウンドの場合)。
  • Lifecycle Pause(アプリがバックグラウンドにある場合)。

詳しくは、「iOSのライフサイクル拡張機能」を参照してください。

iOSでのこの使用例の実装例を以下に示します。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  
  
 ACPCore.setLogLevel(.debug)
 appId = SettingsBundle.getLaunchAppId()
   
 //===== START Set up Adobe SDK =====
 ACPCore.configure(withAppId: appId)
   
 ACPCampaign.registerExtension()
 ACPIdentity.registerExtension()
 ACPLifecycle.registerExtension()
 ACPUserProfile.registerExtension()
 ACPSignal.registerExtension()
 ACPCore.start()
 ACPCore.lifecycleStart(nil)
   
 return true
 }
  
func applicationDidEnterBackground(_ application: UIApplication) {
 ACPCore.lifecyclePause()
 }
   
 func applicationDidBecomeActive(_ application: UIApplication) {
 // Workaround until jira AMSDK-7411 is fixed.
 sleep(2)
 ACPCore.lifecycleStart(nil)
 }

Androidの場合

Androidでは、次のExperience Platform APIsが必要です。

  • OnResume
  • OnPause

詳しくは、Androidのライフサイクル拡張機能を参照してください。

Androidのこの使用例の実装例を以下に示します。

@Override
  
public void onResume() {
 super.onResume();
 MobileCore.setApplication(getApplication());
 MobileCore.lifecycleStart(null);
 handleOpenTracking();
 }
  
 @Override
 public void onPause() {
 super.onPause();
 MobileCore.lifecyclePause();
 }

プッシュ通知を使用したユーザーの操作を追跡

ポストバックを追跡するプッシュ通知のルールを作成する必要があります。 詳しくは、ポストバックを追跡するプッシュ通知を参照してください。

iOSの場合

iOSでは、次のExperience Platform SDKが必要です。

iOSでのこの使用例の実装例を以下に示します。

let deliveryId = userInfo["_dId"] as? String
let broadlogId = userInfo["_mId"] as? String
if (deliveryId != nil && broadlogId != nil) {
    ACPCore.trackAction("tracking", data: ["deliveryId": deliveryId!, "broadlogId": broadlogId!, "action":"2"])
}

Androidの場合

Androidでは、次のExperience Platform SDKが必要です。

  • trackAction
    詳しくは、「アプリのアクションを 追跡」を参照してください。

Androidのこの使用例の実装例を以下に示します。

contextData.put("deliveryId", deliveryId);
contextData.put("broadlogId", messageId);
contextData.put("action", "2");
MobileCore.trackAction("tracking", contextData);

アプリ内メッセージをトリガーするためのカスタムイベント

iOSの場合

iOSでは、次のExperience Platform SDKが必要です。

iOSでのこの使用例の実装例を以下に示します。

ACPCore.trackAction(mobileEventName, data: [:] )

Androidの場合

Androidでは、次のExperience Platform SDKが必要です。

  • trackAction
    詳しくは、「アプリのアクションを 追跡」を参照してください。

Androidのこの使用例の実装例を以下に示します。

MobileCore.trackAction(mobileEventText, new HashMap<String,String>());

追加の認証用のリンケージフィールドの設定

iOSの場合

iOSのアプリ内メッセージに基づくプロファイルテンプレートに追加認証用のリンケージフィールドを設定するには、次のExperience Platform SDKが必要です。

iOSでのこの使用例の実装例を以下に示します。

リンケージフィールドを設定するには:

var linkageFields = [String: String]()
linkageFields["cusEmail"] = "john.doe@email.com"
ACPCampaign.setLinkageFields(linkageFields)

リンケージフィールドをリセットするには:

ACPCampaign.resetLinkageFields(linkageFields)

Androidの場合

Androidのアプリ内メッセージに基づくプロファイルテンプレートに、追加の認証用のリンケージフィールドを設定するには、次のExperience PlatformSDKが必要です。

Androidでのこの使用例の実装例を以下に示します。

リンケージフィールドを設定するには:

HashMap<String, String> linkageFields = new HashMap<String, String>();
linkageFields.put("cusEmail", "john.doe@email.com");
Campaign.setLinkageFields(linkageFields);

リンケージフィールドをリセットするには:

Campaign.resetLinkageFields()

このページ