Adobe Campaign Standard 支援的行動使用案例

在此頁中,您將找到支援的每個移動使用案例的清單 Adobe Campaign Standard 使用 Adobe Experience Platform SDKs。 請注意,支援這些使用案例涉及安裝和配置 Adobe Experience Platform SDKs。 tags in Adobe Experience Platform, Adobe Campaign Standard。 有關此的詳細資訊,請參閱此

Adobe Campaign Standard支援以下使用案例:

要配置這些使用情形,您需要以下擴展:

在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 是必需的:

  • 收集PII
    有關詳細資訊,請參見collectPII。

以下是此使用案例與iOS的示例實現:

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

使用Android

在Android中,以下 Experience Platform API 是必需的:

  • 收集PII
    有關詳細資訊,請參見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);

在應用程式中實施自定義事件以觸發In-App消息

與iOS

在iOS, Experience Platform SDK 是必需的:

以下是此使用案例與iOS的示例實現:

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

使用Android

在Android中,以下 Experience Platform SDK 是必需的:

下面是此Android用例的示例實現:

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

設定附加驗證的連結欄位

與iOS

要為基於iOSIn-App消息的配置檔案模板設定附加身份驗證的連結欄位,請執行以下操作 Experience Platform SDK 是必需的:

以下是此使用案例與iOS的示例實施。

要設定連結欄位:

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

要重置連結欄位:

ACPCampaign.resetLinkageFields(linkageFields)

使用Android

要為基於Android中In-App消息的配置檔案模板設定附加身份驗證的連結欄位,需要以下Experience PlatformSDK:

下面是此用例在Android中的示例實現。

要設定連結欄位:

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

要重置連結欄位:

Campaign.resetLinkageFields()

本頁內容