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 為必要項目:

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

本頁內容