react-native-google-mobile-ads 16.2.3 → 16.3.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,4 +1,82 @@
1
+ import { validateAdRequestOptions } from '../src/validateAdRequestOptions';
2
+
1
3
  describe('Admob RequestOptions', () => {
2
- // eslint-disable-next-line jest/no-disabled-tests
3
- test.skip('skip', () => {});
4
+ describe('publisherProvidedSignals', () => {
5
+ it('throws if publisherProvidedSignals is not an object', () => {
6
+ expect(() =>
7
+ validateAdRequestOptions({
8
+ // @ts-ignore
9
+ publisherProvidedSignals: 'not-an-object',
10
+ }),
11
+ ).toThrow("'options.publisherProvidedSignals' expected an object of key/value pairs");
12
+ });
13
+
14
+ it('throws if a publisherProvidedSignals value is not an array', () => {
15
+ expect(() =>
16
+ validateAdRequestOptions({
17
+ // @ts-ignore
18
+ publisherProvidedSignals: { IAB_CONTENT_2_2: 'not-an-array' },
19
+ }),
20
+ ).toThrow("'options.publisherProvidedSignals.IAB_CONTENT_2_2' expected an array of numbers");
21
+ });
22
+
23
+ it('sets publisherProvidedSignals if valid', () => {
24
+ const result = validateAdRequestOptions({
25
+ publisherProvidedSignals: { IAB_CONTENT_2_2: [533, 483, 1020] },
26
+ });
27
+ expect(result.publisherProvidedSignals).toEqual({
28
+ IAB_CONTENT_2_2: [533, 483, 1020],
29
+ });
30
+ });
31
+
32
+ it('passes through multiple signal keys', () => {
33
+ const pps = {
34
+ IAB_CONTENT_2_2: [533, 483],
35
+ IAB_AUDIENCE_1_1: [6, 7],
36
+ };
37
+ const result = validateAdRequestOptions({ publisherProvidedSignals: pps });
38
+ expect(result.publisherProvidedSignals).toEqual(pps);
39
+ });
40
+
41
+ it('does not set publisherProvidedSignals if not provided', () => {
42
+ const result = validateAdRequestOptions({});
43
+ expect(result.publisherProvidedSignals).toBeUndefined();
44
+ });
45
+ });
46
+
47
+ describe('publisherProvidedId', () => {
48
+ it('throws if publisherProvidedId is not a string', () => {
49
+ expect(() =>
50
+ validateAdRequestOptions({
51
+ // @ts-ignore
52
+ publisherProvidedId: 123,
53
+ }),
54
+ ).toThrow("'options.publisherProvidedId' expected a string value");
55
+ });
56
+
57
+ it('sets publisherProvidedId if valid', () => {
58
+ const result = validateAdRequestOptions({
59
+ publisherProvidedId: 'user-abc-123',
60
+ });
61
+ expect(result.publisherProvidedId).toBe('user-abc-123');
62
+ });
63
+ });
64
+
65
+ describe('customTargeting', () => {
66
+ it('throws if customTargeting is not an object', () => {
67
+ expect(() =>
68
+ validateAdRequestOptions({
69
+ // @ts-ignore
70
+ customTargeting: 'not-an-object',
71
+ }),
72
+ ).toThrow("'options.customTargeting' expected an object of key/value pairs");
73
+ });
74
+
75
+ it('sets customTargeting if valid', () => {
76
+ const result = validateAdRequestOptions({
77
+ customTargeting: { key: 'value' },
78
+ });
79
+ expect(result.customTargeting).toEqual({ key: 'value' });
80
+ });
81
+ });
4
82
  });
@@ -23,7 +23,9 @@ import android.view.Display;
23
23
  import android.view.ViewGroup;
24
24
  import com.facebook.react.bridge.Arguments;
25
25
  import com.facebook.react.bridge.ReactContext;
26
+ import com.facebook.react.bridge.ReadableArray;
26
27
  import com.facebook.react.bridge.ReadableMap;
