Obsługa trybu zgody Google w wersji 2 dla pakietów SDK inApp
Szukasz CMP obsługującego tryb zgody Google? Zobacz nasze Tryb zgody Google, wersja 2 strona produktu.
Od wersji 2.1.0 na Androida i wersji 1.99.3 na iOS
Ten przewodnik zawiera instrukcje dotyczące integracji trybu zgody Google z trybem niestandardowym ConsentManager w aplikacji na Androida lub iOS. Zakłada się, że masz już skonfigurowaną usługę Firebase Analytics w swoim projekcie.
Wymagania wstępne
- Upewnij się, że tryb zgody jest włączony (Menu > CMP > Integracje > Tryb zgody Google)
- Upewnij się, że Google Analytics, Google Ads lub inne usługi Google znajdują się na Twojej liście dostawców
iOS
Wymagania wstępne
- Projekt Firebase z włączoną obsługą Google Analytics.
- Pakiet SDK Firebase zintegrowany z Twoim projektem na iOS.
-
CMPConsentTool
skonfigurowane w Twoim projekcie.
Krok 1: Skonfiguruj CMPConsentTool
Ustawiać CMPConsentTool
z Twoją konkretną konfiguracją. To narzędzie będzie zarządzać interakcjami w zakresie zgody użytkownika:
import CmpSdk
var cmpManager: CMPConsentTool?
func configureCMPConsentTool() {
let cmpConfig = CMPConfig(...) // Configure as per your requirements
cmpManager = CMPConsentTool(cmpConfig: cmpConfig)
.withUpdateGoogleConsent(onCmpUpdateGoogleConsent)
}
Krok 2: Zajmij się aktualizacjami zgód
Zaimplementuj funkcję wywołania zwrotnego do obsługi aktualizacji statusu zgody. Funkcja ta zostanie uruchomiona w przypadku zmiany zgody użytkownika.
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
}
}
Opona onCmpUpdateGoogleConsent
funkcja aktualizuje zgodę w Google Analytics za pomocą Firebase SDK.
- Funkcja tłumaczy zgodę użytkownika z
CMPConsentTool
w formacie zrozumiałym dla Firebase Analytics. - Następnie aktualizuje Google Analytics o aktualny stan zgody użytkownika.
Android
Wymagania wstępne
- Aplikacja na Androida ze zintegrowaną Firebase Analytics.
-
CmpManager
klasa zaimplementowana w Twojej aplikacji.
Krok 1: Skonfiguruj Firebase Analytics
Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase Analytics do swojego projektu na Androida. Podążaj za urzędnikiem Dokumentacja Firebase ustawić to.
Krok 2: Zaimplementuj wywołanie zwrotne Google Firebase Analytics
// 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)
}