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

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

Profile 拡張機能を使用して、ユーザーに関する属性をクライアントに保存できます。 この情報を後で使用して、オンラインまたはオフラインのシナリオでメッセージのターゲティングやパーソナライズをおこなうことができます。最適なパフォーマンスを得るために、サーバーに接続する必要はありません。 Profile 拡張機能は、クライアントサイド操作プロファイル (CSOP) を管理し、API への対応、ユーザープロファイル属性の更新、ユーザープロファイル属性の他のシステムとの生成イベントとしての共有をおこなう方法を提供します。

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

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

前提条件

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

学習内容

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

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

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

アプリでのターゲティングやパーソナライゼーションに役立つのは、ユーザーが過去または最近に購入したかどうかをすばやく知ることです。 Luma アプリでセットアップしましょう。

  1. に移動します。 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)
    

    このコードは次を実行します。

    1. 次の名前の空の辞書を設定します: profileMap.

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

    3. を使用します。 profileMap 辞書を attributeDict のパラメーター UserProfile.updateUserAttributes API 呼び出し。

  2. に移動します。 Luma > Luma > Views > Products > ProductView をクリックし、 updateUserAttributes ( 購入に関するコード内+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+」ボタン ) をクリックします。 次のコードを追加します。

    code language-swift
    // Update attributes
    MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
    

ユーザー属性の取得

ユーザーの属性を更新すると、他のAdobeSDK でも使用できるようになりますが、属性を明示的に取得して、アプリを好きなように動作させることもできます。

  1. に移動します。 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
            }
        }
    }
    

    このコードは次を実行します。

    1. 呼び出し UserProfile.getUserAttributes を使用した API isPaidUser 属性名を attributeNames 配列。

    2. 次に、 isPaidUser 属性とタイミング yesをクリックし、

      img-md
      w-20

      アイコンを使用して、アイコンをクリックします。

その他のドキュメントも参照できます。 ここ.

アシュランスで検証

  1. 以下を確認します。 設定手順 シミュレーターまたはデバイスを Assurance に接続するには、「 」セクションを参照してください。

  2. アプリを実行してログインし、製品とやり取りします。

    1. アシュランスアイコンを左に移動します。

    2. 選択 ホーム 」をクリックします。

    3. ログインシートを開くには、+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+」ボタンをクリックします。

      img-md
      w-300
    4. ランダムな電子メールと顧客 ID を挿入するには、+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+ボタンをクリックします。

    5. 選択 ログイン.

      img-md
      w-300
    6. 選択 Products 」をクリックします。

    7. 1 つの製品を選択します。

    8. 選択+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+。

    9. 選択+-------------+ | img-md | +=============+ | w-20 | +-------------+ | | +-------------+。

    10. 選択+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+。

      img-md
      w-300
    11. に戻る ホーム 画面。 バッジが追加されたことがわかります。+-------------+ | img-md | +=============+ | w-15 | +-------------+ | | +-------------+。

      img-md
      w-300
  3. Assurance UI には、 UserProfileUpdate および getUserAttributes 更新された profileMap の値です。
    プロファイルを検証

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

次へ: 場所を使用

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b