プロファイルデータを収集
モバイルアプリでプロファイルデータを収集する方法を説明します。
Profile 拡張機能を使用して、ユーザーに関する属性をクライアントに保存できます。 この情報を後で使用して、オンラインまたはオフラインのシナリオでメッセージのターゲティングやパーソナライズをおこなうことができます。最適なパフォーマンスを得るために、サーバーに接続する必要はありません。 Profile 拡張機能は、クライアントサイド操作プロファイル (CSOP) を管理し、API への対応、ユーザープロファイル属性の更新、ユーザープロファイル属性の他のシステムとの生成イベントとしての共有をおこなう方法を提供します。
プロファイルデータは、他の拡張機能によってプロファイル関連のアクションを実行するために使用されます。 例えば、プロファイルデータを使用し、プロファイルデータに基づいてルールを実行する Rules Engine 拡張機能があります。 詳しくは、 Profile 拡張機能 ドキュメント内
前提条件
- SDK が正常に構築され、インストールされ、設定された状態でアプリが実行されました。
学習内容
このレッスンでは、次の操作を実行します。
- ユーザー属性を設定または更新します。
- ユーザー属性を取得します。
ユーザー属性の設定と更新
アプリでのターゲティングやパーソナライゼーションに役立つのは、ユーザーが過去または最近に購入したかどうかをすばやく知ることです。 Luma アプリでセットアップしましょう。
-
に移動します。 Luma > Luma > Utils > MobileSDK Xcode プロジェクトナビゲーターで、
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
辞書をattributeDict
のパラメーターUserProfile.updateUserAttributes
API 呼び出し。
-
-
に移動します。 Luma > Luma > Views > Products > ProductView をクリックし、
updateUserAttributes
( 購入に関するコード内+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+」ボタン ) をクリックします。 次のコードを追加します。code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
ユーザー属性の取得
ユーザーの属性を更新すると、他のAdobeSDK でも使用できるようになりますが、属性を明示的に取得して、アプリを好きなように動作させることもできます。
-
に移動します。 Luma > Luma > Views > General > HomeView Xcode プロジェクトナビゲーターで、
.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 } } }
このコードは次を実行します。
-
呼び出し
UserProfile.getUserAttributes
を使用した APIisPaidUser
属性名をattributeNames
配列。 -
次に、
isPaidUser
属性とタイミングyes
をクリックし、img-md w-20 アイコンを使用して、アイコンをクリックします。
-
その他のドキュメントも参照できます。 ここ.
アシュランスで検証
-
以下を確認します。 設定手順 シミュレーターまたはデバイスを Assurance に接続するには、「 」セクションを参照してください。
-
アプリを実行してログインし、製品とやり取りします。
-
アシュランスアイコンを左に移動します。
-
選択 ホーム 」をクリックします。
-
ログインシートを開くには、+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+」ボタンをクリックします。
img-md w-300 -
ランダムな電子メールと顧客 ID を挿入するには、+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+ボタンをクリックします。
-
選択 ログイン.
img-md w-300 -
選択 Products 」をクリックします。
-
1 つの製品を選択します。
-
選択+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+。
-
選択+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+。
-
選択+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+。
img-md w-300 -
に戻る ホーム 画面。 バッジが追加されたことがわかります。+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+。
img-md w-300
-
-
Assurance UI には、 UserProfileUpdate および getUserAttributes 更新された
profileMap
の値です。
次へ: 場所を使用