This repository demonstrates how to implement the Axeptio React Native SDK in your mobile applications.
npm install --save @axeptio/react-native-sdk
// or
yarn add @axeptio/react-native-sdk
- Min sdk 26
- Add maven github repository and credentials in your app's
android/build.gradle
(at the root level of the .gradle file)
repositories {
maven {
url = uri("https://maven.pkg.github.com/axeptio/tcf-android-sdk")
credentials {
username = "[GITHUB_USERNAME]"
password = "[GITHUB_TOKEN]"
}
}
}
We support iOS versions >= 15.
npx pod-install
The sdk do not manage App Tracking Transparency, you can find more information there.
You can find a basic usage of the Axeptio SDK in the example
folder.
Read the specific documentation.
async function init() {
await AxeptioSDK.initialize(
[your_client_id],
[your_cookies_version],
[optional_consent_token]
);
await AxeptioSDK.setupUI();
}
To manage App Tracking Transparency, you can use the react-native-tracking-transparency widget.
First, install it
npm install --save react-native-tracking-transparency
// or
yarn react-native-tracking-transparency
Add NSUserTrackingUsageDescription
to your Info.plist add file
<key>NSUserTrackingUsageDescription</key>
<string>Explain why you need user tracking</string>
You can now manage ATT popup before setup UI
let trackingStatus = await getTrackingStatus();
if (trackingStatus === 'not-determined') {
trackingStatus = await requestTrackingPermission();
}
if (trackingStatus === 'denied') {
await AxeptioSDK.setUserDeniedTracking();
} else {
await AxeptioSDK.setupUI();
}
Additionally, you can request the consent popup to open on demand.
AxeptioSdk.showConsentScreen();
The SDK provides a helper function to append the axeptio_token
query param to any URL.
You can precise a custom user token or use the one currently stored in the SDK.
const token = await AxeptioSdk.getAxeptioToken();
const url = await AxeptioSdk.appendAxeptioTokenURL(
'https://myurl.com',
token
);
Will return https://myurl.com?axeptio_token=[token]
AxeptioSdk.clearConsent();
The Axeptio SDK triggers various events to notify you that the user has taken some action.
We provide an AxeptioEventListener
class that can be use to catch events. Don't forget to add this listener to AxeptioSdk, as below.
const listener: AxeptioEventListener = {
onPopupClosedEvent: () => {
// The CMP notice is being hidden
// Do something
},
onConsentChanged: () => {
// The consent of the user changed
// Do something
},
onGoogleConsentModeUpdate: (_consents) => {
// The Google Consent V2 status
// Do something
},
};
AxeptioSDK.addListener(listener);