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

在此页面上