收集設定檔資料
瞭解如何在行動應用程式中收集設定檔資料。
您可以使用設定檔擴充功能在使用者端上儲存使用者的相關屬性。 此資訊稍後可用於線上上或離線情況下目標定位和個人化訊息,不必連線至伺服器以獲得最佳效能。 設定檔擴充功能可管理使用者端作業設定檔(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.updateUserAttributes
API呼叫之attributeDict
引數的值。
-
-
導覽至Xcode專案導覽器中的 Luma > Luma > Views > Products > ProductView,並尋找對
updateUserAttributes
的呼叫(在購買的程式碼內) {width="15"}按鈕)。 新增下列程式碼:code language-swift // Update attributes MobileSDK.shared.updateUserAttribute(attributeName: "isPaidUser", attributeValue: "yes")
取得使用者屬性
更新使用者的屬性後,其他AdobeSDK即可使用該屬性,但您也可以明確擷取屬性,讓應用程式依您想要的方式運作。
-
導覽至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.getUserAttributes
API做為attributeNames
陣列中的單一專案。 -
然後檢查
isPaidUser
屬性的值,當yes
時,在 右上角工具列中的{width="20"}
圖示。
-
其他檔案可在這裡找到。
使用保證進行驗證
-
檢閱設定指示區段,將您的模擬器或裝置連線到Assurance。
-
執行應用程式以登入並與產品互動。
-
將「保證」圖示移至左側。
-
在索引標籤列中選取 首頁。
-
若要開啟「登入」工作表,請選取 {width="15"}按鈕。
{width="300"}
-
若要插入隨機電子郵件和客戶ID,請選取 {width="15"}按鈕。
-
選取 登入。
{width="300"}
-
在索引標籤列中選取 Products。
-
選取一個產品。
-
選擇 {width="15"}。
-
選擇 {width="20"}。
-
選擇 {width="15"}。
{width="300"}
-
返回 首頁 畫面。 您應該會看到徽章已新增 {width="15"}。
{width="300"}
-
-
在Assurance UI中,您應該會看到具有更新
profileMap
值的 UserProfileUpdate 和 getUserAttributes 事件。
下一個: 使用地標