Info
Innehåll

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

Utfasad SDK/uppgradera till v3: Den här dokumentationen beskriver version 2.x av vår SDK. 2.x SDK är utfasad och kommer att tas bort av EOY 2025. Uppgradera till SDK version 3.x. Se hjälpavsnittet om SDK v3 här.

Letar du efter en CMP som stöder Google Consent Mode? Se vår Googles samtyckesläge v2 produktsida.

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

Ocuco-landskapet 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