Google Consent Mode v2-Unterstützung für InApp-SDKs
Suchen Sie nach einem CMP, das den Google Consent Mode unterstützt? Sehen Sie sich unsere an Google Consent Mode v2 Produktseite.
Seit Version 2.1.0 in Android und Version 1.99.3 in iOS
Diese Anleitung enthält Anweisungen zur Integration des Google Consent Mode in den benutzerdefinierten Modus ConsentManager in Ihrer Android- oder iOS-Anwendung. Es wird davon ausgegangen, dass Sie Firebase Analytics bereits in Ihrem Projekt eingerichtet haben.
Voraussetzungen:
- Stellen Sie sicher, dass der Einwilligungsmodus aktiviert ist (Menü > CMPs > Integrationen > Google Consent Mode)
- Stellen Sie sicher, dass Google Analytics, Google Ads oder die anderen Google-Dienste in Ihrer Anbieterliste enthalten sind
iOS
Voraussetzungen:
- Ein Firebase-Projekt mit aktiviertem Google Analytics.
- Firebase SDK in Ihr iOS-Projekt integriert.
-
CMPConsentTool
in Ihrem Projekt einrichten.
Schritt 1: CMPConsentTool konfigurieren
Einrichten CMPConsentTool
mit Ihrer spezifischen Konfiguration. Dieses Tool verwaltet Benutzereinwilligungsinteraktionen:
import CmpSdk
var cmpManager: CMPConsentTool?
func configureCMPConsentTool() {
let cmpConfig = CMPConfig(...) // Configure as per your requirements
cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
}
Schritt 2: Behandeln Sie Einwilligungsaktualisierungen
Implementieren Sie die Rückruffunktion, um Aktualisierungen des Einwilligungsstatus zu verarbeiten. Diese Funktion wird ausgelöst, wenn sich die Einwilligung des Nutzers ändert.
func onCmpUpdateGoogleConsent(consentMap: [String: String]?) -> Void {
guard let consentMap = consentMap else { return }
var firebaseConsentMap: [ConsentType: ConsentStatus] = [:]
consentMap.forEach { key, value in
if let consentType = convertToFirebaseConsentType(from: key),
let consentStatus = convertToFirebaseConsentStatus(from: value) {
firebaseConsentMap[consentType] = consentStatus
}
}
Analytics.setConsent(firebaseConsentMap)
}
func convertToFirebaseConsentType(from key: String) -> ConsentType? {
switch key {
case "analyticsStorage":
return .analyticsStorage
case "adStorage":
return .adStorage
case "adUserData":
return .adUserData
case "adPersonalization":
return .adPersonalization
default:
return nil
}
}
func convertToFirebaseConsentStatus(from value: String) -> ConsentStatus? {
switch value {
case "granted":
return .granted
case "denied":
return .denied
default:
return nil
}
}
Das onCmpUpdateGoogleConsent
Die Funktion aktualisiert die Einwilligung in Google Analytics mithilfe des Firebase SDK.
- Die Funktion übersetzt die Einwilligung des Benutzers aus dem
CMPConsentTool
in ein Format, das Firebase Analytics verstehen kann. - Anschließend aktualisiert es Google Analytics mit dem aktuellen Einwilligungsstatus des Nutzers.
Android
Voraussetzungen:
- Android-Anwendung mit integrierter Firebase Analytics.
-
CmpManager
Klasse, die in Ihrer Anwendung implementiert ist.
Schritt 1: Richten Sie Firebase Analytics ein
Falls noch nicht geschehen, fügen Sie Firebase Analytics zu Ihrem Android-Projekt hinzu. Folgen Sie dem Beamten Firebase-Dokumentation um es einzurichten.
Schritt 2: Implementieren Sie den Google Firebase Analytics Callback
// add the AnalyticsInterface
class ConsentActivity() : FragmentActivity(), CmpGoogleAnalyticsInterface {
// Set the Callback
cmpManager.setGoogleAnalyticsCallback(this)
// Define Callback
override fun updateGoogleConsent(consentMap: Map<ConsentType, ConsentStatus>) {
val firebaseConsentMap = consentMap.entries.associate { entry ->
val firebaseConsentType = when (entry.key) {
ConsentType.ANALYTICS_STORAGE -> FirebaseAnalytics.ConsentType.ANALYTICS_STORAGE
ConsentType.AD_STORAGE -> FirebaseAnalytics.ConsentType.AD_STORAGE
ConsentType.AD_USER_DATA -> FirebaseAnalytics.ConsentType.AD_USER_DATA
ConsentType.AD_PERSONALIZATION -> FirebaseAnalytics.ConsentType.AD_PERSONALIZATION
}
val firebaseConsentStatus = when (entry.value) {
ConsentStatus.GRANTED -> FirebaseAnalytics.ConsentStatus.GRANTED
ConsentStatus.DENIED -> FirebaseAnalytics.ConsentStatus.DENIED
}
firebaseConsentType to firebaseConsentStatus
}
FirebaseAnalytics.getInstance(applicationContext).setConsent(firebaseConsentMap)
}