Info
Inhalt

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:

  1. Stellen Sie sicher, dass der Einwilligungsmodus aktiviert ist (Menü > CMPs > Integrationen > Google Consent Mode)
  2. 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)
}

 

Nach oben