實作同意
瞭解如何在行動應用程式中實施同意。
Adobe Experience Platform同意行動擴充功能可讓您在使用Adobe Experience Platform Mobile SDK和Edge Network擴充功能時,從行動應用程式收集同意偏好設定。 在檔案中進一步瞭解同意延伸。
先決條件
- 成功建立並執行應用程式,且已安裝並設定SDK。
學習目標
在本課程中,您將會:
- 提示使用者同意。
- 根據使用者回應更新擴充功能。
- 瞭解如何取得目前的同意狀態。
要求同意
如果您從頭開始按照教學課程進行,您可能會記得您已將「同意」擴充功能中的預設同意設定為 擱置中 — 佇列事件(在使用者提供同意偏好設定之前發生)。
若要開始收集資料,您必須取得使用者的同意。 在真實世界應用程式中,您會想要諮詢您所在地區的同意最佳實務。 在本教學課程中,您只需透過警報要求使用者同意:
-
您只想要求使用者同意一次。 若要這麼做,您可以使用Apple的應用程式追蹤透明度架構,將Mobile SDK同意與追蹤所需的授權結合。 在此應用程式中,您假設當使用者授權追蹤時,他們同意收集事件。
-
導覽至Xcode專案導覽器中的 Luma > Luma > Utils > MobileSDK。
將此程式碼新增至
updateConsent
函式。code language-swift // Update consent let collectConsent = ["collect": ["val": value]] let currentConsents = ["consents": collectConsent] Consent.update(with: currentConsents) MobileCore.updateConfigurationWith(configDict: currentConsents)
-
導覽至Xcode專案導覽器中的 Luma > Luma > Views > General > 免責宣告檢視,這是安裝或重新安裝應用程式並首次啟動應用程式後顯示的檢視。 系統會根據Apple的應用程式追蹤透明度架構,提示使用者授權追蹤。 如果使用者授權,您也會更新同意。
將下列程式碼新增至
ATTrackingManager.requestTrackingAuthorization { status in
結尾。code language-swift // Add consent based on authorization if status == .authorized { // Set consent to yes MobileSDK.shared.updateConsent(value: "y") } else { // Set consent to yes MobileSDK.shared.updateConsent(value: "n") }
取得目前的同意狀態
同意行動擴充功能會根據目前的同意值自動隱藏/擱置/允許追蹤。 您也可以自行存取目前的同意狀態:
-
導覽至Xcode專案導覽器中的 Luma > Luma > Utils > MobileSDK。
將下列程式碼新增至
getConsents
函式:code language-swift // Get consents Consent.getConsents { consents, error in guard error == nil, let consents = consents else { return } guard let jsonData = try? JSONSerialization.data(withJSONObject: consents, options: .prettyPrinted) else { return } guard let jsonStr = String(data: jsonData, encoding: .utf8) else { return } Logger.aepMobileSDK.info("Consent getConsents: \(jsonStr)") }
-
導覽至Xcode專案導覽器中的 Luma > Luma > Views > General > HomeView。
將下列程式碼新增至
.task
修飾元:code language-swift // Ask status of consents MobileSDK.shared.getConsents()
在上述範例中,您只是將同意狀態記錄到Xcode中的主控台。 在真實情境中,您可以使用它來修改要向使用者顯示哪些功能表或選項。
使用保證進行驗證
- 從您的裝置或模擬器刪除應用程式,以正確重設和初始化追蹤和同意。
- 若要將您的模擬器或裝置連線到Assurance,請檢閱設定指示區段。
- 將應用程式從 首頁 畫面移至 產品 畫面並返回 首頁 畫面時,您應該會在Assurance UI中看到 取得同意回應 事件。
下一個: 收集生命週期資料