プロファイルデータの収集

モバイルアプリでプロファイルデータを収集する方法について説明します。

プロファイル拡張機能を使用して、ユーザーに関する属性をクライアントに保存できます。 この情報は、後でオンラインまたはオフラインのシナリオ中にメッセージをターゲティングおよびパーソナライズするために使用できます。最適なパフォーマンスを得るためにサーバーに接続する必要はありません。

プロファイル拡張機能は、クライアントサイド操作プロファイル(CSOP)を管理し、APIに対応する方法を提供し、ユーザープロファイル属性を更新し、ユーザープロファイル属性を生成されたイベントとしてシステムの他の部分と共有します。

プロファイルデータは、他の拡張機能でプロファイル関連のアクションを実行するために使用されます。 例えば、プロファイルデータを使用し、プロファイルデータに基づいてルールを実行するルールエンジン拡張機能があります。 ​ プロファイル拡張機能について詳しくは、ドキュメントを参照してください

IMPORTANT
このレッスンで説明するプロファイル機能は、Adobe Experience Platformおよびプラットフォームベースのアプリケーションのリアルタイム顧客プロファイル機能とは別のものです。

前提条件

  • SDKがインストールされ、設定されたアプリが正常に構築され、実行されました。

学習目標

このレッスンでは、次の操作を行います。

  • ユーザー属性を設定または更新します。
  • ユーザー属性の取得。

ユーザー属性の設定と更新

:アプリ内でのターゲティングやパーソナライゼーションにおいて、利用者が過去または最近に購入したかどうかを素早く把握するのに役立ちます Luma アプリで設定してみましょう。

iOS
  1. Xcode プロジェクトナビゲーターの​Luma > Luma > Utils > MobileSDK​に移動して、func updateUserAttribute(attributeName: String, attributeValue: String)関数を見つけます。 次のコードを追加します。

    code language-swift
    // Create a profile map, add attributes to the map and update profile using the map
    var profileMap = [String: Any]()
    profileMap[attributeName] = attributeValue
    UserProfile.updateUserAttributes(attributeDict: profileMap)
    

    このコード:

    1. profileMapという名前の空の辞書を設定します。

    2. attributeName (例:isPaidUser)およびattributeValue (例:yes)を使用して、要素を辞書に追加します。

    3. profileMap ディクショナリをUserProfile.updateUserAttributes API呼び出しのattributeDict パラメーターの値として使用します。

  2. Xcode プロジェクトナビゲーターの​Luma > Luma > Views > Products > ProductView​に移動し、updateUserAttributesへの呼び出しを見つけます(「購入 ​ クレジットカード ​ 」ボタンのコード内)。 次のコードを追加します。

    code language-swift
    // Update attributes
    MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
    
Android
  1. Android Studio ナビゲーターの​Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK​に移動して、func updateUserAttribute(attributeName: String, attributeValue: String)関数を見つけます。 次のコードを追加します。

    code language-kotlin
    // Create a profile map, add attributes to the map and update profile using the map
    val profileMap = mapOf(attributeName to attributeValue)
    UserProfile.updateUserAttributes(profileMap)
    

    このコード:

    1. profileMapという名前の空のマップを設定します。

    2. attributeName (例:isPaidUser)およびattributeValue (例:yes)を使用して、エレメントをマップに追加します。

    3. profileMap マップをUserProfile.updateUserAttributes API呼び出しのattributeDict パラメーターの値として使用します。

  2. Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > views > ProductView.kt​に移動し、updateUserAttributesへの呼び出しを見つけます(「購入 CreditCard 」ボタンのコード内)。 次のコードを追加します。

    code language-kotlin
    // Update attributes
    MobileSDK.shared.updateUserAttribute("isPaidUser", "yes")
    

ユーザー属性の取得

ユーザーの属性を更新すると、他のAdobe SDKでも使用できますが、属性を明示的に取得して、アプリが思い通りに動作するようにすることもできます。

