Adobe Campaign Standard でサポートされるモバイルのユースケース mobile-use-cases
このページでは、Adobe Experience Platform SDKs を使用して Adobe Campaign Standard でサポートされているすべてのモバイルユースケースのリストを示します。 これらのユースケースをサポートするには、Adobe Experience Platform SDKs、tags in Adobe Experience Platform、Adobe Campaign Standard のインストールと設定が必要です。 詳しくは、この ページを参照してください。
Adobe Campaign Standardでは、次のユースケースをサポートしています。
これらのユースケースを設定するには、次の拡張機能が必要です。
- Adobe Campaign Standard
拡張機能をインストールして設定するには、Data Collection UI のCampaign StandardCampaign Standardの設定を参照してください。 - 自動的にインストールされる Mobile Core。
Mobile Core 拡張機能について詳しくは、「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 Platform SDK が必要です。
- リンクフィールドを設定します
詳しくは、 リンクフィールドを設定を参照してください。 - リンケージフィールドのリセット
詳しくは、 リンケージフィールドのリセットを参照してください。
Androidを使用したこのユースケースの実装例を次に示します。
リンケージフィールドを設定するには:
HashMap<String, String> linkageFields = new HashMap<String, String>();
linkageFields.put("cusEmail", "john.doe@email.com");
Campaign.setLinkageFields(linkageFields);
リンケージフィールドをリセットするには:
Campaign.resetLinkageFields()