28
+ import com.facebook.react.bridge.ReadableMapKeySetIterator;
27
29
  import com.facebook.react.bridge.WritableMap;
28
30
  import com.google.ads.mediation.admob.AdMobAdapter;
29
31
  import com.google.android.gms.ads.AdError;
@@ -167,6 +169,20 @@ public class ReactNativeGoogleMobileAdsCommon {
167
169
  }
168
170
  }
169
171
 
172
+ if (adRequestOptions.hasKey("publisherProvidedSignals")) {
173
+ ReadableMap ppsMap = adRequestOptions.getMap("publisherProvidedSignals");
174
+ ReadableMapKeySetIterator iterator = ppsMap.keySetIterator();
175
+ while (iterator.hasNextKey()) {
176
+ String key = iterator.nextKey();
177
+ ReadableArray values = ppsMap.getArray(key);
178
+ ArrayList<Integer> intValues = new ArrayList<>();
179
+ for (int i = 0; i < values.size(); i++) {
180
+ intValues.add(values.getInt(i));
181
+ }
182
+ extras.putIntegerArrayList(key, intValues);
183
+ }
184
+ }
185
+
170
186
  builder.addNetworkExtrasBundle(AdMobAdapter.class, extras);
171
187
 
172
188
  if (adRequestOptions.hasKey("keywords")) {
@@ -65,6 +65,13 @@ NSString *const GOOGLE_MOBILE_ADS_EVENT_REWARDED_EARNED_REWARD = @"rewarded_earn
65
65
  }
66
66
  }
67
67
 
68
+ if (adRequestOptions[@"publisherProvidedSignals"]) {
69
+ NSDictionary *pps = adRequestOptions[@"publisherProvidedSignals"];
70
+ for (NSString *key in pps) {
71
+ extras[key] = pps[key];
72
+ }
73
+ }
74
+
68
75
  GADExtras *networkExtras = [[GADExtras alloc] init];
69
76
  networkExtras.additionalParameters = extras;
70
77
  [request registerAdNetworkExtras:networkExtras];
@@ -105,6 +105,17 @@ function validateAdRequestOptions(options) {
105
105
  }
106
106
  out.publisherProvidedId = options.publisherProvidedId;
107
107
  }
108
+ if (options.publisherProvidedSignals) {
109
+ if (!(0, _common.isObject)(options.publisherProvidedSignals)) {
110
+ throw new Error("'options.publisherProvidedSignals' expected an object of key/value pairs");
111
+ }
112
+ Object.entries(options.publisherProvidedSignals).forEach(([key, value]) => {
113
+ if (!(0, _common.isArray)(value)) {
114
+ throw new Error(`'options.publisherProvidedSignals.${key}' expected an array of numbers`);
115
+ }
116
+ });
117
+ out.publisherProvidedSignals = options.publisherProvidedSignals;
118
+ }
108
119
  return out;
109
120
  }
110
121
  //# sourceMappingURL=validateAdRequestOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","_version","validateAdRequestOptions","options","out","requestAgent","version","isUndefined","isObject","Error","isPropertySet","isBoolean","requestNonPersonalizedAdsOnly","networkExtras","Object","entries","forEach","key","value","isString","keywords","isArray","i","length","keyword","contentUrl","isValidUrl","serverSideVerificationOptions","ssvOptions","userId","customData","customTargeting","publisherProvidedId"],"sourceRoot":"../../src","sources":["validateAdRequestOptions.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_common","require","_version","validateAdRequestOptions","options","out","requestAgent","version","isUndefined","isObject","Error","isPropertySet","isBoolean","requestNonPersonalizedAdsOnly","networkExtras","Object","entries","forEach","key","value","isString","keywords","isArray","i","length","keyword","contentUrl","isValidUrl","serverSideVerificationOptions","ssvOptions","userId","customData","customTargeting","publisherProvidedId","publisherProvidedSignals"],"sourceRoot":"../../src","sources":["validateAdRequestOptions.ts"],"mappings":"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","ignoreList":[]}
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = void 0;
7
7
  // Generated by genversion.