iOS
  1. Xcode プロジェクトナビゲーターの​Luma > Luma > Views > General > HomeView​に移動して、.onAppear修飾子を見つけます。 次のコードを追加します。

    code language-swift
    // Get attributes
    UserProfile.getUserAttributes(attributeNames: ["isPaidUser"]) { attributes, error in
        if attributes?.count ?? 0 > 0 {
            if attributes?["isPaidUser"] as? String == "yes" {
                showBadgeForUser = true
            }
            else {
                showBadgeForUser = false
            }
        }
    }
    

    このコード:

    1. isPaidUser属性名を持つUserProfile.getUserAttributes APIをattributeNames配列内の単一要素として呼び出します。
    2. 次に、isPaidUser属性の値を確認し、yesの場合、右上のツールバーの UserCheckedOut アイコンにバッジが配置されます。
Android
  1. Android Studio プロジェクトナビゲーターの​Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.androi > views > HomeView.kt​に移動し、.onAppear修飾子を見つけます。 次のコードを追加します。

    code language-kotlin
    // Get attributes
    UserProfile.getUserAttributes(listOf("isPaidUser")) { attributes ->
        showBadgeForUser = attributes?.get("isPaidUser") == "yes"
    }
    

    このコード:

    1. isPaidUser属性名を持つUserProfile.getUserAttributes APIをattributeNames配列内の単一要素として呼び出します。
    2. 次に、isPaidUser属性の値を確認します。 yesの場合、コードは右上のツールバーにあるバッジアイコンに人物アイコンを置き換えます。

詳しくは、API リファレンス ​を参照してください。

Assurance での検証

  1. シミュレーターまたはデバイスをAssuranceに接続するには、設定の手順 セクションを確認してください。
  2. アプリを実行してログインし、製品とやり取りします。
iOS
  1. タブバーで「ホーム」を選択します。

  2. Assurance アイコンを左に動かします。

  3. ログインシートを開くには、「 ​ ユーザー 」ボタンを選択します。

    {width="300"}

  4. ランダムな電子メールと顧客IDを挿入するには、「A |」ボタンを選択します。

  5. ログイン」を選択します。

    {width="300"}

  6. タブバーで「Products」を選択します。

  7. 製品を1つ選択してください。

  8. Heart 」を選択します。

  9. ShoppingCart を選択します。

  10. CreditCard を選択します。

    {width="300"}

  11. ホーム​画面に戻ります。 バッジが UserCheckedOut 追加されていることがわかります。

    {width="300"}

Android
  1. タブバーで「ホーム」を選択します。

  2. Assurance アイコンを左に動かします。

  3. ログインシートを開くには、「 ​ ユーザー 」ボタンを選択します。

    {width="300"}

  4. ランダムな電子メールと顧客IDを挿入するには、「ランダムな電子メールを生成」を選択します。

  5. ログイン」を選択します。

    {width="300"}

  6. タブバーで「Products」を選択します。

  7. 製品を1つ選択してください。

  8. ThumbUp を選択

  9. ShoppingCart を選択します。

  10. CreditCard を選択します。

    {width="300"}

  11. ホーム​画面に戻ります。 人物アイコンが更新されます。

    {width="300"}

Assurance UIに、UserProfileUpdate​および​ getUserAttributes ​のイベントが表示され、更新されたprofileMap値が表示されます。

​ プロファイルの検証 {modal="regular"}

SUCCESS
これで、アプリを設定して、Edge Networkのプロファイルの属性を更新し、Adobe Experience Platformで(設定する場合)更新できるようになりました。
Adobe Experience Platform Mobile SDKについて学ぶために時間を割いていただきありがとうございます。 ご質問がある場合、一般的なフィードバックを共有したい場合、または今後のコンテンツに関する提案がある場合は、このExperience League コミュニティのディスカッション投稿で共有してください。

次:場所を使用

recommendation-more-help
platform-learn-help-tutorial-mobile-sdk