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:

モバイルプロファイルの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 は必須です。

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

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

 // Register Device Token
 ACPCore.setPushIdentifier(deviceToken)

Android の場合

Android では、次のようになります。 Experience Platform SDK は必須です。

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(["pushPlatform":"apns", "email":email, "firstName":firstName, "lastName":lastName])

Android の場合

Android では、次のようになります。 Experience Platform API は必須です。

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

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

HashMap<String, String> data = new HashMap<>();
data.put("pushPlatform", "gcm");
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 は必須です。

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 は必須です。

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()

このページ