Aller au contenu principal

React Native

Notre CMP offre le choix entre deux styles d'UI: classic ou clear, les deux s'utilisent de la même manière, et offrent les mêmes fonctionnalités, seul l'aspect change.

AppConsent Classic package on NPMjs.com

AppConsent Clear package on NPMjs.com


Démarrage

Configurez l'environnement react-native tel que décrit ici.

Pour installer le package pour l'UI classic

npm install appconsent-reactnative --save

Pour installer le package pour l'UI clear

npm install appconsent-clear-reactnative --save

iOS

Lancer pod install.

note

Le SDK AppConsent est compatible avec le framework App Tracking Transparency (disponible sur iOS >=14). Il faut rajouter la clef NSUserTrackingUsageDescription dans le fichier Info.plist de votre application.

La documentation pour le framework iOS AppConsent est ici.

Android

Dans project/build.gradle, ajouter cette URL Maven dans le block allprojects/repositories.

allprojects {
repositories {
maven {
url "https://artifactory.datalf.chat/artifactory/app-consent-v2-release"
}
}
}

La Documentation pour le framework Android AppConsent est ici.


Utilisation

// for classic UI import from 'appconsent-reactnative'
// for clear UI import from 'appconsent-clear-reactnative'
import AppConsent from 'appconsent-reactnative';

// Configure at launch (appKey:forceApplyGDPR:forceATT)
AppConsent.configureWith("appKey", true, true);

Fonctionnalités de AppConsent

Vérifier si l'utilisateur a donné son consentement

AppConsent.consentAlreadyGiven()
.then( success =>
console.log("🔥 consentAlreadyGiven => " + success)
)

Renvoie true si le consentement a été donné, false sinon.

Afficher la notice

AppConsent.present(true)

Affiche la notice. present:false affiche la page d'introduction avant la notice. present:true affiche directement la notice, sans page d'introduction.

Get App Key

AppConsent.getAppKey()
.then( success =>
console.log("🔥 getAppKey => " + success)
)

Renvoie lAppKey.

Get Force Apply GDPR

AppConsent.getForceApplyGDPR()
.then( success =>
console.log("🔥 getForceApplyGDPR => " + success)
)

Renvoie forceApplyGDPR => true ou false.

Get Force ATT - iOS Only

AppConsent.getForceATT()
.then( success =>
console.log("🔥 getForceATT => " + success)
)

Renvoie forceATT => true ou false.

AppConsent.consentGiven()
.then( success =>
console.log("🔥 consentGiven => " + success)
)

Callback quand l'utilisateur a donné son consentement.

Consentable allowed - objectId

AppConsent.consentableAllowedByObjectId("1")
.then( success =>
console.log("🔥 consentableAllowedByObjectId => " + success)
)

Renvoie true si le consentable avec objectId = 1 est consenti, false sinon.

Consentable allowed - iabId

AppConsent.consentableAllowedByIABId("1", 1)
.then( success =>
console.log("🔥 consentableAllowedByIABId => " + success)
)

Params:
iabId is a String
type is a NSInteger (0: purpose ,1: feature , 2: specialFeature ,3: specialPurpose)

Renvoie true si le consentable avec iabId = 1 est consenti, false sinon.

Consentable allowed - extraId

AppConsent.extraConsentableAllowed("1")
.then( success =>
console.log("🔥 extraConsentableAllowed => " + success)
)

Renvoie true si le consentable avec extraId = 1 est consenti, false sinon.

Stack allowed - iabId

AppConsent.stackAllowedByIABId("1")
.then( success =>
console.log("🔥 stackAllowedByIABId => " + success)
)

Renvoie true si le consentable avec iabId = 1 est consenti, false sinon.

Vendor allowed - iabId

AppConsent.vendorAllowedByIABId("1")
.then( success =>
console.log("🔥 vendorAllowedByIABId => " + success)
)

Renvoie true si le vendor avec iabId = 1 est consenti, false sinon.

Vendor allowed - extraId

AppConsent.extraVendorAllowed("1")
.then( success =>
console.log("🔥 extraVendorAllowed => " + success)
)

Renvoie true si le vendor avec extraId = 1 est consenti, false sinon.

AppConsent.setConsentableConsent({"1":1})
.then( success =>
console.log("🔥 setConsentableConsent => " + "Success")
)

Applique le status de consentement au consentable avec un iabId.

Attention

Key doit être un iabId, pas un objectId.
Value doit être un Integer: 0 (en cours), 1 (autaurisé), -1 (refusé)

note

Cette méthode n'envoie pas de requête au serveur.

AppConsent.setExtraConsentableConsent({"TDWLFix3":1})
.then( success =>
console.log("🔥 setExtraConsentableConsent => " + "Success")
)

Applique le status de consentement au consentables avec un extraId.

Attention

Key doit être un extraId, pas un objectId.
Value doit être un Integer: 0 (en cours), 1 (autorisé), -1 (refusé)

note

Cette méthode n'envoie pas de requête au serveur.

Check for update

AppConsent.checkForUpdate()
.then( success =>
console.log("🔥 checkForUpdate => " + success)
)

Vérifier si le consentement doit être raffraîchi (nouvelle version de la gvl, nouveaux consentables…)

Clear consents

AppConsent.clearConsent()

Efface les consentements dans NSUserDefaults, mais pas sur le serveur.

Is GDPR Country

AppConsent.isGDPRCountry()
.then( success =>
console.log("🔥 isGDPRCountry => " + success)
)

Vérifier si le téléphone est dans un pays concerné par le GDPR.
Renvoie true si c'est le cas, false sinon.

App Tracking is available - iOS Only

AppConsent.appTrackingIsAvailable()
.then( success =>
console.log("🔥 appTrackingIsAvailable => " + success)
)

Vérifier si le téléphone supporte l'App Tracking Transparency.
Renvoie true si c'est le cas, false sinon.

App Tracking Authorization Given - iOS Only

AppConsent.appTrackingAuthorizationGiven()
.then( success =>
console.log("🔥 appTrackingAuthorizationGiven => " + success)
)

Vérifier si le consentement pour l'App Tracking Transparency a bien été donné.
Renvoie 0 (refusé), 1 (donné), 2 (ATT non pris en charge)

App Tracking Authorization Status - iOS Only

AppConsent.appTrackingAuthorizationStatus()
.then( success =>
console.log("🔥 appTrackingAuthorizationStatus => " + success)
)

Vérifier le status du téléphone au regard de l'App Tracking Transparency.
Renvoie 0 (refusé), 1 (donné), 2 (ATT non pris en charge)

Floating purpose allowed - extraId

AppConsent.extraFloatingPurposeAllowed("NkDawTu1")
.then( success =>
console.log("🔥 extraFloatingPurposeAllowed => " + success)
)

Vérifier si les floating purposes sont autorisés.

Attention

Il faut appeler la méthode checkForUpdate avant d'appeler la méthode ci-dessus pour rester à jour.