Implementieren des Einverständnisses
Erfahren Sie, wie Sie das Einverständnis in einer Mobile App implementieren.
Die Adobe Experience Platform Consent Mobile-Erweiterung ermöglicht die Erfassung von Einverständnisvoreinstellungen über Ihre Mobile App bei Verwendung der Adobe Experience Platform Mobile SDK und der Edge Network-Erweiterung. Weitere Informationen zur Einverständniserweiterung finden Sie in der Dokumentation.
Voraussetzungen
- App mit installierten und konfigurierten SDKs erfolgreich erstellt und ausgeführt.
Lernziele
In dieser Lektion erfahren Sie Folgendes:
- Fordern Sie den Benutzer zur Zustimmung auf.
- Aktualisieren Sie die Erweiterung basierend auf der Benutzerantwort.
- Erfahren Sie, wie Sie den aktuellen Einverständnisstatus abrufen.
Einverständnis einholen
Wenn Sie das Tutorial von Anfang an verfolgt haben, erinnern Sie sich vielleicht, dass Sie das Standardeinverständnis in der Einverständniserweiterung auf Ausstehend - Warteschlangenereignisse festgelegt haben, die auftreten, bevor der Benutzer die Einverständnisvoreinstellungen festlegt.
Um mit der Datenerfassung beginnen zu können, müssen Sie die Zustimmung des Benutzers einholen. In einer realen App sollten Sie die Best Practices zum Einverständnis für Ihre Region konsultieren. In diesem Tutorial erhalten Sie die Zustimmung der Benutzenden, indem Sie sie einfach mit einem Warnhinweis darum bitten:
-
Sie möchten den Benutzer nur einmal um Zustimmung bitten. Sie kombinieren das SDK-Einverständnis für Mobile mit der erforderlichen Autorisierung für das Tracking mit dem Tracking--Transparenzframework von Apple. Bei dieser App gehen Sie davon aus, dass der Benutzer mit der Erfassung von Ereignissen einverstanden ist, wenn er das Tracking autorisiert.
-
Navigieren Sie im Xcode-Projekt Luma Navigator zu Luma > Utils > > MobileSDK“.
Fügen Sie diesen Code zur
updateConsent
hinzu.code language-swift // Update consent let collectConsent = ["collect": ["val": value]] let currentConsents = ["consents": collectConsent] Consent.update(with: currentConsents) MobileCore.updateConfigurationWith(configDict: currentConsents)
-
Navigieren Sie im Projekt-Navigator von Xcode zu Luma > Luma > Views > General DisclaimerView. Der Projekt-Navigator des Codes ist die Ansicht, die angezeigt wird, nachdem die Anwendung installiert oder neu installiert und die Anwendung zum ersten Mal gestartet wurde. Der Benutzer wird aufgefordert, das Tracking gemäß dem Apple-Framework App Tracking Transparency zu genehmigen. Wenn der Benutzer autorisiert, aktualisieren Sie auch das Einverständnis.
Fügen Sie den folgenden Code zum
ATTrackingManager.requestTrackingAuthorization { status in
hinzu.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") }
-
Sie möchten den Benutzer nur einmal um Zustimmung bitten. Bei dieser App gehen Sie davon aus, dass der Benutzer mit der Erfassung von Ereignissen einverstanden ist, wenn er das Tracking autorisiert.
-
Navigieren Sie Android > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK.
Fügen Sie diesen Code zur
updateConsent(value: String)
hinzu.code language-kotlin // Update consent val collectConsent = mapOf("collect" to mapOf("val" to value)) val currentConsents = mapOf("consents" to collectConsent) Consent.update(currentConsents) MobileCore.updateConfiguration(currentConsents)
-
Android Navigieren Sie im Studio-Navigator zu app > kotlin+java > com.adobe.luma.tutorial. > views > DisclaimerView.kt.
Fügen Sie der
DisclaimerView(navController: NavController)
Funktion unter// Set content to yes
den folgenden Code hinzu und// Set content to no
Sie.code language-kotlin // Add consent based on authorization if (status) { showPersonalizationWarning = false // Set consent to yes MobileSDK.shared.updateTrackingStatus(TrackingStatus.AUTHORIZED) MobileSDK.shared.updateConsent("y") } else { Toast.makeText( context, "You will not receive offers and location tracking will be disabled.", Toast.LENGTH_LONG ).show() showPersonalizationWarning = true // Set consent to no MobileSDK.shared.updateTrackingStatus(TrackingStatus.DENIED) MobileSDK.shared.updateConsent("n") }
Aktuellen Einverständnisstatus abrufen
Die Mobile Consent-Erweiterung unterdrückt automatisch das Tracking / ausstehend / ermöglicht es basierend auf dem aktuellen Einverständniswert. Sie können auch selbst auf den aktuellen Einverständnisstatus zugreifen:
-
Navigieren Sie im Projekt-Navigator von Xcode zu Luma > Luma > Utils Mobile SDK).
Fügen Sie der
getConsents
-Funktion den folgenden Code hinzu: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)") }
-
Navigieren Sie im Projekt-Navigator von Xcode zu Luma > Luma > Views > General HomeView.
Fügen Sie dem
.task
-Modifikator den folgenden Code hinzu:code language-swift // Ask status of consents MobileSDK.shared.getConsents()
Im obigen Beispiel protokollieren Sie einfach den Einverständnisstatus in der Konsole in Xcode. In einem realen Szenario können Sie damit ändern, welche Menüs oder Optionen dem Benutzer angezeigt werden.
-
Navigieren Sie Android > kotlin+java > com.adobe.luma.tutorial.android > models > MobileSDK.
Fügen Sie der
getConsents()
-Funktion den folgenden Code hinzu:code language-kotlin // Get consents Consent.getConsents { callback -> if (callback != null) { val jsonStr = JSONObject(callback).toString(4) Log.i("MobileSDK", "Consent getConsents: $jsonStr") } }
-
Navigieren Sie Android > kotlin+java > com.adobe.luma.tutorial.android > views > HomeView.kt.
Fügen Sie den folgenden Code zu
LaunchedEffect(unit)
hinzu:code language-kotlin // Ask status of consents MobileSDK.shared.getConsents()
Im obigen Beispiel protokollieren Sie einfach den Einverständnisstatus in der Konsole in Android Studio. In einem realen Szenario können Sie damit ändern, welche Menüs oder Optionen dem Benutzer angezeigt werden.
Mit Assurance validieren
-
Löschen Sie die Anwendung von Ihrem Gerät oder Simulator, um das Tracking und das Einverständnis ordnungsgemäß zurückzusetzen und zu initialisieren.
-
Um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden, lesen Sie den Abschnitt Setup-Anweisungen.
-
Wenn Sie in der App vom Bildschirm Startseite zum Bildschirm Produkte und zurück zum Bildschirm Startseite wechseln, sollte in der Benutzeroberfläche von Assurance ein Ereignis Antwort zum Einverständnis angezeigt werden.
Weiter: Erfassen von Lebenszyklusdaten