Adobe Campaign Standard 支援的行動使用案例 mobile-use-cases
在此頁面中,您將會找到在Adobe Campaign Standard中使用Adobe Experience Platform SDKs支援的所有行動使用案例清單。 請注意,支援這些使用案例涉及安裝和設定Adobe Experience Platform SDKs、tags in Adobe Experience Platform和Adobe Campaign Standard。 如需詳細資訊,請參閱此頁面。
Adobe Campaign Standard支援下列使用案例:
若要設定這些使用案例,您需要下列擴充功能:
- Adobe Campaign Standard
若要安裝並設定Campaign Standard擴充功能,請參閱在資料收集UI中設定Campaign Standard擴充功能。 - 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:
- setPushIdentifier
如需詳細資訊,請參閱setPushIdentifier。
以下是此使用案例與iOS搭配使用的範例實作:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Register Device Token
ACPCore.setPushIdentifier(deviceToken)
使用Android send-push-token-android
在Android中,需要下列Experience Platform SDK:
- setPushIdentifier
如需詳細資訊,請參閱setPushIdentifier。
以下是此使用案例與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回傳。
使用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:
- trackAction。 如需詳細資訊,請參閱追蹤應用程式動作。
以下是此使用案例與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:
- trackAction
如需詳細資訊,請參閱追蹤應用程式動作。
以下是此使用案例搭配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:
- trackAction。 如需詳細資訊,請參閱追蹤應用程式動作。
以下是此使用案例與iOS搭配實施的範例:
ACPCore.trackAction(mobileEventName, data: [:] )
使用Android custom-event-inapp-android
在Android中,需要下列Experience Platform SDK:
- trackAction
如需詳細資訊,請參閱追蹤應用程式動作。
以下是此使用案例搭配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 PlatformSDK:
以下是此使用案例與Android的實施範例。
若要設定連結欄位:
HashMap<String, String> linkageFields = new HashMap<String, String>();
linkageFields.put("cusEmail", "john.doe@email.com");
Campaign.setLinkageFields(linkageFields);
若要重設連結欄位:
Campaign.resetLinkageFields()