8
- const version = exports.version = '16.2.3';
8
+ const version = exports.version = '16.3.0';
9
9
  //# sourceMappingURL=version.js.map
@@ -101,6 +101,17 @@ export function validateAdRequestOptions(options) {
101
101
  }
102
102
  out.publisherProvidedId = options.publisherProvidedId;
103
103
  }
104
+ if (options.publisherProvidedSignals) {
105
+ if (!isObject(options.publisherProvidedSignals)) {
106
+ throw new Error("'options.publisherProvidedSignals' expected an object of key/value pairs");
107
+ }
108
+ Object.entries(options.publisherProvidedSignals).forEach(([key, value]) => {
109
+ if (!isArray(value)) {
110
+ throw new Error(`'options.publisherProvidedSignals.${key}' expected an array of numbers`);
111
+ }
112
+ });
113
+ out.publisherProvidedSignals = options.publisherProvidedSignals;
114
+ }
104
115
  return out;
105
116
  }
106
117
  //# sourceMappingURL=validateAdRequestOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isPropertySet","isArray","isBoolean","isObject","isString","isUndefined","isValidUrl","version","validateAdRequestOptions","options","out","requestAgent","Error","requestNonPersonalizedAdsOnly","networkExtras","Object","entries","forEach","key","value","keywords","i","length","keyword","contentUrl","serverSideVerificationOptions","ssvOptions","userId","customData","customTargeting","publisherProvidedId"],"sourceRoot":"../../src","sources":["validateAdRequestOptions.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isPropertySet","isArray","isBoolean","isObject","isString","isUndefined","isValidUrl","version","validateAdRequestOptions","options","out","requestAgent","Error","requestNonPersonalizedAdsOnly","networkExtras","Object","entries","forEach","key","value","keywords","i","length","keyword","contentUrl","serverSideVerificationOptions","ssvOptions","userId","customData","customTargeting","publisherProvidedId","publisherProvidedSignals"],"sourceRoot":"../../src","sources":["validateAdRequestOptions.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  // Generated by genversion.
4
- export const version = '16.2.3';
4
+ export const version = '16.3.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -1,4 +1,4 @@
1
- export declare const SDK_VERSION = "16.2.3";
1
+ export declare const SDK_VERSION = "16.3.0";
2
2
  export { default, MobileAds } from './MobileAds';
3
3
  export { AdsConsentDebugGeography, AdsConsentInfo, AdsConsentInfoOptions, AdsConsentInterface, AdsConsentPrivacyOptionsRequirementStatus, AdsConsentStatus, AdsConsentUserChoices, } from './specs/modules/NativeConsentModule';
4
4
  export { AdsConsentPurposes } from './AdsConsentPurposes';
