react-native-google-mobile-ads 12.7.1 → 12.9.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.
@@ -1,30 +1,67 @@
1
1
  import groovy.json.JsonOutput
2
2
  import groovy.json.JsonSlurper
3
3
 
4
- String fileName = "app.json"
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 jsonFile = null
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
- jsonFile = new File(parentDir, fileName)
16
- if (jsonFile.exists()) break
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 (jsonFile != null && jsonFile.exists()) {
21
- rootProject.logger.info ":${project.name} ${fileName} found at ${jsonFile.toString()}"
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
- json = new JsonSlurper().parseText(jsonFile.text)
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 ${fileName} found at ${jsonFile.toString()}."
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
 
@@ -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 "**************************************************************************************************************"
@@ -254,4 +254,16 @@ public class ReactNativeGoogleMobileAdsConsentModule extends ReactNativeModule {
254
254
  rejectPromiseWithCodeAndMessage(promise, "consent-string-error", e.toString());
255
255
  }
256
256
  }
257
+
258
+ @ReactMethod
259
+ public void getGdprApplies(Promise promise) {
260
+ try {
261
+ SharedPreferences prefs =
262
+ PreferenceManager.getDefaultSharedPreferences(getReactApplicationContext());
263
+ int gdprApplies = prefs.getInt("IABTCF_gdprApplies", 0);
264
+ promise.resolve(gdprApplies == 1);
265
+ } catch (Exception e) {
266
+ rejectPromiseWithCodeAndMessage(promise, "consent-string-error", e.toString());
267
+ }
268
+ }
257
269
  }
@@ -48,6 +48,33 @@ 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
80
  If you want to handle Apple's App Tracking Transparency requirements, ensure you've configured and published your [ATT message](https://developers.google.com/admob/ump/ios/quick-start#app_tracking_transparency) in your Google AdMob account.
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
  ![Google AdMob App ID](https://prismic-io.s3.amazonaws.com/invertase%2F52dd6900-108c-47a6-accb-699fde963b99_new+project+%2813%29.jpg)
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
@@ -217,4 +217,19 @@ RCT_EXPORT_METHOD(getTCString : (RCTPromiseResolveBlock)resolve : (RCTPromiseRej
217
217
  }
218
218
  }
219
219
 
220
+ RCT_EXPORT_METHOD(getGdprApplies
221
+ : (RCTPromiseResolveBlock)resolve
222
+ : (RCTPromiseRejectBlock)reject) {
223
+ @try {
224
+ BOOL gdprApplies = [[NSUserDefaults standardUserDefaults] boolForKey:@"IABTCF_gdprApplies"];
225
+ resolve(@(gdprApplies));
226
+ } @catch (NSError *error) {
227
+ [RNSharedUtils rejectPromiseWithUserInfo:reject
228
+ userInfo:[@{
229
+ @"code" : @"consent-string-error",
230
+ @"message" : error.localizedDescription,
231
+ } mutableCopy]];
232
+ }
233
+ }
234
+
220
235
  @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
- if [[ "$_CURRENT_SEARCH_DIR" == "/" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;
69
- echo "info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file."
70
- _SEARCH_RESULT=$(find "$_CURRENT_SEARCH_DIR" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)
71
- if [[ ${_SEARCH_RESULT} ]]; then
72
- echo "info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT"
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
- _JSON_OUTPUT_RAW=$(cat "${_SEARCH_RESULT}")
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
+
@@ -74,6 +74,9 @@ const AdsConsent = {
74
74
  const tcString = await native.getTCString();
75
75
  return _core.TCString.decode(tcString);
76
76
  },
77
+ getGdprApplies() {
78
+ return native.getGdprApplies();
79
+ },
77
80
  async getUserChoices() {
78
81
  const tcString = await native.getTCString();
79
82
  let tcModel;
@@ -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","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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"}
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":"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"}
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = void 0;
7
7
  // Generated by genversion.
8
- const version = '12.7.1';
8
+ const version = '12.9.0';
9
9
  exports.version = version;
10
10
  //# sourceMappingURL=version.js.map
@@ -68,6 +68,9 @@ export const AdsConsent = {
68
68
  const tcString = await native.getTCString();
69
69
  return TCString.decode(tcString);
70
70
  },
71
+ getGdprApplies() {
72
+ return native.getGdprApplies();
73
+ },
71
74
  async getUserChoices() {
72
75
  const tcString = await native.getTCString();
73
76
  let tcModel;
@@ -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","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","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,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '12.7.1';
2
+ export const version = '12.9.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -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,mBA6HxB,CAAC"}
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,mBAiIxB,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const SDK_VERSION = "12.7.1";
1
+ export declare const SDK_VERSION = "12.9.0";
2
2
  export { default, MobileAds } from './MobileAds';
3
3
  export { AdsConsentDebugGeography } from './AdsConsentDebugGeography';
4
4
  export { AdsConsentPurposes } from './AdsConsentPurposes';
@@ -108,6 +108,24 @@ export interface AdsConsentInterface {
108
108
  * ```
109
109
  */
110
110
  getTCModel(): Promise<TCModel>;
111
+ /**
112
+ * Returns the value stored under the `IABTCF_gdprApplies` key
113
+ * in NSUserDefaults (iOS) / SharedPreferences (Android) as
114
+ * defined by the IAB Europe Transparency & Consent Framework.
115
+ *
116
+ * More information available here:
117
+ * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#in-app-details
118
+ *
119
+ * #### Example
120
+ *
121
+ * ```js
122
+ * import { AdsConsent } from '@invertase/react-native-google-ads';
123
+ *
124
+ * await AdsConsent.requestInfoUpdate();
125
+ * const gdprApplies = await AdsConsent.getGdprApplies();
126
+ * ```
127
+ */
128
+ getGdprApplies(): Promise<boolean>;
111
129
  /**
112
130
  * Provides information about a user's consent choices.
113
131
  *
@@ -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;;;;;;;;;;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;;;;;;;;;;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.7.1";
1
+ export declare const version = "12.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-google-mobile-ads",
3
- "version": "12.7.1",
3
+ "version": "12.9.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
@@ -104,6 +104,10 @@ export const AdsConsent: AdsConsentInterface = {
104
104
  return TCString.decode(tcString);
105
105
  },
106
106
 
107
+ getGdprApplies(): Promise<boolean> {
108
+ return native.getGdprApplies();
109
+ },
110
+
107
111
  async getUserChoices(): Promise<AdsConsentUserChoices> {
108
112
  const tcString = await native.getTCString();
109
113
 
@@ -117,6 +117,25 @@ export interface AdsConsentInterface {
117
117
  */
118
118
  getTCModel(): Promise<TCModel>;
119
119
 
120
+ /**
121
+ * Returns the value stored under the `IABTCF_gdprApplies` key
122
+ * in NSUserDefaults (iOS) / SharedPreferences (Android) as
123
+ * defined by the IAB Europe Transparency & Consent Framework.
124
+ *
125
+ * More information available here:
126
+ * https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#in-app-details
127
+ *
128
+ * #### Example
129
+ *
130
+ * ```js
131
+ * import { AdsConsent } from '@invertase/react-native-google-ads';
132
+ *
133
+ * await AdsConsent.requestInfoUpdate();
134
+ * const gdprApplies = await AdsConsent.getGdprApplies();
135
+ * ```
136
+ */
137
+ getGdprApplies(): Promise<boolean>;
138
+
120
139
  /**
121
140
  * Provides information about a user's consent choices.
122
141
  *
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '12.7.1';
2
+ export const version = '12.9.0';