Skip to main content

React Native CMP stubs

Basic shape for integrating the web CMP logic into RN:

// cmp.ts
import AsyncStorage from '@react-native-async-storage/async-storage';

export type ConsentState = {
essential: boolean;
marketing: boolean;
analytics: boolean;
functional: boolean;
};

const KEY = 'cmp.consent.v1';

export async function load(): Promise<ConsentState | null> {
const raw = await AsyncStorage.getItem(KEY);
return raw ? (JSON.parse(raw) as ConsentState) : null;
}

export async function save(state: ConsentState) {
await AsyncStorage.setItem(KEY, JSON.stringify(state));
}

export function openSettings(navigation: any) {
// Navigate to a screen that renders your CMP settings UI
navigation.navigate('CookieSettings');
}

On accept/reject, persist to AsyncStorage and emit analytics/GPP/TCF signals as needed.