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.