Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
Diese Anleitung erklärt, wie Sie das UniConsent CMP SDK in Ihre React Native-Anwendung integrieren, um das GDPR IAB TCF 2.4 Consent Management zu handhaben.
Eine Demo-App mit integriertem SDK finden Sie im Verzeichnis demo, das zusammen mit dem SDK-Paket bereitgestellt wird.
uniconsent-react-native-sdk-26.10.0.zip), heruntergeladen aus Ihrem UniConsent-Dashboard oder vom Support erhalten.Laden Sie das SDK-Paket herunter und entpacken Sie es (z. B. uniconsent-react-native-sdk-26.10.0.zip). Darin finden Sie:
uniconsent-react-native-sdk-26.10.0.tgz — Per npm installierbares SDK-Paketuniconsent-sdk/ — Vorkompilierte SDK-Bibliotheksdateiendemo/ — Demo-AnwendungREADME.md — DokumentationInstallieren Sie die .tgz-Datei mit npm oder Yarn:
# Replace <path-to-package-file.tgz> with the actual path to the file
npm install <path-to-package-file.tgz>
# or
yarn add <path-to-package-file.tgz>
Beispiel: Wenn Sie die .tgz-Datei im Stammverzeichnis Ihres Projekts ablegen:
npm install ./uniconsent-react-native-sdk-26.10.0.tgz
# or
yarn add file:./uniconsent-react-native-sdk-26.10.0.tgz
Dieses SDK erfordert die folgenden Peer-Abhängigkeiten:
npm install react-native-webview react-native-default-preference react-native-device-info
# or
yarn add react-native-webview react-native-default-preference react-native-device-info
Wenn Sie für iOS entwickeln, navigieren Sie zum ios-Verzeichnis Ihres Projekts und installieren Sie die Pods:
cd ios
pod install
cd ..
Bevor Sie das SDK integrieren, passen Sie das Erscheinungsbild des Consent-Banners im UniConsent Dashboard an Ihre Marke an und optimieren Sie die Einwilligungsraten.
Gehen Sie zu Projects → Wählen Sie Ihr Projekt → Settings → Step 5: UI & Style Settings, um Folgendes zu konfigurieren:
Für eine präzisere Kontrolle fügen Sie benutzerdefiniertes CSS im Feld CSS Content unter Step 5 hinzu. Dies wird empfohlen, damit sich das Banner nativ in Ihre App einfügt und die beste Einwilligungsrate erzielt wird:
/* Example: Style the accept button to match your brand */
.unic-btn-accept {
background-color: #4CAF50;
border-radius: 8px;
font-weight: 600;
}
/* Example: Adjust banner font */
.unic-banner {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Example: Make the reject button less prominent */
.unic-btn-reject {
background-color: transparent;
border: 1px solid #ccc;
color: #666;
}
Tipp: Eine markengerechte Einwilligungsoberfläche, die sich nativ in Ihre App einfügt, erzielt in der Regel höhere Einwilligungsraten. Benutzer reagieren eher positiv auf ein Banner, das dem erwarteten Erscheinungsbild entspricht.
Umschließen Sie die Wurzelkomponente Ihrer Anwendung (oder den relevanten Teil) mit UniConsentProvider. Sie müssen Ihre licenseId (Publisher-ID/pid von UniConsent) angeben.
// Your main App file (e.g., App.tsx or index.js)
import React from 'react';
import { UniConsentProvider } from 'uniconsent-sdk';
import YourAppRootComponent from './src/YourAppRootComponent';
const App = () => {
return (
<UniConsentProvider licenseId="YOUR_LICENSE_ID">
<YourAppRootComponent />
</UniConsentProvider>
);
};
export default App;
Das SDK unterstützt drei Anzeigemodi für die CMP-Oberfläche, die über die Eigenschaft displayMode am UniConsentProvider konfiguriert werden:
| Modus | Beschreibung |
|---|---|
'fullScreen' | Vollbild-Ansicht (Standard) |
'bottomSheet' | Modales Sheet am unteren Bildschirmrand |
'dialog' | Zentrierter modaler Dialog |
// Full screen (default — no prop needed)
<UniConsentProvider licenseId="YOUR_LICENSE_ID">
// Bottom sheet
<UniConsentProvider licenseId="YOUR_LICENSE_ID" displayMode="bottomSheet">
// Bottom sheet at 70% of the screen height
<UniConsentProvider licenseId="YOUR_LICENSE_ID" displayMode="bottomSheet" heightRatio={0.7}>
// Center dialog
<UniConsentProvider licenseId="YOUR_LICENSE_ID" displayMode="dialog">
// Center dialog at 80% width and 60% height
<UniConsentProvider licenseId="YOUR_LICENSE_ID" displayMode="dialog" widthRatio={0.8} heightRatio={0.6}>
Verfügbar ab SDK-Version 26.8.0.
Beide Ratios sind optional — jeder Anzeigemodus funktioniert auch ohne sie. Übergeben Sie ein Ratio (ein Bruchteil des Bildschirms, größer als 0 und höchstens 1) nur, um die Standardgröße zu überschreiben; ungültige Werte werfen einen RangeError:
| Eigenschaft | Gilt für | Standard, wenn nicht angegeben |
|---|---|---|
heightRatio | 'bottomSheet', 'dialog' | Sheet: 90 % des Bildschirms. Dialog: 70 % |
widthRatio | nur 'dialog' | 90 % der Bildschirmbreite, maximal 500 |
Ratios, die für den gewählten Anzeigemodus nicht relevant sind, werden ignoriert ('fullScreen' ignoriert beide).
Überwachen Sie SDK-Lebenszyklus-Events mit der Eigenschaft onEvent am UniConsentProvider.
Verfügbare Event-Typen:
'sdkInit' — SDK-Initialisierung gestartet'ready' — SDK-Initialisierung abgeschlossen'uiDisplay' — Einwilligungsoberfläche wird angezeigt'uiClose' — Einwilligungsoberfläche wird geschlossen<UniConsentProvider
licenseId="YOUR_LICENSE_ID"
onEvent={(event) => {
switch (event.type) {
case 'ready':
console.log('SDK ready');
break;
case 'uiClose':
console.log('Consent UI closed');
break;
}
}}
>
<YourAppRootComponent />
</UniConsentProvider>
Verwenden Sie den useConsent-Hook innerhalb einer Komponente im Provider, um die Funktion openCMP zu erhalten, und rufen Sie sie bei Bedarf auf (z. B. bei einem Tastendruck).
import React from 'react';
import { View, Text, Button, ActivityIndicator } from 'react-native';
import { useConsent } from 'uniconsent-sdk';
const ConsentInfoComponent = () => {
const { consentStatus, isLoading, openCMP } = useConsent();
return (
<View>
<Text>Consent Status:</Text>
{isLoading ? (
<ActivityIndicator />
) : (
<Text>{consentStatus ?? 'Initializing...'}</Text>
)}
<Button
title="Manage Privacy Settings"
onPress={() => openCMP()}
disabled={isLoading}
/>
</View>
);
};
Verwenden Sie die Hilfsfunktionen, um den Einwilligungsstatus direkt ohne den Hook zu prüfen:
import {
getTCString,
isEURegion,
isPurposeConsented,
isVendorConsented,
getConsentData,
} from 'uniconsent-sdk';
// Get the full TC String
const tcString = await getTCString();
// Check if user is in EU/EEA region
const inEU = await isEURegion();
// Check if a specific TCF purpose has consent (1-based ID)
const hasPurpose1 = await isPurposeConsented(1);
// Check if a specific vendor has consent (1-based ID)
const hasVendor755 = await isVendorConsented(755);
// Get all consent data as a single object
const consentData = await getConsentData();
Verfügbar ab SDK-Version 26.7.0. Wenn Sie Ihre eigene First-Layer-Einwilligungsoberfläche erstellen, anstatt die CMP-Webview anzuzeigen, können Sie die Einwilligung direkt speichern:
import { agreeAll, rejectAll } from 'uniconsent-sdk';
// Grant consent for all purposes, special features and vendors
const saved = await agreeAll();
// Reject all purposes, special features and vendors
const rejected = await rejectAll();
Beide APIs speichern dieselben Einwilligungswerte wie der CMP-UI-Flow (IAB-TCF-Schlüssel, Additional Consent und Consent-Mode-Signale), aktualisieren den consentStatus des Providers und lösen das uiClose-Event für onEvent aus. Sie verwenden die vom UniConsentProvider registrierte licenseId; rufen Sie sie daher erst auf, nachdem der Provider gemountet wurde.
Für Nutzer in den USA und Kanada speichern beide APIs zusätzlich die jeweils geltende Entscheidung für CCPA, US State Privacy und IAB TCF Kanada, nach denselben Regeln wie die CMP Oberfläche, und schreiben die IAB GPP und US Privacy Schlüssel. Aktivieren Sie die API-Only Modi in den Projekteinstellungen des UniConsent Dashboards, damit das CMP Banner für diese Regionen nicht angezeigt wird.
Außerdem speichern sie die Entscheidung zu den Cookie-Kategorien, wo ein Cookie-Kategorien-Banner gilt (alle Kategorien oder nur „Unbedingt erforderlich“), sowie die benutzerdefinierten Zwecke und benutzerdefinierten Anbieter des Projekts.
Um zu wissen, welchen First Layer Sie anzeigen sollen, rufen Sie getPolicy() auf (ab SDK Version 26.10.0). Es gibt die für den Nutzer geltende Richtlinie zurück, nach denselben Regeln wie die CMP: gdpr (IAB TCF), tcfca (IAB TCF Kanada), uss (US State Privacy), ccpa, categories (siehe Cookie-Kategorien unten) oder none.
import { useEffect } from 'react';
import { useConsent, getPolicy } from 'uniconsent-sdk';
// innerhalb einer Funktionskomponente
const { consentStatus } = useConsent();
useEffect(() => {
if (consentStatus === 'pending') {
// der Nutzer muss eine Entscheidung treffen: Ihren First Layer für diese Richtlinie anzeigen
getPolicy().then(policy => { /* gdpr, tcfca oder categories */ });
}
}, [consentStatus]);
Wichtig: Ihr benutzerdefinierter First Layer muss weiterhin die IAB-TCF-Anforderungen erfüllen (Zwecke und Anbieter offenlegen sowie Akzeptieren und Ablehnen gleichwertig anbieten). Nutzer sollten weiterhin die vollständige CMP-Oberfläche (
openCMP()) öffnen können, um granulare Entscheidungen zu treffen.
Wenn Ihre App ein WebView öffnet, das eine Webseite mit dem UniConsent CMP-Tag lädt, können Sie den nativen Einwilligungsstatus übergeben, damit das CMP-Tag die bestehende Einwilligung erkennt und das Banner nicht erneut anzeigt.
Verwenden Sie getConsentSyncScript() mit injectedJavaScriptBeforeContentLoaded, um die Einwilligung zu injizieren, bevor Seitenskripte ausgeführt werden:
import React, { useState, useEffect } from 'react';
import { WebView } from 'react-native-webview';
import { getConsentSyncScript } from 'uniconsent-sdk';
const MyWebView = () => {
const [consentScript, setConsentScript] = useState<string | null>(null);
useEffect(() => {
getConsentSyncScript().then(setConsentScript);
}, []);
if (!consentScript) return null;
return (
<WebView
source={{ uri: 'https://example.com' }}
injectedJavaScriptBeforeContentLoaded={consentScript}
/>
);
};
Das SDK bietet Hilfsfunktionen für Entwicklung und Debugging:
import { listKV, clearKV } from 'uniconsent-sdk';
// Log all stored consent keys to console
await listKV();
// Clear all stored consent data
await clearKV();
UniConsentProvider-Eigenschaften| Eigenschaft | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
licenseId | string | Ja | — | Ihre UniConsent Publisher-ID (pid). |
displayMode | CMPDisplayMode | Nein | 'fullScreen' | CMP-Anzeigestil: 'fullScreen', 'bottomSheet' oder 'dialog'. |
heightRatio | number | Nein | Sheet: 0.9, Dialog: 0.7 | UI-Höhe als Bruchteil der Bildschirmhöhe in (0, 1]. Gilt für 'bottomSheet' und 'dialog'. |
widthRatio | number | Nein | 0.9 (maximal 500) | Dialogbreite als Bruchteil der Bildschirmbreite in (0, 1]. Gilt nur für 'dialog'. |
onEvent | CMPEventCallback | Nein | — | Callback für SDK-Lebenszyklus-Events (sdkInit, ready, uiDisplay, uiClose). |
langCode | string | Nein | Gerätesprache | CMP-Sprache als zweistelliger Code, zum Beispiel 'FR'. |
testRegion | string | Nein | Region des Nutzers | Nur zum Testen: zeigt die CMP wie für einen Nutzer in einer anderen Region: 'EU', 'CA' (Kanada), 'CAQC' (Quebec), 'US' plus Bundesstaatscode wie 'USCA' oder 'USTX', oder 'N' (außerhalb dieser Regionen). Entfernen Sie es in Release-Builds. |
logLevel | 'debug' | 'error' | Nein | 'error' | 'debug' gibt Logs von SDK und CMP-Seite aus. |
| Export | Beschreibung |
|---|---|
UniConsentProvider | React-Komponente zum Umschließen Ihrer Anwendung. Erfordert die Eigenschaft licenseId. |
useConsent() | Hook, der { consentStatus, isLoading, openCMP } zurückgibt. |
| Funktion | Rückgabe | Beschreibung |
|---|---|---|
getTCString() | Promise<string> | IAB TCF Consent-String abrufen. |
isEURegion() | Promise<boolean> | Prüfen, ob sich der Benutzer in einer EU/EWR-Region befindet. |
isPurposeConsented(purposeId) | Promise<boolean> | Einwilligung für einen bestimmten TCF-Zweck prüfen (1-basierte ID). |
isVendorConsented(vendorId) | Promise<boolean> | Einwilligung für einen bestimmten TCF-Anbieter prüfen (1-basierte ID). |
getConsentData() | Promise<ConsentData> | Umfassendes Einwilligungsdatenobjekt abrufen. |
getConsentSyncScript() | Promise<string> | JS-Snippet zum Injizieren der Einwilligung in ein WebView abrufen. |
agreeAll() | Promise<boolean> | Einwilligung für alle Zwecke, besonderen Funktionen und Anbieter erteilen (eigener First Layer). |
rejectAll() | Promise<boolean> | Alle Zwecke, besonderen Funktionen und Anbieter ablehnen (eigener First Layer). |
getPolicy() | Promise<string> | Die für den Nutzer geltende Richtlinie, für Ihren eigenen First Layer: gdpr, tcfca, uss, ccpa, categories oder none. |
listKV() | Promise<void> | Debug: Alle gespeicherten Einwilligungsschlüssel in der Konsole ausgeben. |
clearKV() | Promise<void> | Debug: Alle gespeicherten Einwilligungsdaten löschen. |
| Typ | Beschreibung |
|---|---|
CMPDisplayMode | 'fullScreen' | 'bottomSheet' | 'dialog' |
CMPEventType | 'sdkInit' | 'ready' | 'uiDisplay' | 'uiClose' |
CMPEventCallback | (event: { type: CMPEventType }) => void |
ConsentContextValue | Form des Rückgabewerts von useConsent(). |
ConsentData | Form des Rückgabewerts von getConsentData(). |
ConsentData-Felder| Feld | Typ | Beschreibung |
|---|---|---|
tcString | string | Vollständiger IAB TCF Consent-String. |
isEURegion | boolean | Ob sich der Benutzer in einer EU/EWR-Region befindet. |
gdprApplies | boolean | Flag, ob die DSGVO gilt. |
cmpSdkId | number | Registrierte CMP SDK-ID (68 für UniConsent). |
cmpSdkVersion | number | CMP SDK-Version. |
policyVersion | number | TCF-Richtlinienversion. |
purposeConsents | string | Binärstring der eingewilligten Zwecke (z. B. "10110"). |
vendorConsents | string | Binärstring der eingewilligten Anbieter. |
additionalConsent | string | Google Additional Consent (AC)-String. |
gvlVersion | number | Verwendete Version der Global Vendor List. |
Öffnen Sie die CMP auf einem bestimmten Bildschirm, zum Beispiel über einen Link „Datenschutzeinstellungen“ in Ihrer App. Der angeforderte Bildschirm wird immer geöffnet. Für Nutzer in den USA öffnen die Einstellungsbildschirme die für sie geltenden CCPA- oder US-State-Privacy-Einstellungen. Nutzer in Kanada sehen die IAB-TCF-Canada-Version der IAB-TCF-Bildschirme.
| Bildschirm | Zeigt |
|---|---|
CMPStage.GDPRFirstScreen | Erste Ebene (Banner) |
CMPStage.GDPRSecondScreen | Einstellungen (Zwecke) |
CMPStage.GDPRVendorsScreen | Anbieter |
CMPStage.CCPAFirstScreen | Erste Ebene CCPA |
CMPStage.CCPASecondScreen | CCPA-Einstellungen |
CMPStage.USStateFirstScreen | Erste Ebene US State Privacy |
CMPStage.USStateSecondScreen | US-State-Privacy-Einstellungen |
CMPStage.CategoriesFirstScreen | Erste Ebene der Cookie-Kategorien (Banner) |
CMPStage.CategoriesSecondScreen | Einstellungen der Cookie-Kategorien |
import { UniConsentProvider, useConsent, CMPStage, getGEO, getGEOState } from 'uniconsent-sdk';
// CMP auf Französisch statt in der Gerätesprache anzeigen, mit Debug-Logs ('error', den Standard, in Release-Builds verwenden)
<UniConsentProvider licenseId="YOUR_PUBLISHER_ID" langCode="FR" logLevel="debug">
{/* Ihre App */}
</UniConsentProvider>
// nur zum Testen: CMP wie für einen Nutzer in einer anderen Region anzeigen, 'EU', 'CA' (Kanada), 'CAQC' (Quebec), 'US' plus Bundesstaatscode wie 'USCA' oder 'USTX', 'BR', 'CN', 'ZA', 'VN' oder ein anderer Ländercode, oder 'N' (außerhalb dieser Regionen). Gilt auch für getPolicy() und die Einwilligungsprüfungen; in Release-Builds entfernen
<UniConsentProvider licenseId="YOUR_PUBLISHER_ID" testRegion="CA">
{/* Ihre App */}
</UniConsentProvider>
// in einer Komponente: Einstellungsbildschirm öffnen
const { openCMP } = useConsent();
openCMP(CMPStage.GDPRSecondScreen);
// Region des Nutzers und für die USA und Kanada der Code des Bundesstaats bzw. der Provinz
const geo = await getGEO();
const state = await getGEOState();
Die CMP speichert die IAB GPP Schlüssel und den US Privacy Schlüssel in den nativen Speicher der App (SharedPreferences unter Android, UserDefaults unter iOS), wie in den IAB Spezifikationen definiert. Werbe-SDKs in Ihrer App lesen sie dort aus; Codeänderungen sind nicht nötig. Die GPP Schlüssel werden geschrieben, wenn GPP, US State Privacy oder IAB TCF Kanada in den Projekteinstellungen des UniConsent Dashboards aktiviert ist. Der US Privacy Schlüssel wird geschrieben, sobald CCPA aktiviert ist.
| Schlüssel | Wert |
|---|---|
IABGPP_HDR_Version | GPP Version (1) |
IABGPP_HDR_Sections | Abschnitts-IDs im GPP String, getrennt durch _ |
IABGPP_HDR_GppString | Der vollständige GPP String |
IABGPP_GppSID | Für den Nutzer geltende Abschnitts-IDs, getrennt durch _, oder -1, wenn keiner gilt |
IABGPP_2_String | IAB TCF EU String, wenn die DSGVO gilt |
IABGPP_5_String | IAB TCF Kanada String, wenn Kanada TCF gilt |
IABGPP_6_String | US Privacy String, wenn der CCPA gilt |
IABGPP_7_String | US National (usnat) String, wenn US State Privacy oder der CCPA gilt |
IABGPP_8_String bis IABGPP_27_String | Der Abschnitt für den Bundesstaat des Nutzers (8 Kalifornien bis 27 Rhode Island), wenn US State Privacy gilt, oder Kalifornien unter dem CCPA, gemäß der Einstellung GPP Sections |
IABUSPrivacy_String | US Privacy String, sobald CCPA aktiviert ist: die Entscheidung des Nutzers in der CCPA Region, sonst 1--- |
Die Schlüssel werden bei jedem Laden der CMP und nach jeder Einwilligungsentscheidung aktualisiert. Wenn GPP deaktiviert wird, werden die IABGPP_ Schlüssel entfernt. So lesen Sie sie selbst aus:
import DefaultPreference from 'react-native-default-preference';
const gppString = await DefaultPreference.get('IABGPP_HDR_GppString');
const gppSid = await DefaultPreference.get('IABGPP_GppSID');
Apps unterstützen dieselben Optionen für die USA und Kanada wie Websites: CCPA, US State Privacy (mit Bundesstaatenliste, GPP Sections und MSPA Einstellungen) und IAB TCF Kanada. UniConsentProvider öffnet die CMP für Nutzer in Kanada, für die IAB TCF Kanada gilt, bis sie eine Entscheidung treffen. US Datenschutz ist ein Opt-out, daher werden Nutzer in den USA nicht von selbst gefragt: Sie sehen das US Banner oder die US Einstellungen, wenn Ihre App openCMP() aufruft, zum Beispiel über einen Link zu den Datenschutzeinstellungen. Bis dahin schreibt das SDK, wenn CCPA oder US State Privacy aktiviert ist, für Nutzer in den USA die Standardwerte der US Privacy und GPP Schlüssel, ohne etwas anzuzeigen: kein Widerspruch, oder Widerspruch, wenn auf dem Gerät das Werbe-Tracking deaktiviert ist. US State Privacy ist bei neuen Mobile App Projekten zunächst aus; aktivieren Sie es im Dashboard.
Hat der Nutzer das Werbe-Tracking auf dem Gerät deaktiviert, behandelt die CMP dies als US Widerspruch gegen Verkauf, Weitergabe und zielgerichtete Werbung, so wie Global Privacy Control auf Websites. Unter iOS ist das nicht erlaubtes Tracking in App Tracking Transparency; unter Android eine gelöschte Werbe-ID oder eingeschränktes Werbe-Tracking, gelesen über die Google Play-Dienste, wenn Ihre App sie enthält. Eine Entscheidung, die der Nutzer danach im Banner speichert, hat Vorrang.
Das SDK gibt die gespeicherten Strings auch direkt zurück:
import { getGPPString, getGPPSID, getUSPrivacyString } from 'uniconsent-sdk';
const gppString = await getGPPString();
const gppSid = await getGPPSID();
const usPrivacy = await getUSPrivacyString();
Verfügbar ab SDK Version 26.10.0. Wo eine Region Cookie-Kategorien statt IAB TCF oder der US Richtlinien verwendet, zeigt die CMP ein Banner mit vier Kategorien: Unbedingt erforderlich, Leistung, Funktionalität sowie Targeting oder Werbung. Das gilt für:
Bei Opt-in Kategorien ist zunächst nur „Unbedingt erforderlich“ aktiv, und UniConsentProvider öffnet die CMP (consentStatus ist pending), bis der Nutzer eine Entscheidung trifft, und erneut, nachdem Sie die Konfigurationsversion geändert haben. Bei Opt-out Kategorien sind zunächst alle Kategorien aktiv (Targeting aus, wenn auf dem Gerät in den USA das Werbe-Tracking deaktiviert ist), und die App fragt nicht von selbst: Nutzer ändern sie über Ihren Link zu den Datenschutzeinstellungen. Opt-out gilt für eine Opt-out Regel für andere Länder und, in Apps, für ein Consent Categories Projekt in den USA.
Öffnen Sie die Kategorie-Bildschirme mit CMPStage.CategoriesFirstScreen (Banner) und CMPStage.CategoriesSecondScreen (Einstellungen). Die Prop testRegion akzeptiert außerdem BR, CN, ZA, VN und andere Ländercodes, um diese Regionen zu testen.
Verfügbar ab SDK Version 26.10.0. Die benutzerdefinierten Zwecke und benutzerdefinierten Anbieter, die Sie in den Projekteinstellungen des UniConsent Dashboards hinzufügen, erscheinen in den CMP Bildschirmen: die benutzerdefinierten Zwecke in der ersten Ebene und den Einstellungen von IAB TCF sowie in den Einstellungen der Cookie-Kategorien, die benutzerdefinierten Anbieter in der IAB TCF Anbieterliste. In den Einstellungen von CCPA und US State Privacy werden nur sensible benutzerdefinierte Zwecke aufgeführt. In den Einstellungen der Cookie-Kategorien folgen die benutzerdefinierten Anbieter der Kategorie Targeting oder Werbung. Wo IAB TCF nicht gilt (Cookie-Kategorien und die USA), werden die benutzerdefinierten Anbieter schreibgeschützt unter der Anbieterliste im Menü aufgeführt, und in den Einstellungen der Cookie-Kategorien unter Targeting oder Werbung.
Um Ihre eigenen SDKs danach zu starten oder zu stoppen, fragen Sie das SDK, ob die App einen benutzerdefinierten Zweck oder Anbieter jetzt verwenden darf. Die Antwort folgt der Richtlinie des Nutzers, nach denselben Regeln, die die CMP für Tags verwendet:
import { isCustomPurposeConsented, isCustomVendorConsented, getCustomConsents } from 'uniconsent-sdk';
// innerhalb einer async Funktion
if (await isCustomPurposeConsented(1)) {
// das SDK starten, das Ihr benutzerdefinierter Zweck 1 abdeckt
}
const vendorAllowed = await isCustomVendorConsented(2);
const all = await getCustomConsents(); // { purposes: { '1': true }, vendors: { '2': false } }
Rufen Sie sie erneut auf, nachdem die CMP geschlossen wurde oder sich die Einwilligung geändert hat. IDs, die das Projekt nicht hat, und alle IDs, bevor das SDK bereit ist, ergeben false.
Die CMP kann die SDKs von Drittanbietern in Ihrer App (Werbenetzwerke, Analyse, Attribution und andere) mit ihrem Unternehmen, ihrem Verwendungszweck und ihrer Datenschutzerklärung auflisten. Nutzer sehen sie unter der Anbieterliste, in allen Regionen schreibgeschützt: Es gibt keine Schalter, und Ihre App schaltet jedes SDK weiterhin anhand der Auswahl des Nutzers für Zwecke oder Cookie-Kategorien ein oder aus.
Um die Liste festzulegen, aktivieren Sie in Step 4: Advanced Features Ihres App-Projekts die Option Enable Third-party SDKs, wählen Sie im Tab Third-party SDKs Ihre SDKs aus oder fügen Sie eigene hinzu, und speichern und veröffentlichen Sie anschließend. In Ihrer App ist dafür kein Code nötig.
openCMP() aufrufen, die über den useConsent-Hook bezogen wird.UniConsentProvider prüft automatisch den Einwilligungsstatus beim Start Ihrer App, einschließlich der Frage, ob die Global Vendor List (GVL) seit der letzten Einwilligung des Benutzers aktualisiert wurde. Wenn sich die GVL-Version geändert hat, wird der Benutzer erneut aufgefordert.getGPPString(), getGPPSID() und getUSPrivacyString()openCMP(stage) öffnen; neu: die Props langCode und logLevel, getGEO() und getGEOState()CMPStage.CCPAFirstScreen und CMPStage.USStateFirstScreen öffnen; neu: die Prop testRegion, um die CMP wie für einen Nutzer in einer anderen Region zu testen, etwa KanadaCMPStage.CategoriesFirstScreen und CMPStage.CategoriesSecondScreengetPolicy(); agreeAll() und rejectAll() speichern außerdem die Cookie-Kategorien, benutzerdefinierten Zwecke und benutzerdefinierten AnbietertestRegion akzeptiert außerdem BR, CN, ZA, VN und andere Ländercodes und gilt auch für getPolicy() und die EinwilligungsprüfungenisCustomPurposeConsented(), isCustomVendorConsented() und getCustomConsents(): die benutzerdefinierten Zwecke und Anbieter, die die App nach der Richtlinie des Nutzers jetzt verwenden darf