@@ -100,5 +100,34 @@ export interface RequestOptions {
100
100
  * See [this article](https://support.google.com/admanager/answer/2880055) for more information.
101
101
  */
102
102
  publisherProvidedId?: string;
103
+ /**
104
+ * Publisher Provided Signals (PPS) for Google Ad Manager.
105
+ *
106
+ * PPS allows publishers to send IAB taxonomy signals to help ad buyers
107
+ * evaluate and bid on inventory more effectively.
108
+ *
109
+ * Keys are IAB taxonomy names (e.g. `IAB_CONTENT_2_2`, `IAB_AUDIENCE_1_1`).
110
+ * Values are arrays of taxonomy IDs as integers.
111
+ *
112
+ * On Android, values are passed as `putIntegerArrayList` in the extras Bundle.
113
+ * On iOS, values are passed as `NSArray<NSNumber>` in GADExtras.
114
+ *
115
+ * @see https://developers.google.com/ad-manager/mobile-ads-sdk/android/targeting#publisher_provided_signals
116
+ * @see https://developers.google.com/ad-manager/mobile-ads-sdk/ios/targeting#publisher_provided_signals
117
+ *
118
+ * #### Example
119
+ *
120
+ * ```js
121
+ * await Interstitial.createForAdRequest('/12345/ad-unit', {
122
+ * publisherProvidedSignals: {
123
+ * IAB_CONTENT_2_2: [533, 483], // Soccer, Sports
124
+ * IAB_AUDIENCE_1_1: [6, 284], // Sports & Fitness, Soccer
125
+ * },
126
+ * });
127
+ * ```
128
+ */
129
+ publisherProvidedSignals?: {
130
+ [key: string]: number[];
131
+ };
103
132
  }
104
133
  //# sourceMappingURL=RequestOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequestOptions.d.ts","sourceRoot":"","sources":["../../../src/types/RequestOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG;QAAE,WAAW,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC;IAEnF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAExE;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAE9D;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"RequestOptions.d.ts","sourceRoot":"","sources":["../../../src/types/RequestOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG;QAAE,WAAW,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC;IAEnF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAExE;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAE9D;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,wBAAwB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CACxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateAdRequestOptions.d.ts","sourceRoot":"","sources":["../../src/validateAdRequestOptions.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,cAAc,kBA8GhE"}
1
+ {"version":3,"file":"validateAdRequestOptions.d.ts","sourceRoot":"","sources":["../../src/validateAdRequestOptions.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,cAAc,kBA4HhE"}
@@ -1,2 +1,2 @@
1
- export declare const version = "16.2.3";
1
+ export declare const version = "16.3.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": "16.2.3",
3
+ "version": "16.3.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",
@@ -106,4 +106,32 @@ export interface RequestOptions {
106
106
  * See [this article](https://support.google.com/admanager/answer/2880055) for more information.
107
107
  */
108
108
  publisherProvidedId?: string;
109
+
110
+ /**
111
+ * Publisher Provided Signals (PPS) for Google Ad Manager.
112
+ *
113
+ * PPS allows publishers to send IAB taxonomy signals to help ad buyers
114
+ * evaluate and bid on inventory more effectively.
115
+ *
116
+ * Keys are IAB taxonomy names (e.g. `IAB_CONTENT_2_2`, `IAB_AUDIENCE_1_1`).
117
+ * Values are arrays of taxonomy IDs as integers.
118
+ *
119
+ * On Android, values are passed as `putIntegerArrayList` in the extras Bundle.
120
+ * On iOS, values are passed as `NSArray<NSNumber>` in GADExtras.
121
+ *
122
+ * @see https://developers.google.com/ad-manager/mobile-ads-sdk/android/targeting#publisher_provided_signals
123
+ * @see https://developers.google.com/ad-manager/mobile-ads-sdk/ios/targeting#publisher_provided_signals
124
+ *
125
+ * #### Example
126
+ *
127
+ * ```js
128
+ * await Interstitial.createForAdRequest('/12345/ad-unit', {
129
+ * publisherProvidedSignals: {
130
+ * IAB_CONTENT_2_2: [533, 483], // Soccer, Sports
131
+ * IAB_AUDIENCE_1_1: [6, 284], // Sports & Fitness, Soccer
132
+ * },
133
+ * });
134
+ * ```
135
+ */
136
+ publisherProvidedSignals?: { [key: string]: number[] };
109
137
  }
@@ -136,5 +136,19 @@ export function validateAdRequestOptions(options?: RequestOptions) {
136
136
  out.publisherProvidedId = options.publisherProvidedId;
137
137
  }
138
138
 
139
+ if (options.publisherProvidedSignals) {
140
+ if (!isObject(options.publisherProvidedSignals)) {
141
+ throw new Error("'options.publisherProvidedSignals' expected an object of key/value pairs");
142
+ }
143
+
144
+ Object.entries(options.publisherProvidedSignals).forEach(([key, value]) => {
145
+ if (!isArray(value)) {
146
+ throw new Error(`'options.publisherProvidedSignals.${key}' expected an array of numbers`);
147
+ }
148
+ });
149
+
150
+ out.publisherProvidedSignals = options.publisherProvidedSignals;
151
+ }
152
+
139
153
  return out;
140
154
  }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '16.2.3';
2
+ export const version = '16.3.0';