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
- Se till att samtyckesläget är aktiverat (Meny > CMPs > Integrationer > Googles samtyckesläge)
- 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)
}