[ReactNative] 1. consentmanager SDK Integration

CMP SDK for React Native

CMP SDK is a React Native library that facilitates the management of user consent for data processing and storage. It is designed to help developers comply with various data protection regulations.


npm install cmp-sdk

Getting Started

Linking (React Native 0.59 and below)

If you are using React Native 0.59 or below, you need to link the native modules manually:


Import the Consentmanager from the cmp-sdk package in your code:

import { Consentmanager } from 'cmp-sdk';

Initializing the SDK

You can initialize the CMP SDK using either the direct configuration or a config object:

  • Direct Initialization:
    Consentmanager.createInstance('yourID', 'yourDomain', 'yourAppName', 'yourLanguage');
  • Initialization using Config Object:

To manage the consent layer:

Event Handling

Add event listeners to handle various consent-related events:

const removeListeners = Consentmanager.addEventListeners({
  onOpen: () => console.log('Consent layer opened'),
  onClose: () => console.log('Consent layer closed'),
  // Add other event handlers as needed

Remember to remove the event listeners when they are no longer needed:


You can check for vendor and purpose consents:

Consentmanager.exportCmpString().then((cmpString) => {
  console.log('CMP String: ', cmpString);

Additional Methods

The CMP SDK provides various methods to retrieve or manage consent data, such as:

  • getAllVendors()
  • getAllPurposes()
  • getEnabledVendors()
  • getEnabledPurposes()
  • getDisabledVendors()
  • getDisabledPurposes()
  • getUSPrivacyString()
  • getGoogleACString()

Refer to the SDK documentation for detailed information on these methods.


Roadmap for future functionalities:

  • disableVendorList, enableVendorList
  • disablePurposeList, enablePurposeList
  • Cmp ATT Manager for iOS
  • Custom layouts

Remember to replace placeholders like 'yourID', 'yourDomain', etc., with actual values relevant to the users of your SDK. You can also expand each section with more detailed examples if needed.

Back to top