Adobe Campaign Standard でサポートされるモバイルのユースケース mobile-use-cases

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

Adobe Campaign Standardでは、次のユースケースをサポートしています。

これらのユースケースを設定するには、次の拡張機能が必要です。

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

Campaign Standardへのモバイルプロファイルの登録 register-mobile-profile

(iOSを使用) register-mobile-profile-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を使用) register-mobile-profile-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へのプッシュトークンの送信 send-push-token

(iOSを使用) send-push-token-ios

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

以下は、iOSを使用したこのユースケースの実装例です。

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

 // Register Device Token
 ACPCore.setPushIdentifier(deviceToken)

(Androidを使用) send-push-token-android

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

以下は、Androidを使用したこのユースケースの実装例です。

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

アプリケーションのカスタムデータでモバイルプロファイルを強化 enrich-mobile-profile-custom

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

(iOSを使用) enrich-mobile-profile-custom-ios

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

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

以下は、iOSを使用したこのユースケースの実装例です。

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

(Androidを使用) enrich-mobile-profile-custom-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);

アプリケーションのライフサイクルデータでモバイルプロファイルを強化 enrich-mobile-profile-lifecycle

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

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

(iOSを使用) enrich-mobile-profile-lifecycle-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を使用) enrich-mobile-profile-lifecycle-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();
 }

プッシュ通知を使用したユーザーインタラクションを追跡 track-user-push

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

(iOSを使用) track-user-push-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を使用) track-user-push-android

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

以下は、Androidを使用したこのユースケースの実装例です。

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

アプリケーションにカスタムイベントを実装して、アプリ内メッセージをトリガーにします custom-event-inapp

(iOSを使用) custom-event-inapp-ios

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

以下は、iOSを使用したこのユースケースの実装例です。

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

(Androidを使用) custom-event-inapp-android

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

以下は、Androidを使用したこのユースケースの実装例です。

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

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

(iOSを使用) linkage-fields-inapp-ios

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

iOSを使用したこのユースケースの実装例を次に示します。

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

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

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

ACPCampaign.resetLinkageFields(linkageFields)

(Androidを使用) linkage-fields-inapp-android

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

Androidを使用したこのユースケースの実装例を次に示します。

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

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

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

Campaign.resetLinkageFields()
recommendation-more-help
3ef63344-7f3d-48f9-85ed-02bf569c4fff