Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/birgernass/react-native-ad-consent
Google's User Messaging Platform (UMP SDK) for React Native.
https://github.com/birgernass/react-native-ad-consent
ad-manager admob ads consent consent-form consent-library consent-sdk eea gdpr-consent google iab personalized-ads publisher react-native tcf tcfv2 ump ump-sdk user-choice user-consent
Last synced: about 21 hours ago
JSON representation
Google's User Messaging Platform (UMP SDK) for React Native.
- Host: GitHub
- URL: https://github.com/birgernass/react-native-ad-consent
- Owner: birgernass
- License: mit
- Created: 2019-04-30T17:23:03.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-02T14:46:48.000Z (4 months ago)
- Last Synced: 2024-12-31T23:09:41.743Z (8 days ago)
- Topics: ad-manager, admob, ads, consent, consent-form, consent-library, consent-sdk, eea, gdpr-consent, google, iab, personalized-ads, publisher, react-native, tcf, tcfv2, ump, ump-sdk, user-choice, user-consent
- Language: Java
- Homepage:
- Size: 239 KB
- Stars: 36
- Watchers: 2
- Forks: 10
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> **Recommendation:** The code of this repository was merged into [react-native-google-mobile-ads](https://github.com/invertase/react-native-google-mobile-ads), a better maintained and more feature-rich library. Consider using it instead of this library.
# react-native-ad-consent
Google's User Messaging Platform (UMP SDK) for React Native.
## Getting started
```sh
$ yarn add react-native-ad-consent
```or
```sh
$ npm install react-native-ad-consent
```## Usage
```javascript
import { UMP } from 'react-native-ad-consent'const {
consentStatus,
isConsentFormAvailable,
isRequestLocationInEeaOrUnknown,
} = await UMP.requestConsentInfoUpdate()if (
isRequestLocationInEeaOrUnknown &&
isConsentFormAvailable &&
consentStatus === UMP.CONSENT_STATUS.REQUIRED
) {
const { canRequestAds, consentStatus } = await UMP.showConsentForm()
}
```### Testing
```javascript
const {
canRequestAds,
consentStatus,
isConsentFormAvailable,
isRequestLocationInEeaOrUnknown,
privacyOptionsRequirementStatus,
} = await UMP.requestConsentInfoUpdate({
debugGeography: UMP.DEBUG_GEOGRAPHY.EEA,
testDeviceIds: ['TEST-DEVICE-HASHED-ID'],
})
```>The UMP SDK provides a simple way to test your app's behavior as though the device was located in the EEA or UK using the debugGeography property of type UMPDebugGeography on UMPDebugSettings.
>You will need to provide your test device's hashed ID in your app's debug settings to use the debug functionality. If you call requestConsentUpdateWithParameters without setting this value, your app will log the required ID hash when run.
>The UMP SDK provides a simple way to test your app's behavior as though the device was located in the EEA or UK using the debugGeography property of type UMPDebugGeography on UMPDebugSettings. _[source](https://developers.google.com/admob/ump/ios/quick-start#testing)_## API
#### `requestConsentInfoUpdate(config?: ConsentInfoConfig): Promise`
```
type ConsentInfoConfig = {
debugGeography: number,
tagForUnderAgeOfConsent: boolean,
testDeviceIds: string[],
}type ConsentInfoUpdate = {
consentStatus: number,
isConsentFormAvailable: boolean,
isRequestLocationInEeaOrUnknown: boolean,
}
```Returns the consent information.
#### `showConsentForm(): Promise`
```
type ConsentFormResponse = {
consentStatus: number,
}
```Shows the consent form and returns the updated consentStatus on close.
#### `reset(): void`
Resets the consent state.