プロファイルデータの収集
モバイルアプリでプロファイルデータを収集する方法について説明します。
プロファイル拡張機能を使用して、ユーザーに関する属性をクライアントに保存できます。 この情報は、後でオンラインまたはオフラインのシナリオ中にメッセージをターゲティングおよびパーソナライズするために使用できます。最適なパフォーマンスを得るためにサーバーに接続する必要はありません。
プロファイル拡張機能は、クライアントサイド操作プロファイル(CSOP)を管理し、APIに対応する方法を提供し、ユーザープロファイル属性を更新し、ユーザープロファイル属性を生成されたイベントとしてシステムの他の部分と共有します。
プロファイルデータは、他の拡張機能でプロファイル関連のアクションを実行するために使用されます。 例えば、プロファイルデータを使用し、プロファイルデータに基づいてルールを実行するルールエンジン拡張機能があります。 プロファイル拡張機能について詳しくは、ドキュメントを参照してください
前提条件
- SDKがインストールされ、設定されたアプリが正常に構築され、実行されました。
学習目標
このレッスンでは、次の操作を行います。
- ユーザー属性を設定または更新します。
- ユーザー属性の取得。
ユーザー属性の設定と更新
:アプリ内でのターゲティングやパーソナライゼーションにおいて、利用者が過去または最近に購入したかどうかを素早く把握するのに役立ちます Luma アプリで設定してみましょう。
-
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)このコード:
-
profileMapという名前の空の辞書を設定します。 -
attributeName(例:isPaidUser)およびattributeValue(例:yes)を使用して、要素を辞書に追加します。 -
profileMapディクショナリをUserProfile.updateUserAttributesAPI呼び出しのattributeDictパラメーターの値として使用します。
-
-
Xcode プロジェクトナビゲーターのLuma > Luma > Views > Products > ProductViewに移動し、
updateUserAttributesへの呼び出しを見つけます(「購入 」ボタンのコード内)。 次のコードを追加します。code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
-
Android Studio ナビゲーターのAndroid
> 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)このコード:
-
profileMapという名前の空のマップを設定します。 -
attributeName(例:isPaidUser)およびattributeValue(例:yes)を使用して、エレメントをマップに追加します。 -
profileMapマップをUserProfile.updateUserAttributesAPI呼び出しのattributeDictパラメーターの値として使用します。
-
-
Android
> app > kotlin+java > com.adobe.luma.tutorial.android > views > ProductView.ktに移動し、updateUserAttributesへの呼び出しを見つけます(「購入 」ボタンのコード内)。 次のコードを追加します。code language-kotlin // Update attributes MobileSDK.shared.updateUserAttribute("isPaidUser", "yes")
ユーザー属性の取得
ユーザーの属性を更新すると、他のAdobe SDKでも使用できますが、属性を明示的に取得して、アプリが思い通りに動作するようにすることもできます。
-
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 } } }このコード:
isPaidUser属性名を持つUserProfile.getUserAttributesAPIをattributeNames配列内の単一要素として呼び出します。- 次に、
isPaidUser属性の値を確認し、yesの場合、右上のツールバーの アイコンにバッジが配置されます。
-
Android Studio プロジェクトナビゲーターのAndroid
> 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" }このコード:
isPaidUser属性名を持つUserProfile.getUserAttributesAPIをattributeNames配列内の単一要素として呼び出します。- 次に、
isPaidUser属性の値を確認します。yesの場合、コードは右上のツールバーにあるバッジアイコンに人物アイコンを置き換えます。
詳しくは、API リファレンス を参照してください。
Assurance での検証
- シミュレーターまたはデバイスをAssuranceに接続するには、設定の手順 セクションを確認してください。
- アプリを実行してログインし、製品とやり取りします。
-
タブバーで「ホーム」を選択します。
-
Assurance アイコンを左に動かします。
-
ログインシートを開くには、「
」ボタンを選択します。 {width="300"}
-
ランダムな電子メールと顧客IDを挿入するには、「A |」ボタンを選択します。
-
「ログイン」を選択します。
{width="300"}
-
タブバーで「Products」を選択します。
-
製品を1つ選択してください。
-
「
」を選択します。 -
を選択します。 -
を選択します。 {width="300"}
-
ホーム画面に戻ります。 バッジが
追加されていることがわかります。 {width="300"}
-
タブバーで「ホーム」を選択します。
-
Assurance アイコンを左に動かします。
-
ログインシートを開くには、「
」ボタンを選択します。 {width="300"}
-
ランダムな電子メールと顧客IDを挿入するには、「ランダムな電子メールを生成」を選択します。
-
「ログイン」を選択します。
{width="300"}
-
タブバーで「Products」を選択します。
-
製品を1つ選択してください。
-
を選択 -
を選択します。 -
を選択します。 {width="300"}
-
ホーム画面に戻ります。 人物アイコンが更新されます。
{width="300"}
Assurance UIに、UserProfileUpdateおよび getUserAttributes のイベントが表示され、更新されたprofileMap値が表示されます。
次:場所を使用