Info
Innehåll

Stöd för Google Consent Mode v2 för SDK:er i appar

Sedan version 2.1.0 i Android och version 1.99.3 i iOS

Den här guiden ger instruktioner om hur du integrerar Googles samtyckesläge med det anpassade ConsentManager i din Android- eller iOS-applikation. Det förutsätter att du redan har konfigurerat Firebase Analytics i ditt projekt.

Förutsättningar

  1. Se till att samtyckesläget är aktiverat (Meny > CMPs > Integrationer > Googles samtyckesläge)
  2. Se till att Google Analytics, Google Ads eller andra Google-tjänster finns på din leverantörslista

iOS

Förutsättningar
  • Ett Firebase-projekt med Google Analytics aktiverat.
  • Firebase SDK integrerat i ditt iOS-projekt.
  • CMPConsentTool ställa in i ditt projekt.
Steg 1: Konfigurera CMPConsentTool

Montera myggnät för luckor CMPConsentTool med din specifika konfiguration. Det här verktyget hanterar användarsamtyckesinteraktioner:

import CmpSdk

var cmpManager: CMPConsentTool?

func configureCMPConsentTool() {
let cmpConfig = CMPConfig(...) // Configure as per your requirements

cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
}
Steg 2: Hantera samtyckesuppdateringar

Implementera återuppringningsfunktionen för att hantera uppdateringar av samtyckesstatus. Denna funktion kommer att utlösas när det sker en ändring i användarens samtycke.

    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
        }
    }

Smakämnen onCmpUpdateGoogleConsent funktionen uppdaterar samtycket i Google Analytics med Firebase SDK.

  • Funktionen översätter användarens samtycke från CMPConsentTool till ett format som Firebase Analytics kan förstå.
  • Den uppdaterar sedan Google Analytics med användarens aktuella samtyckesstatus.

Android

Förutsättningar
  • Android-applikation med Firebase Analytics integrerad.
  • CmpManager klass implementerad i din ansökan.
Steg 1: Konfigurera Firebase Analytics

Lägg till Firebase Analytics i ditt Android-projekt om du inte redan har gjort det. Följ tjänstemannen Firebase -dokumentation att ställa in det.

Steg 2: Implementera 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)
}
Tillbaka till toppen