react-native-google-mobile-ads 12.8.0 → 12.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/app-json.gradle +45 -8
- package/android/build.gradle +1 -1
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsConsentModule.java +12 -0
- package/docs/european-user-consent.mdx +35 -2
- package/docs/index.mdx +90 -5
- package/ios/RNGoogleMobileAds/RNGoogleMobileAdsConsentModule.m +16 -0
- package/ios_config.sh +34 -6
- package/lib/commonjs/AdsConsent.js +3 -0
- package/lib/commonjs/AdsConsent.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/AdsConsent.js +3 -0
- package/lib/module/AdsConsent.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/AdsConsent.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/AdsConsent.interface.d.ts +19 -0
- package/lib/typescript/types/AdsConsent.interface.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/lib/typescript/version.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/AdsConsent.ts +4 -0
- package/src/types/AdsConsent.interface.ts +20 -0
- package/src/version.ts +1 -1
package/android/app-json.gradle
CHANGED
|
@@ -1,30 +1,67 @@
|
|
|
1
1
|
import groovy.json.JsonOutput
|
|
2
2
|
import groovy.json.JsonSlurper
|
|
3
3
|
|
|
4
|
-
String
|
|
4
|
+
String[] fileNames = ["app.json", "app.config.js"]
|
|
5
|
+
String fileName = null
|
|
5
6
|
String jsonRoot = "react-native-google-mobile-ads"
|
|
6
7
|
String jsonRaw = "GOOGLE_MOBILE_ADS_JSON_RAW"
|
|
7
8
|
|
|
8
|
-
File
|
|
9
|
+
File configFile = null
|
|
9
10
|
File parentDir = rootProject.projectDir
|
|
10
11
|
|
|
11
12
|
for (int i = 0; i <= 3; i++) {
|
|
12
13
|
if (parentDir == null) break
|
|
13
14
|
parentDir = parentDir.parentFile
|
|
14
15
|
if (parentDir != null) {
|
|
15
|
-
|
|
16
|
-
if (
|
|
16
|
+
configFile = new File(parentDir, fileNames[0])
|
|
17
|
+
if (configFile.exists()) {
|
|
18
|
+
fileName = fileNames[0]
|
|
19
|
+
break
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
configFile = new File(parentDir, fileNames[1])
|
|
23
|
+
if (configFile.exists()) {
|
|
24
|
+
fileName = fileNames[0]
|
|
25
|
+
break
|
|
26
|
+
}
|
|
27
|
+
}
|
|
17
28
|
}
|
|
18
29
|
}
|
|
19
30
|
|
|
20
|
-
if (
|
|
21
|
-
rootProject.logger.info ":${project.name} ${fileName} found at ${
|
|
31
|
+
if (configFile != null && configFile.exists()) {
|
|
32
|
+
rootProject.logger.info ":${project.name} ${fileName} found at ${configFile.toString()}"
|
|
22
33
|
Object json = null
|
|
23
34
|
|
|
24
35
|
try {
|
|
25
|
-
|
|
36
|
+
// On windows, we need to escape path separators in the path before exec'ing shell
|
|
37
|
+
def configFileAbsolutePath = configFile.absolutePath
|
|
38
|
+
if (System.properties['os.name'].toLowerCase().contains('windows')) {
|
|
39
|
+
configFileAbsolutePath = configFileAbsolutePath.replace("\\", "\\\\")
|
|
40
|
+
}
|
|
41
|
+
// rootProject.logger.warn "have a path of ${configFileAbsolutePath}"
|
|
42
|
+
|
|
43
|
+
// The config may be either in Expo javascript (app.config.js) or JSON (app.json)
|
|
44
|
+
// If it is configured in Expo javascript, requiring it will generate a config
|
|
45
|
+
// If it is configured in JSON, requiring it will also generate the config
|
|
46
|
+
// So, use node to pull in the config file to get us a JSON string for either case
|
|
47
|
+
def configOutput = new StringBuffer();
|
|
48
|
+
def configReadProc = [
|
|
49
|
+
"node",
|
|
50
|
+
"-e",
|
|
51
|
+
"console.log(JSON.stringify(require('${configFileAbsolutePath}')));"
|
|
52
|
+
]
|
|
53
|
+
.execute(null, projectDir)
|
|
54
|
+
configReadProc.waitForProcessOutput(configOutput, System.err)
|
|
55
|
+
configOutput = configOutput.toString().trim()
|
|
56
|
+
// rootProject.logger.warn "got configOutput of ${configOutput.toString()}"
|
|
57
|
+
|
|
58
|
+
if (configOutput && !configOutput.isEmpty()) {
|
|
59
|
+
json = new JsonSlurper().parseText(configOutput)
|
|
60
|
+
} else {
|
|
61
|
+
throw new Exception(":${project.name} received empty output while parsing ${configFile} found at ${configFile.toString()}.")
|
|
62
|
+
}
|
|
26
63
|
} catch (Exception ignored) {
|
|
27
|
-
rootProject.logger.warn ":${project.name} failed to parse ${
|
|
64
|
+
rootProject.logger.warn ":${project.name} failed to parse ${configFile} found at ${configFile.toString()}."
|
|
28
65
|
rootProject.logger.warn ignored.toString()
|
|
29
66
|
}
|
|
30
67
|
|
package/android/build.gradle
CHANGED
|
@@ -90,7 +90,7 @@ if (!appJSONGoogleMobileAdsAppIDString) {
|
|
|
90
90
|
println "\n\n\n"
|
|
91
91
|
println "**************************************************************************************************************"
|
|
92
92
|
println "\n\n\n"
|
|
93
|
-
println "ERROR: react-native-google-mobile-ads requires an 'android_app_id' property inside a 'react-native-google-mobile-ads' key in your app.json."
|
|
93
|
+
println "ERROR: react-native-google-mobile-ads requires an 'android_app_id' property inside a 'react-native-google-mobile-ads' key in your app.json or app.config.js."
|
|
94
94
|
println " No android_app_id property was found in this location. The native Google Mobile Ads SDK will crash on startup without it."
|
|
95
95
|
println "\n\n\n"
|
|
96
96
|
println "**************************************************************************************************************"
|
|
@@ -266,4 +266,16 @@ public class ReactNativeGoogleMobileAdsConsentModule extends ReactNativeModule {
|
|
|
266
266
|
rejectPromiseWithCodeAndMessage(promise, "consent-string-error", e.toString());
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
+
|
|
270
|
+
@ReactMethod
|
|
271
|
+
public void getPurposeConsents(Promise promise) {
|
|
272
|
+
try {
|
|
273
|
+
SharedPreferences prefs =
|
|
274
|
+
PreferenceManager.getDefaultSharedPreferences(getReactApplicationContext());
|
|
275
|
+
String purposeConsents = prefs.getString("IABTCF_PurposeConsents", "");
|
|
276
|
+
promise.resolve(purposeConsents);
|
|
277
|
+
} catch (Exception e) {
|
|
278
|
+
rejectPromiseWithCodeAndMessage(promise, "consent-string-error", e.toString());
|
|
279
|
+
}
|
|
280
|
+
}
|
|
269
281
|
}
|
|
@@ -48,9 +48,37 @@ To setup and configure ads consent collection, first of all:
|
|
|
48
48
|
|
|
49
49
|
You'll need to generate a new development build before using it.
|
|
50
50
|
|
|
51
|
+
### Delaying app measurement
|
|
52
|
+
|
|
53
|
+
By default, the Google Mobile Ads SDK initializes app measurement and begins sending user-level event data to Google immediately when the app starts.
|
|
54
|
+
If your app will be used by users within the EEA, it is important you prevent app measurement until your first ad has been requested (after consent).
|
|
55
|
+
|
|
56
|
+
Within your projects `app.json` file, set the `delay_app_measurement_init` to `true` to delay app measurement:
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"react-native-google-mobile-ads": {
|
|
61
|
+
"android_app_id": "ca-app-pub-xxxxxxxx~xxxxxxxx",
|
|
62
|
+
"ios_app_id": "ca-app-pub-xxxxxxxx~xxxxxxxx",
|
|
63
|
+
"delay_app_measurement_init": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Once set, rebuild your application:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# For iOS
|
|
72
|
+
npx react-native run-ios
|
|
73
|
+
|
|
74
|
+
# For Android
|
|
75
|
+
npx react-native run-android
|
|
76
|
+
```
|
|
77
|
+
|
|
51
78
|
### App Tracking Transparency
|
|
52
79
|
|
|
53
|
-
If you
|
|
80
|
+
If you configure an [ATT message](https://support.google.com/admob/answer/10115331) in your Google AdMob account, the UMP SDK will automatically handle the ATT alert.
|
|
81
|
+
This will also show an IDFA explainer message. If you don't want to show an explainer message you can show the ATT alert [manually](https://docs.page/invertase/react-native-google-mobile-ads#app-tracking-transparency-ios).
|
|
54
82
|
Also, within your projects `app.json` file, you have to use the `user_tracking_usage_description` to to describe your usage:
|
|
55
83
|
|
|
56
84
|
```json
|
|
@@ -137,7 +165,12 @@ async function startGoogleMobileAdsSDK() {
|
|
|
137
165
|
|
|
138
166
|
isMobileAdsStartCalled = true;
|
|
139
167
|
|
|
140
|
-
// (iOS) Handle Apple's App Tracking Transparency.
|
|
168
|
+
// (Optional, iOS) Handle Apple's App Tracking Transparency manually.
|
|
169
|
+
const gdprApplies = await AdsConsent.getGdprApplies();
|
|
170
|
+
const hasConsentForPurposeOne = gdprApplies ? (await AdsConsent.getPurposeConsents()).startsWith("1") : false;
|
|
171
|
+
if (!gdprApplies || hasConsentForPurposeOne) {
|
|
172
|
+
// Request ATT...
|
|
173
|
+
}
|
|
141
174
|
|
|
142
175
|
// Initialize the Google Mobile Ads SDK.
|
|
143
176
|
await mobileAds().initialize()
|
package/docs/index.mdx
CHANGED
|
@@ -12,7 +12,9 @@ yarn add react-native-google-mobile-ads
|
|
|
12
12
|
On iOS if you need to use static frameworks (that is, `use_frameworks! :linkage => :static` in your `Podfile`) you must add the variable `$RNGoogleMobileAdsAsStaticFramework = true` to the targets in your `Podfile`. You may need this if you use this module in combination with react-native-firebase v15 and higher since it requires `use_frameworks!`.
|
|
13
13
|
|
|
14
14
|
Expo users may enable static frameworks by using the `expo-build-properties` plugin.
|
|
15
|
-
To do so [follow the official `expo-build-properties` installation instructions](https://docs.expo.dev/versions/latest/sdk/build-properties/) and merge the following code into your `app.json` file:
|
|
15
|
+
To do so [follow the official `expo-build-properties` installation instructions](https://docs.expo.dev/versions/latest/sdk/build-properties/) and merge the following code into your `app.json` or `app.config.js` file:
|
|
16
|
+
|
|
17
|
+
#### app.json
|
|
16
18
|
|
|
17
19
|
```json
|
|
18
20
|
{
|
|
@@ -31,6 +33,25 @@ To do so [follow the official `expo-build-properties` installation instructions]
|
|
|
31
33
|
}
|
|
32
34
|
```
|
|
33
35
|
|
|
36
|
+
#### app.config.js
|
|
37
|
+
|
|
38
|
+
```js
|
|
39
|
+
{
|
|
40
|
+
expo: {
|
|
41
|
+
plugins: [
|
|
42
|
+
[
|
|
43
|
+
'expo-build-properties',
|
|
44
|
+
{
|
|
45
|
+
ios: {
|
|
46
|
+
useFrameworks: 'static',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
34
55
|
## What does it do
|
|
35
56
|
|
|
36
57
|
The AdMob module allows you to display adverts to your users. All adverts are served over the Google AdMob network, meaning
|
|
@@ -63,15 +84,17 @@ Before you are able to display ads to your users, you must have a [Google AdMob
|
|
|
63
84
|
"Apps" menu item, create or choose an existing Android/iOS app. Each app platform exposes a unique account ID which needs to
|
|
64
85
|
be added to the project.
|
|
65
86
|
|
|
66
|
-
> Attempting to build your app without a valid App ID in `app.json` will cause the app to crash on start or fail to build.
|
|
87
|
+
> Attempting to build your app without a valid App ID in `app.json` or `app.config.js` will cause the app to crash on start or fail to build.
|
|
67
88
|
|
|
68
89
|
Under the "App settings" menu item, you can find the "App ID":
|
|
69
90
|
|
|
70
91
|

|
|
71
92
|
|
|
72
|
-
Within the root of your React Native project, open the `app.json` file and add the
|
|
93
|
+
Within the root of your React Native project, open the `app.json` or (if using Expo) `app.config.js` file and add the
|
|
73
94
|
`android_app_id` & `ios_app_id` keys with the IDs from the Google AdMob console:
|
|
74
95
|
|
|
96
|
+
#### app.json
|
|
97
|
+
|
|
75
98
|
```json
|
|
76
99
|
// <project-root>/app.json
|
|
77
100
|
{
|
|
@@ -82,9 +105,23 @@ Within the root of your React Native project, open the `app.json` file and add t
|
|
|
82
105
|
}
|
|
83
106
|
```
|
|
84
107
|
|
|
108
|
+
#### app.config.js
|
|
109
|
+
|
|
110
|
+
```js
|
|
111
|
+
// <project-root>/app.config.js
|
|
112
|
+
module.exports = {
|
|
113
|
+
'react-native-google-mobile-ads': {
|
|
114
|
+
android_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
115
|
+
ios_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
```
|
|
119
|
+
|
|
85
120
|
If you're an expo user, make sure the `react-native-google-mobile-ads` block is outside of the `expo` block!
|
|
86
121
|
It should look like this:
|
|
87
122
|
|
|
123
|
+
#### app.json
|
|
124
|
+
|
|
88
125
|
```json
|
|
89
126
|
// <project-root>/app.json
|
|
90
127
|
{
|
|
@@ -98,6 +135,21 @@ It should look like this:
|
|
|
98
135
|
}
|
|
99
136
|
```
|
|
100
137
|
|
|
138
|
+
#### app.config.js
|
|
139
|
+
|
|
140
|
+
```js
|
|
141
|
+
// <project-root>/app.config.js
|
|
142
|
+
module.exports = {
|
|
143
|
+
expo: {
|
|
144
|
+
// ...
|
|
145
|
+
},
|
|
146
|
+
'react-native-google-mobile-ads': {
|
|
147
|
+
android_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
148
|
+
ios_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
```
|
|
152
|
+
|
|
101
153
|
For the changes to take effect, rebuild your project:
|
|
102
154
|
|
|
103
155
|
```bash
|
|
@@ -188,7 +240,9 @@ If you are using mediation, you may wish to wait until the promise is settled be
|
|
|
188
240
|
### Enable SKAdNetwork to track conversions (iOS)
|
|
189
241
|
|
|
190
242
|
The Google Mobile Ads SDK supports conversion tracking using Apple's SKAdNetwork, which lets Google and participating third-party buyers attribute an app install even when the IDFA is not available.
|
|
191
|
-
Within your projects `app.json` file, add the advised [SKAdNetwork identifiers](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/3p-skadnetworks):
|
|
243
|
+
Within your projects `app.json`/`app.config.js` file, add the advised [SKAdNetwork identifiers](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/3p-skadnetworks):
|
|
244
|
+
|
|
245
|
+
#### app.json
|
|
192
246
|
|
|
193
247
|
```json
|
|
194
248
|
{
|
|
@@ -250,10 +304,28 @@ Within your projects `app.json` file, add the advised [SKAdNetwork identifiers](
|
|
|
250
304
|
}
|
|
251
305
|
```
|
|
252
306
|
|
|
307
|
+
#### app.config.js
|
|
308
|
+
|
|
309
|
+
```js
|
|
310
|
+
module.exports = {
|
|
311
|
+
'react-native-google-mobile-ads': {
|
|
312
|
+
android_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
313
|
+
ios_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
314
|
+
sk_ad_network_items: [
|
|
315
|
+
// list of network ids removed to avoid duplication
|
|
316
|
+
// please refer to the list in the `app.jaon` configuration section for the list of
|
|
317
|
+
// network ids you should include here and paste them into your `app.config.js` file
|
|
318
|
+
],
|
|
319
|
+
},
|
|
320
|
+
};
|
|
321
|
+
```
|
|
322
|
+
|
|
253
323
|
### App Tracking Transparency (iOS)
|
|
254
324
|
|
|
255
325
|
Apple requires apps to display the App Tracking Transparency authorization request for accessing the IDFA (leaving the choice to the user, whether to use personalized or non-personalized ads).
|
|
256
|
-
Within your projects `app.json` file, you have to use the `user_tracking_usage_description` to describe your usage:
|
|
326
|
+
Within your projects `app.json` or `app.config.js` file, you have to use the `user_tracking_usage_description` to describe your usage:
|
|
327
|
+
|
|
328
|
+
#### app.json
|
|
257
329
|
|
|
258
330
|
```json
|
|
259
331
|
{
|
|
@@ -265,6 +337,19 @@ Within your projects `app.json` file, you have to use the `user_tracking_usage_d
|
|
|
265
337
|
}
|
|
266
338
|
```
|
|
267
339
|
|
|
340
|
+
#### app.config.js
|
|
341
|
+
|
|
342
|
+
```js
|
|
343
|
+
module.exports = {
|
|
344
|
+
'react-native-google-mobile-ads': {
|
|
345
|
+
android_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
346
|
+
ios_app_id: 'ca-app-pub-xxxxxxxx~xxxxxxxx',
|
|
347
|
+
user_tracking_usage_description:
|
|
348
|
+
'This identifier will be used to deliver personalized ads to you.',
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
```
|
|
352
|
+
|
|
268
353
|
To request the App Tracking Transparency authorization we recommend using the [react-native-permissions](https://github.com/zoontek/react-native-permissions) library or making it part of the UMP consent flow [European User Consent page](/european-user-consent).
|
|
269
354
|
|
|
270
355
|
```js
|
|
@@ -232,4 +232,20 @@ RCT_EXPORT_METHOD(getGdprApplies
|
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
+
RCT_EXPORT_METHOD(getPurposeConsents
|
|
236
|
+
: (RCTPromiseResolveBlock)resolve
|
|
237
|
+
: (RCTPromiseRejectBlock)reject) {
|
|
238
|
+
@try {
|
|
239
|
+
NSString *purposeConsents =
|
|
240
|
+
[[NSUserDefaults standardUserDefaults] stringForKey:@"IABTCF_PurposeConsents"];
|
|
241
|
+
resolve(purposeConsents);
|
|
242
|
+
} @catch (NSError *error) {
|
|
243
|
+
[RNSharedUtils rejectPromiseWithUserInfo:reject
|
|
244
|
+
userInfo:[@{
|
|
245
|
+
@"code" : @"consent-string-error",
|
|
246
|
+
@"message" : error.localizedDescription,
|
|
247
|
+
} mutableCopy]];
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
235
251
|
@end
|
package/ios_config.sh
CHANGED
|
@@ -16,6 +16,13 @@
|
|
|
16
16
|
#
|
|
17
17
|
set -e
|
|
18
18
|
|
|
19
|
+
if [[ -f "$PODS_ROOT/../.xcode.env" ]]; then
|
|
20
|
+
source "$PODS_ROOT/../.xcode.env"
|
|
21
|
+
fi
|
|
22
|
+
if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
|
|
23
|
+
source "$PODS_ROOT/../.xcode.env.local"
|
|
24
|
+
fi
|
|
25
|
+
|
|
19
26
|
_MAX_LOOKUPS=2;
|
|
20
27
|
_SEARCH_RESULT=''
|
|
21
28
|
_RN_ROOT_EXISTS=''
|
|
@@ -23,11 +30,13 @@ _CURRENT_LOOKUPS=1
|
|
|
23
30
|
_PROJECT_ABBREVIATION="RNGoogleMobileAds"
|
|
24
31
|
_JSON_ROOT="'react-native-google-mobile-ads'"
|
|
25
32
|
_JSON_FILE_NAME='app.json'
|
|
33
|
+
_JS_APP_CONFIG_FILE_NAME='app.config.js'
|
|
26
34
|
_JSON_OUTPUT_BASE64='e30=' # { }
|
|
27
35
|
_CURRENT_SEARCH_DIR=${PROJECT_DIR}
|
|
28
36
|
_PLIST_BUDDY=/usr/libexec/PlistBuddy
|
|
29
37
|
_TARGET_PLIST="${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}"
|
|
30
38
|
_DSYM_PLIST="${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist"
|
|
39
|
+
_IS_CONFIG_JS=false
|
|
31
40
|
|
|
32
41
|
# plist arrays
|
|
33
42
|
_PLIST_ENTRY_KEYS=()
|
|
@@ -65,18 +74,36 @@ fi;
|
|
|
65
74
|
|
|
66
75
|
while true; do
|
|
67
76
|
_CURRENT_SEARCH_DIR=$(dirname "$_CURRENT_SEARCH_DIR")
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
77
|
+
|
|
78
|
+
if [[ "$_CURRENT_SEARCH_DIR" == "/" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then
|
|
79
|
+
break;
|
|
80
|
+
fi;
|
|
81
|
+
|
|
82
|
+
echo "info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME}/${_JS_APP_CONFIG_FILE_NAME} file."
|
|
83
|
+
|
|
84
|
+
_SEARCH_RESULT=$(find "$_CURRENT_SEARCH_DIR" -maxdepth 2 \( -name ${_JSON_FILE_NAME} -o -name ${_JS_APP_CONFIG_FILE_NAME} \) -print | /usr/bin/head -n 1)
|
|
85
|
+
|
|
86
|
+
if [[ "$(basename ${_SEARCH_RESULT})" = "${_JS_APP_CONFIG_FILE_NAME}" ]]; then
|
|
87
|
+
_IS_CONFIG_JS=true
|
|
88
|
+
echo "info: ${_JS_APP_CONFIG_FILE_NAME} found at $_SEARCH_RESULT"
|
|
73
89
|
break;
|
|
74
90
|
fi;
|
|
91
|
+
|
|
92
|
+
if [[ "$(basename ${_SEARCH_RESULT})" = "${_JSON_FILE_NAME}" ]]; then
|
|
93
|
+
echo "info: ${_JSON_FILE_NAME} found at ${_SEARCH_RESULT}"
|
|
94
|
+
break;
|
|
95
|
+
fi;
|
|
96
|
+
|
|
75
97
|
_CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))
|
|
76
98
|
done
|
|
77
99
|
|
|
78
100
|
if [[ ${_SEARCH_RESULT} ]]; then
|
|
79
|
-
|
|
101
|
+
if [[ ${_IS_CONFIG_JS} == "true" ]]; then
|
|
102
|
+
_JSON_OUTPUT_RAW=$("${NODE_BINARY}" -e "console.log(JSON.stringify(require('${_SEARCH_RESULT}')));")
|
|
103
|
+
else
|
|
104
|
+
_JSON_OUTPUT_RAW=$(cat "${_SEARCH_RESULT}")
|
|
105
|
+
fi;
|
|
106
|
+
|
|
80
107
|
_RN_ROOT_EXISTS=$(ruby -KU -e "require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]" || echo '')
|
|
81
108
|
|
|
82
109
|
if [[ ${_RN_ROOT_EXISTS} ]]; then
|
|
@@ -176,3 +203,4 @@ for plist in "${_TARGET_PLIST}" "${_DSYM_PLIST}" ; do
|
|
|
176
203
|
done
|
|
177
204
|
|
|
178
205
|
echo "info: <- ${_PROJECT_ABBREVIATION} build script finished"
|
|
206
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_reactNative","_AdsConsentDebugGeography","_AdsConsentPurposes","_AdsConsentSpecialFeatures","_common","native","NativeModules","RNGoogleMobileAdsConsentModule","AdsConsent","requestInfoUpdate","options","arguments","length","undefined","isObject","Error","isPropertySet","debugGeography","AdsConsentDebugGeography","DISABLED","EEA","NOT_EEA","isBoolean","tagForUnderAgeOfConsent","isArray","testDeviceIdentifiers","deviceId","isString","showForm","showPrivacyOptionsForm","loadAndShowConsentFormIfRequired","getConsentInfo","reset","getTCString","getTCModel","tcString","TCString","decode","getGdprApplies","getUserChoices","tcModel","e","TCModel","__DEV__","console","warn","activelyScanDeviceCharacteristicsForIdentification","specialFeatureOptins","has","AdsConsentSpecialFeatures","ACTIVELY_SCAN_DEVICE_CHARACTERISTICS_FOR_IDENTIFICATION","applyMarketResearchToGenerateAudienceInsights","purposeConsents","AdsConsentPurposes","APPLY_MARKET_RESEARCH_TO_GENERATE_AUDIENCE_INSIGHTS","createAPersonalisedAdsProfile","CREATE_A_PERSONALISED_ADS_PROFILE","createAPersonalisedContentProfile","developAndImproveProducts","DEVELOP_AND_IMPROVE_PRODUCTS","measureAdPerformance","MEASURE_AD_PERFORMANCE","measureContentPerformance","MEASURE_CONTENT_PERFORMANCE","selectBasicAds","SELECT_BASIC_ADS","selectPersonalisedAds","SELECT_PERSONALISED_ADS","selectPersonalisedContent","SELECT_PERSONALISED_CONTENT","storeAndAccessInformationOnDevice","STORE_AND_ACCESS_INFORMATION_ON_DEVICE","usePreciseGeolocationData","USE_PRECISE_GEOLOCATION_DATA","exports"],"sourceRoot":"../../src","sources":["AdsConsent.ts"],"mappings":";;;;;;AAiBA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,yBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,0BAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA,MAAMM,MAAM,GAAGC,0BAAa,CAACC,8BAA8B;AAEpD,MAAMC,UAA+B,GAAG;EAC7CC,iBAAiBA,CAAA,EAA+D;IAAA,IAA9DC,OAA8B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACnD,IAAI,CAAC,IAAAG,gBAAQ,EAACJ,OAAO,CAAC,EAAE;MACtB,MAAM,IAAIK,KAAK,CAAC,qEAAqE,CAAC;IACxF;IAEA,IACE,IAAAC,qBAAa,EAACN,OAAO,EAAE,gBAAgB,CAAC,IACxCA,OAAO,CAACO,cAAc,KAAKC,kDAAwB,CAACC,QAAQ,IAC5DT,OAAO,CAACO,cAAc,KAAKC,kDAAwB,CAACE,GAAG,IACvDV,OAAO,CAACO,cAAc,KAAKC,kDAAwB,CAACG,OAAO,EAC3D;MACA,MAAM,IAAIN,KAAK,CACb,+KACF,CAAC;IACH;IAEA,IACE,IAAAC,qBAAa,EAACN,OAAO,EAAE,yBAAyB,CAAC,IACjD,CAAC,IAAAY,iBAAS,EAACZ,OAAO,CAACa,uBAAuB,CAAC,EAC3C;MACA,MAAM,IAAIR,KAAK,CACb,6FACF,CAAC;IACH;IAEA,IAAI,IAAAC,qBAAa,EAACN,OAAO,EAAE,uBAAuB,CAAC,EAAE;MACnD,IAAI,CAAC,IAAAc,eAAO,EAACd,OAAO,CAACe,qBAAqB,CAAC,EAAE;QAC3C,MAAM,IAAIV,KAAK,CACb,qGACF,CAAC;MACH;MAEA,KAAK,MAAMW,QAAQ,IAAIhB,OAAO,CAACe,qBAAqB,IAAI,EAAE,EAAE;QAC1D,IAAI,CAAC,IAAAE,gBAAQ,EAACD,QAAQ,CAAC,EAAE;UACvB,MAAM,IAAIX,KAAK,CACb,qGACF,CAAC;QACH;MACF;IACF;IAEA,OAAOV,MAAM,CAACI,iBAAiB,CAACC,OAAO,CAAC;EAC1C,CAAC;EAEDkB,QAAQA,CAAA,EAA4B;IAClC,OAAOvB,MAAM,CAACuB,QAAQ,CAAC,CAAC;EAC1B,CAAC;EAEDC,sBAAsBA,CAAA,EAA4B;IAChD,OAAOxB,MAAM,CAACwB,sBAAsB,CAAC,CAAC;EACxC,CAAC;EAEDC,gCAAgCA,CAAA,EAA4B;IAC1D,OAAOzB,MAAM,CAACyB,gCAAgC,CAAC,CAAC;EAClD,CAAC;EAEDC,cAAcA,CAAA,EAA4B;IACxC,OAAO1B,MAAM,CAAC0B,cAAc,CAAC,CAAC;EAChC,CAAC;EAEDC,KAAKA,CAAA,EAAS;IACZ,OAAO3B,MAAM,CAAC2B,KAAK,CAAC,CAAC;EACvB,CAAC;EAEDC,WAAWA,CAAA,EAAoB;IAC7B,OAAO5B,MAAM,CAAC4B,WAAW,CAAC,CAAC;EAC7B,CAAC;EAED,MAAMC,UAAUA,CAAA,EAAqB;IACnC,MAAMC,QAAQ,GAAG,MAAM9B,MAAM,CAAC4B,WAAW,CAAC,CAAC;IAC3C,OAAOG,cAAQ,CAACC,MAAM,CAACF,QAAQ,CAAC;EAClC,CAAC;EAEDG,cAAcA,CAAA,EAAqB;IACjC,OAAOjC,MAAM,CAACiC,cAAc,CAAC,CAAC;EAChC,CAAC;EAED,MAAMC,cAAcA,CAAA,EAAmC;IACrD,
|
|
1
|
+
{"version":3,"names":["_core","require","_reactNative","_AdsConsentDebugGeography","_AdsConsentPurposes","_AdsConsentSpecialFeatures","_common","native","NativeModules","RNGoogleMobileAdsConsentModule","AdsConsent","requestInfoUpdate","options","arguments","length","undefined","isObject","Error","isPropertySet","debugGeography","AdsConsentDebugGeography","DISABLED","EEA","NOT_EEA","isBoolean","tagForUnderAgeOfConsent","isArray","testDeviceIdentifiers","deviceId","isString","showForm","showPrivacyOptionsForm","loadAndShowConsentFormIfRequired","getConsentInfo","reset","getTCString","getTCModel","tcString","TCString","decode","getGdprApplies","getPurposeConsents","getUserChoices","tcModel","e","TCModel","__DEV__","console","warn","activelyScanDeviceCharacteristicsForIdentification","specialFeatureOptins","has","AdsConsentSpecialFeatures","ACTIVELY_SCAN_DEVICE_CHARACTERISTICS_FOR_IDENTIFICATION","applyMarketResearchToGenerateAudienceInsights","purposeConsents","AdsConsentPurposes","APPLY_MARKET_RESEARCH_TO_GENERATE_AUDIENCE_INSIGHTS","createAPersonalisedAdsProfile","CREATE_A_PERSONALISED_ADS_PROFILE","createAPersonalisedContentProfile","developAndImproveProducts","DEVELOP_AND_IMPROVE_PRODUCTS","measureAdPerformance","MEASURE_AD_PERFORMANCE","measureContentPerformance","MEASURE_CONTENT_PERFORMANCE","selectBasicAds","SELECT_BASIC_ADS","selectPersonalisedAds","SELECT_PERSONALISED_ADS","selectPersonalisedContent","SELECT_PERSONALISED_CONTENT","storeAndAccessInformationOnDevice","STORE_AND_ACCESS_INFORMATION_ON_DEVICE","usePreciseGeolocationData","USE_PRECISE_GEOLOCATION_DATA","exports"],"sourceRoot":"../../src","sources":["AdsConsent.ts"],"mappings":"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"}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAG,SAAS;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA"}
|
package/lib/module/AdsConsent.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TCModel","TCString","NativeModules","AdsConsentDebugGeography","AdsConsentPurposes","AdsConsentSpecialFeatures","isPropertySet","isArray","isBoolean","isObject","isString","native","RNGoogleMobileAdsConsentModule","AdsConsent","requestInfoUpdate","options","arguments","length","undefined","Error","debugGeography","DISABLED","EEA","NOT_EEA","tagForUnderAgeOfConsent","testDeviceIdentifiers","deviceId","showForm","showPrivacyOptionsForm","loadAndShowConsentFormIfRequired","getConsentInfo","reset","getTCString","getTCModel","tcString","decode","getGdprApplies","getUserChoices","tcModel","e","__DEV__","console","warn","activelyScanDeviceCharacteristicsForIdentification","specialFeatureOptins","has","ACTIVELY_SCAN_DEVICE_CHARACTERISTICS_FOR_IDENTIFICATION","applyMarketResearchToGenerateAudienceInsights","purposeConsents","APPLY_MARKET_RESEARCH_TO_GENERATE_AUDIENCE_INSIGHTS","createAPersonalisedAdsProfile","CREATE_A_PERSONALISED_ADS_PROFILE","createAPersonalisedContentProfile","developAndImproveProducts","DEVELOP_AND_IMPROVE_PRODUCTS","measureAdPerformance","MEASURE_AD_PERFORMANCE","measureContentPerformance","MEASURE_CONTENT_PERFORMANCE","selectBasicAds","SELECT_BASIC_ADS","selectPersonalisedAds","SELECT_PERSONALISED_ADS","selectPersonalisedContent","SELECT_PERSONALISED_CONTENT","storeAndAccessInformationOnDevice","STORE_AND_ACCESS_INFORMATION_ON_DEVICE","usePreciseGeolocationData","USE_PRECISE_GEOLOCATION_DATA"],"sourceRoot":"../../src","sources":["AdsConsent.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["TCModel","TCString","NativeModules","AdsConsentDebugGeography","AdsConsentPurposes","AdsConsentSpecialFeatures","isPropertySet","isArray","isBoolean","isObject","isString","native","RNGoogleMobileAdsConsentModule","AdsConsent","requestInfoUpdate","options","arguments","length","undefined","Error","debugGeography","DISABLED","EEA","NOT_EEA","tagForUnderAgeOfConsent","testDeviceIdentifiers","deviceId","showForm","showPrivacyOptionsForm","loadAndShowConsentFormIfRequired","getConsentInfo","reset","getTCString","getTCModel","tcString","decode","getGdprApplies","getPurposeConsents","getUserChoices","tcModel","e","__DEV__","console","warn","activelyScanDeviceCharacteristicsForIdentification","specialFeatureOptins","has","ACTIVELY_SCAN_DEVICE_CHARACTERISTICS_FOR_IDENTIFICATION","applyMarketResearchToGenerateAudienceInsights","purposeConsents","APPLY_MARKET_RESEARCH_TO_GENERATE_AUDIENCE_INSIGHTS","createAPersonalisedAdsProfile","CREATE_A_PERSONALISED_ADS_PROFILE","createAPersonalisedContentProfile","developAndImproveProducts","DEVELOP_AND_IMPROVE_PRODUCTS","measureAdPerformance","MEASURE_AD_PERFORMANCE","measureContentPerformance","MEASURE_CONTENT_PERFORMANCE","selectBasicAds","SELECT_BASIC_ADS","selectPersonalisedAds","SELECT_PERSONALISED_ADS","selectPersonalisedContent","SELECT_PERSONALISED_CONTENT","storeAndAccessInformationOnDevice","STORE_AND_ACCESS_INFORMATION_ON_DEVICE","usePreciseGeolocationData","USE_PRECISE_GEOLOCATION_DATA"],"sourceRoot":"../../src","sources":["AdsConsent.ts"],"mappings":"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"}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"names":["version"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdsConsent.d.ts","sourceRoot":"","sources":["../../src/AdsConsent.ts"],"names":[],"mappings":"AAuBA,OAAO,EAGL,mBAAmB,EAEpB,MAAM,8BAA8B,CAAC;AAItC,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"AdsConsent.d.ts","sourceRoot":"","sources":["../../src/AdsConsent.ts"],"names":[],"mappings":"AAuBA,OAAO,EAGL,mBAAmB,EAEpB,MAAM,8BAA8B,CAAC;AAItC,eAAO,MAAM,UAAU,EAAE,mBAqIxB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "12.
|
|
1
|
+
export declare const SDK_VERSION = "12.10.0";
|
|
2
2
|
export { default, MobileAds } from './MobileAds';
|
|
3
3
|
export { AdsConsentDebugGeography } from './AdsConsentDebugGeography';
|
|
4
4
|
export { AdsConsentPurposes } from './AdsConsentPurposes';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,WAAW,YAAU,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,yCAAyC,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,cAAc,SAAS,CAAC"}
|
|
@@ -126,6 +126,25 @@ export interface AdsConsentInterface {
|
|
|
126
126
|
* ```
|
|
127
127
|
*/
|
|
128
128
|
getGdprApplies(): Promise<boolean>;
|
|
129
|
+
/**
|
|
130
|
+
* Returns the value stored under the `IABTCF_PurposeConsents` key
|
|
131
|
+
* in NSUserDefaults (iOS) / SharedPreferences (Android) as
|
|
132
|
+
* defined by the IAB Europe Transparency & Consent Framework.
|
|
133
|
+
*
|
|
134
|
+
* More information available here:
|
|
135
|
+
* https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#in-app-details
|
|
136
|
+
*
|
|
137
|
+
* #### Example
|
|
138
|
+
*
|
|
139
|
+
* ```js
|
|
140
|
+
* import { AdsConsent } from '@invertase/react-native-google-ads';
|
|
141
|
+
*
|
|
142
|
+
* await AdsConsent.requestInfoUpdate();
|
|
143
|
+
* const purposeConsents = await AdsConsent.getPurposeConsents();
|
|
144
|
+
* const hasConsentForPurposeOne = purposeConsents.startsWith("1");
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
getPurposeConsents(): Promise<string>;
|
|
129
148
|
/**
|
|
130
149
|
* Provides information about a user's consent choices.
|
|
131
150
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdsConsent.interface.d.ts","sourceRoot":"","sources":["../../../src/types/AdsConsent.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,yCAAyC,EAAE,MAAM,8CAA8C,CAAC;AAEzG;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpC;;OAEG;IACH,sBAAsB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAElD;;;;OAIG;IACH,gCAAgC,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5D;;;;;;;;;;OAUG;IACH,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;;OAeG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEjD;;;;;;;;;;OAUG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAE1C;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,MAAM,EAAE,gBAAgB,CAAC;IAEzB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,kDAAkD,EAAE,OAAO,CAAC;IAC5D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,6CAA6C,EAAE,OAAO,CAAC;IACvD;;;;;;;;;;;OAWG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;OAWG;IACH,iCAAiC,EAAE,OAAO,CAAC;IAC3C;;;;;;;;;;;;OAYG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;;;;OAOG;IACH,iCAAiC,EAAE,OAAO,CAAC;IAC3C;;;;;;;;OAQG;IACH,yBAAyB,EAAE,OAAO,CAAC;CACpC"}
|
|
1
|
+
{"version":3,"file":"AdsConsent.interface.d.ts","sourceRoot":"","sources":["../../../src/types/AdsConsent.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,yCAAyC,EAAE,MAAM,8CAA8C,CAAC;AAEzG;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpC;;OAEG;IACH,sBAAsB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAElD;;;;OAIG;IACH,gCAAgC,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5D;;;;;;;;;;OAUG;IACH,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;;OAeG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC;;;;;;;;;;OAUG;IACH,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEjD;;;;;;;;;;OAUG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAE1C;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,MAAM,EAAE,gBAAgB,CAAC;IAEzB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,kDAAkD,EAAE,OAAO,CAAC;IAC5D;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,6CAA6C,EAAE,OAAO,CAAC;IACvD;;;;;;;;;;;OAWG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;OAWG;IACH,iCAAiC,EAAE,OAAO,CAAC;IAC3C;;;;;;;;;;;;OAYG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;;;;;OAOG;IACH,iCAAiC,EAAE,OAAO,CAAC;IAC3C;;;;;;;;OAQG;IACH,yBAAyB,EAAE,OAAO,CAAC;CACpC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "12.
|
|
1
|
+
export declare const version = "12.10.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-google-mobile-ads",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.10.0",
|
|
4
4
|
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
|
|
5
5
|
"description": "React Native Google Mobile Ads is an easy way to monetize mobile apps with targeted, in-app advertising.",
|
|
6
6
|
"main": "lib/commonjs/index.js",
|
package/src/AdsConsent.ts
CHANGED
|
@@ -108,6 +108,10 @@ export const AdsConsent: AdsConsentInterface = {
|
|
|
108
108
|
return native.getGdprApplies();
|
|
109
109
|
},
|
|
110
110
|
|
|
111
|
+
getPurposeConsents(): Promise<string> {
|
|
112
|
+
return native.getPurposeConsents();
|
|
113
|
+
},
|
|
114
|
+
|
|
111
115
|
async getUserChoices(): Promise<AdsConsentUserChoices> {
|
|
112
116
|
const tcString = await native.getTCString();
|
|
113
117
|
|
|
@@ -136,6 +136,26 @@ export interface AdsConsentInterface {
|
|
|
136
136
|
*/
|
|
137
137
|
getGdprApplies(): Promise<boolean>;
|
|
138
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Returns the value stored under the `IABTCF_PurposeConsents` key
|
|
141
|
+
* in NSUserDefaults (iOS) / SharedPreferences (Android) as
|
|
142
|
+
* defined by the IAB Europe Transparency & Consent Framework.
|
|
143
|
+
*
|
|
144
|
+
* More information available here:
|
|
145
|
+
* https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#in-app-details
|
|
146
|
+
*
|
|
147
|
+
* #### Example
|
|
148
|
+
*
|
|
149
|
+
* ```js
|
|
150
|
+
* import { AdsConsent } from '@invertase/react-native-google-ads';
|
|
151
|
+
*
|
|
152
|
+
* await AdsConsent.requestInfoUpdate();
|
|
153
|
+
* const purposeConsents = await AdsConsent.getPurposeConsents();
|
|
154
|
+
* const hasConsentForPurposeOne = purposeConsents.startsWith("1");
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
getPurposeConsents(): Promise<string>;
|
|
158
|
+
|
|
139
159
|
/**
|
|
140
160
|
* Provides information about a user's consent choices.
|
|
141
161
|
*
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '12.
|
|
2
|
+
export const version = '12.10.0';
|