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

在此页面上