Adobe Campaign Standard でサポートされるモバイルのユースケース

このページでは、Adobe Experience Platform SDKsを使用してAdobe Campaign Standardでサポートされるすべてのモバイル使用例のリストを示します。 これらの使用例をサポートするには、 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が必要です。

  • setPushIdentifier
    詳しくは、「 setPushIdentifier 」を参照し てください

iOSでのこの使用例の実装例を次に示します。

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
  
 // Register Device Token
 ACPCore.setPushIdentifier(deviceToken)

Androidを使用

Androidでは、次のExperience Platform SDKが必要です。

  • setPushIdentifier
    詳しくは、「 setPushIdentifier 」を参照し てください

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

このページ