react-native-google-mobile-ads 6.2.2 → 6.2.5

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.
@@ -51,6 +51,7 @@ public class ReactNativeGoogleMobileAdsBannerAdViewManager
51
51
  private final String EVENT_AD_FAILED_TO_LOAD = "onAdFailedToLoad";
52
52
  private final String EVENT_AD_OPENED = "onAdOpened";
53
53
  private final String EVENT_AD_CLOSED = "onAdClosed";
54
+ private final String EVENT_SIZE_CHANGE = "onSizeChange";
54
55
  private final String EVENT_APP_EVENT = "onAppEvent";
55
56
  private final int COMMAND_ID_RECORD_MANUAL_IMPRESSION = 1;
56
57
 
@@ -121,6 +122,15 @@ public class ReactNativeGoogleMobileAdsBannerAdViewManager
121
122
  sizeList.add(ReactNativeGoogleMobileAdsCommon.getAdSize(sizeString, reactViewGroup));
122
123
  }
123
124
  }
125
+
126
+ if (sizeList.size() > 0) {
127
+ AdSize adSize = sizeList.get(0);
128
+ WritableMap payload = Arguments.createMap();
129
+ payload.putDouble("width", adSize.getWidth());
130
+ payload.putDouble("height", adSize.getHeight());
131
+ sendEvent(reactViewGroup, EVENT_SIZE_CHANGE, payload);
132
+ }
133
+
124
134
  sizes = sizeList;
125
135
  propsChanged = true;
126
136
  }
@@ -179,8 +179,9 @@ public class ReactNativeGoogleMobileAdsModule extends ReactNativeModule {
179
179
  }
180
180
  rejectPromiseWithCodeAndMessage(
181
181
  promise, code, adInspectorError.getMessage());
182
+ } else {
183
+ promise.resolve(null);
182
184
  }
183
- promise.resolve(null);
184
185
  }
185
186
  });
186
187
  });
@@ -115,8 +115,9 @@ RCT_EXPORT_METHOD(openAdInspector
115
115
  stringWithFormat:@"CODE_%d", error.code],
116
116
  @"message" : error.description,
117
117
  } mutableCopy]];
118
+ } else {
119
+ resolve(nil);
118
120
  }
119
- resolve(nil);
120
121
  }];
121
122
  }
122
123
 
package/ios_config.sh CHANGED
@@ -80,7 +80,8 @@ if [[ ${_SEARCH_RESULT} ]]; then
80
80
  _RN_ROOT_EXISTS=$(ruby -e "require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]" || echo '')
81
81
 
82
82
  if [[ ${_RN_ROOT_EXISTS} ]]; then
83
- _JSON_OUTPUT_BASE64=$(python -c 'import json,sys,base64;print(base64.b64encode(json.dumps(json.loads(open('"'${_SEARCH_RESULT}'"').read())['${_JSON_ROOT}'])))' || echo "e30=")
83
+ if ! python3 --version >/dev/null 2>&1; then echo "python3 not found, app.json file processing error." && exit 1; fi
84
+ _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('"'${_SEARCH_RESULT}'"', '"'rb'"').read())['${_JSON_ROOT}']), '"'utf-8'"')).decode())' || echo "e30=")
84
85
  fi
85
86
 
86
87
  _PLIST_ENTRY_KEYS+=("google_mobile_ads_json_raw")
@@ -116,7 +116,7 @@ class MobileAd {
116
116
  }
117
117
 
118
118
  _addAdEventListener(type, listener) {
119
- if (!((0, _common.isOneOf)(type, Object.values(_AdEventType.AdEventType)) || (0, _common.isOneOf)(type, Object.values(_RewardedAdEventType.RewardedAdEventType)) && this._type === 'rewarded')) {
119
+ if (!((0, _common.isOneOf)(type, Object.values(_AdEventType.AdEventType)) || (0, _common.isOneOf)(type, Object.values(_RewardedAdEventType.RewardedAdEventType)) && (this._type === 'rewarded' || this._type === 'rewarded_interstitial'))) {
120
120
  throw new Error(`${this._className}.addAdEventListener(*) 'type' expected a valid event type value.`);
121
121
  }
122
122
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MobileAd.ts"],"names":["MobileAd","constructor","type","googleMobileAds","requestId","adUnitId","requestOptions","_type","_googleMobileAds","_requestId","_adUnitId","_requestOptions","_loaded","_isLoadCalled","_adEventsListeners","Map","_adEventListenersMap","Object","values","AdEventType","RewardedAdEventType","GAMAdEventType","_","LOADED","forEach","set","_adEventListenerId","_adEventsListenerId","_nativeListener","emitter","addListener","_handleAdEvent","bind","event","error","data","body","CLOSED","payload","NativeError","fromEvent","listener","_getAdEventListeners","_addAdEventsListener","Error","_className","id","delete","_addAdEventListener","get","name","_camelCaseType","load","native","show","showOptions","options","e","message","removeAllListeners","clear","map","loaded"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { EmitterSubscription } from 'react-native';\nimport { isFunction, isOneOf } from '../common';\nimport { NativeError } from '../internal/NativeError';\nimport { AdEventType } from '../AdEventType';\nimport { RewardedAdEventType } from '../RewardedAdEventType';\nimport { AdEventListener, AdEventPayload } from '../types/AdEventListener';\nimport { AdEventsListener } from '../types/AdEventsListener';\nimport { AdShowOptions } from '../types/AdShowOptions';\nimport { RequestOptions } from '../types/RequestOptions';\nimport { MobileAdInterface } from '../types/MobileAd.interface';\nimport { MobileAdsModuleInterface } from '../types/MobileAdsModule.interface';\nimport { RewardedAdReward } from '../types/RewardedAdReward';\nimport { GAMAdEventType } from '../GAMAdEventType';\nimport { AppEvent } from '../types/AppEvent';\nimport { validateAdShowOptions } from '../validateAdShowOptions';\n\ntype EventType = AdEventType | RewardedAdEventType | GAMAdEventType;\n\nexport abstract class MobileAd implements MobileAdInterface {\n protected _type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial';\n protected _googleMobileAds: MobileAdsModuleInterface;\n protected _requestId: number;\n protected _adUnitId: string;\n protected _requestOptions: RequestOptions;\n protected _loaded: boolean;\n protected _isLoadCalled: boolean;\n protected _adEventsListeners: Map<number, AdEventsListener<EventType>>;\n protected _adEventListenersMap: Map<EventType, Map<number, AdEventListener<EventType>>>;\n protected _adEventsListenerId: number;\n protected _adEventListenerId: number;\n protected _nativeListener: EmitterSubscription;\n\n protected constructor(\n type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial',\n googleMobileAds: MobileAdsModuleInterface,\n requestId: number,\n adUnitId: string,\n requestOptions: RequestOptions,\n ) {\n this._type = type;\n this._googleMobileAds = googleMobileAds;\n this._requestId = requestId;\n this._adUnitId = adUnitId;\n this._requestOptions = requestOptions;\n\n this._loaded = false;\n this._isLoadCalled = false;\n this._adEventsListeners = new Map();\n this._adEventListenersMap = new Map();\n Object.values({\n ...AdEventType,\n ...RewardedAdEventType,\n ...GAMAdEventType,\n _: AdEventType.LOADED, // since AdEventType.LOADED is overwritten by RewardedAdEventType.LOADED\n }).forEach(type => {\n this._adEventListenersMap.set(type as EventType, new Map());\n });\n this._adEventListenerId = 0;\n this._adEventsListenerId = 0;\n\n this._nativeListener = googleMobileAds.emitter.addListener(\n `google_mobile_ads_${type}_event:${adUnitId}:${requestId}`,\n this._handleAdEvent.bind(this),\n );\n }\n\n protected _handleAdEvent(event: {\n body: {\n type: EventType;\n error?: { code: string; message: string };\n data?: RewardedAdReward | AppEvent;\n };\n }) {\n const { type, error, data } = event.body;\n\n if (type === AdEventType.LOADED || type === RewardedAdEventType.LOADED) {\n this._loaded = true;\n }\n\n if (type === AdEventType.CLOSED) {\n this._loaded = false;\n this._isLoadCalled = false;\n }\n\n let payload: AdEventPayload<EventType> = data;\n if (error) {\n payload = NativeError.fromEvent(error, 'googleMobileAds');\n }\n this._adEventsListeners.forEach(listener => {\n listener({\n type,\n payload,\n });\n });\n this._getAdEventListeners(type).forEach(listener => {\n listener(payload);\n });\n }\n\n protected _addAdEventsListener<T extends EventType>(listener: AdEventsListener<T>) {\n if (!isFunction(listener)) {\n throw new Error(`${this._className}.addAdEventsListener(*) 'listener' expected a function.`);\n }\n\n const id = this._adEventsListenerId++;\n this._adEventsListeners.set(id, listener as AdEventsListener<EventType>);\n return () => {\n this._adEventsListeners.delete(id);\n };\n }\n\n protected _addAdEventListener<T extends EventType>(type: T, listener: AdEventListener<T>) {\n if (\n !(\n isOneOf(type, Object.values(AdEventType)) ||\n (isOneOf(type, Object.values(RewardedAdEventType)) && this._type === 'rewarded')\n )\n ) {\n throw new Error(\n `${this._className}.addAdEventListener(*) 'type' expected a valid event type value.`,\n );\n }\n if (!isFunction(listener)) {\n throw new Error(\n `${this._className}.addAdEventListener(_, *) 'listener' expected a function.`,\n );\n }\n\n const id = this._adEventListenerId++;\n this._getAdEventListeners(type).set(id, listener);\n return () => {\n this._getAdEventListeners(type).delete(id);\n };\n }\n\n protected _getAdEventListeners<T extends EventType>(type: T) {\n return this._adEventListenersMap.get(type) as Map<number, AdEventListener<T>>;\n }\n\n protected get _className() {\n return this.constructor.name;\n }\n\n protected get _camelCaseType() {\n let type: 'appOpen' | 'interstitial' | 'rewarded' | 'rewardedInterstitial';\n if (this._type === 'app_open') {\n type = 'appOpen';\n } else if (this._type === 'rewarded_interstitial') {\n type = 'rewardedInterstitial';\n } else {\n type = this._type;\n }\n return type;\n }\n\n public load() {\n // Prevent multiple load calls\n if (this._loaded || this._isLoadCalled) {\n return;\n }\n\n this._isLoadCalled = true;\n const load = this._googleMobileAds.native[`${this._camelCaseType}Load`];\n load(this._requestId, this._adUnitId, this._requestOptions);\n }\n\n public show(showOptions?: AdShowOptions) {\n if (!this._loaded) {\n throw new Error(\n `${this._className}.show() The requested ${this._className} has not loaded and could not be shown.`,\n );\n }\n\n let options;\n try {\n options = validateAdShowOptions(showOptions);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`${this._className}.show(*) ${e.message}.`);\n } else {\n throw e;\n }\n }\n\n const show = this._googleMobileAds.native[`${this._camelCaseType}Show`];\n return show(this._requestId, this._adUnitId, options);\n }\n\n public abstract addAdEventsListener<T extends never>(listener: AdEventsListener<T>): () => void;\n\n public abstract addAdEventListener<T extends never>(type: T, listener: AdEventListener<T>): void;\n\n public removeAllListeners() {\n this._adEventsListeners.clear();\n this._adEventListenersMap.forEach((_, type, map) => {\n map.set(type, new Map());\n });\n }\n\n public get adUnitId() {\n return this._adUnitId;\n }\n\n public get loaded() {\n return this._loaded;\n }\n}\n"]}
1
+ {"version":3,"sources":["MobileAd.ts"],"names":["MobileAd","constructor","type","googleMobileAds","requestId","adUnitId","requestOptions","_type","_googleMobileAds","_requestId","_adUnitId","_requestOptions","_loaded","_isLoadCalled","_adEventsListeners","Map","_adEventListenersMap","Object","values","AdEventType","RewardedAdEventType","GAMAdEventType","_","LOADED","forEach","set","_adEventListenerId","_adEventsListenerId","_nativeListener","emitter","addListener","_handleAdEvent","bind","event","error","data","body","CLOSED","payload","NativeError","fromEvent","listener","_getAdEventListeners","_addAdEventsListener","Error","_className","id","delete","_addAdEventListener","get","name","_camelCaseType","load","native","show","showOptions","options","e","message","removeAllListeners","clear","map","loaded"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { EmitterSubscription } from 'react-native';\nimport { isFunction, isOneOf } from '../common';\nimport { NativeError } from '../internal/NativeError';\nimport { AdEventType } from '../AdEventType';\nimport { RewardedAdEventType } from '../RewardedAdEventType';\nimport { AdEventListener, AdEventPayload } from '../types/AdEventListener';\nimport { AdEventsListener } from '../types/AdEventsListener';\nimport { AdShowOptions } from '../types/AdShowOptions';\nimport { RequestOptions } from '../types/RequestOptions';\nimport { MobileAdInterface } from '../types/MobileAd.interface';\nimport { MobileAdsModuleInterface } from '../types/MobileAdsModule.interface';\nimport { RewardedAdReward } from '../types/RewardedAdReward';\nimport { GAMAdEventType } from '../GAMAdEventType';\nimport { AppEvent } from '../types/AppEvent';\nimport { validateAdShowOptions } from '../validateAdShowOptions';\n\ntype EventType = AdEventType | RewardedAdEventType | GAMAdEventType;\n\nexport abstract class MobileAd implements MobileAdInterface {\n protected _type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial';\n protected _googleMobileAds: MobileAdsModuleInterface;\n protected _requestId: number;\n protected _adUnitId: string;\n protected _requestOptions: RequestOptions;\n protected _loaded: boolean;\n protected _isLoadCalled: boolean;\n protected _adEventsListeners: Map<number, AdEventsListener<EventType>>;\n protected _adEventListenersMap: Map<EventType, Map<number, AdEventListener<EventType>>>;\n protected _adEventsListenerId: number;\n protected _adEventListenerId: number;\n protected _nativeListener: EmitterSubscription;\n\n protected constructor(\n type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial',\n googleMobileAds: MobileAdsModuleInterface,\n requestId: number,\n adUnitId: string,\n requestOptions: RequestOptions,\n ) {\n this._type = type;\n this._googleMobileAds = googleMobileAds;\n this._requestId = requestId;\n this._adUnitId = adUnitId;\n this._requestOptions = requestOptions;\n\n this._loaded = false;\n this._isLoadCalled = false;\n this._adEventsListeners = new Map();\n this._adEventListenersMap = new Map();\n Object.values({\n ...AdEventType,\n ...RewardedAdEventType,\n ...GAMAdEventType,\n _: AdEventType.LOADED, // since AdEventType.LOADED is overwritten by RewardedAdEventType.LOADED\n }).forEach(type => {\n this._adEventListenersMap.set(type as EventType, new Map());\n });\n this._adEventListenerId = 0;\n this._adEventsListenerId = 0;\n\n this._nativeListener = googleMobileAds.emitter.addListener(\n `google_mobile_ads_${type}_event:${adUnitId}:${requestId}`,\n this._handleAdEvent.bind(this),\n );\n }\n\n protected _handleAdEvent(event: {\n body: {\n type: EventType;\n error?: { code: string; message: string };\n data?: RewardedAdReward | AppEvent;\n };\n }) {\n const { type, error, data } = event.body;\n\n if (type === AdEventType.LOADED || type === RewardedAdEventType.LOADED) {\n this._loaded = true;\n }\n\n if (type === AdEventType.CLOSED) {\n this._loaded = false;\n this._isLoadCalled = false;\n }\n\n let payload: AdEventPayload<EventType> = data;\n if (error) {\n payload = NativeError.fromEvent(error, 'googleMobileAds');\n }\n this._adEventsListeners.forEach(listener => {\n listener({\n type,\n payload,\n });\n });\n this._getAdEventListeners(type).forEach(listener => {\n listener(payload);\n });\n }\n\n protected _addAdEventsListener<T extends EventType>(listener: AdEventsListener<T>) {\n if (!isFunction(listener)) {\n throw new Error(`${this._className}.addAdEventsListener(*) 'listener' expected a function.`);\n }\n\n const id = this._adEventsListenerId++;\n this._adEventsListeners.set(id, listener as AdEventsListener<EventType>);\n return () => {\n this._adEventsListeners.delete(id);\n };\n }\n\n protected _addAdEventListener<T extends EventType>(type: T, listener: AdEventListener<T>) {\n if (\n !(\n isOneOf(type, Object.values(AdEventType)) ||\n (isOneOf(type, Object.values(RewardedAdEventType)) &&\n (this._type === 'rewarded' || this._type === 'rewarded_interstitial'))\n )\n ) {\n throw new Error(\n `${this._className}.addAdEventListener(*) 'type' expected a valid event type value.`,\n );\n }\n if (!isFunction(listener)) {\n throw new Error(\n `${this._className}.addAdEventListener(_, *) 'listener' expected a function.`,\n );\n }\n\n const id = this._adEventListenerId++;\n this._getAdEventListeners(type).set(id, listener);\n return () => {\n this._getAdEventListeners(type).delete(id);\n };\n }\n\n protected _getAdEventListeners<T extends EventType>(type: T) {\n return this._adEventListenersMap.get(type) as Map<number, AdEventListener<T>>;\n }\n\n protected get _className() {\n return this.constructor.name;\n }\n\n protected get _camelCaseType() {\n let type: 'appOpen' | 'interstitial' | 'rewarded' | 'rewardedInterstitial';\n if (this._type === 'app_open') {\n type = 'appOpen';\n } else if (this._type === 'rewarded_interstitial') {\n type = 'rewardedInterstitial';\n } else {\n type = this._type;\n }\n return type;\n }\n\n public load() {\n // Prevent multiple load calls\n if (this._loaded || this._isLoadCalled) {\n return;\n }\n\n this._isLoadCalled = true;\n const load = this._googleMobileAds.native[`${this._camelCaseType}Load`];\n load(this._requestId, this._adUnitId, this._requestOptions);\n }\n\n public show(showOptions?: AdShowOptions) {\n if (!this._loaded) {\n throw new Error(\n `${this._className}.show() The requested ${this._className} has not loaded and could not be shown.`,\n );\n }\n\n let options;\n try {\n options = validateAdShowOptions(showOptions);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`${this._className}.show(*) ${e.message}.`);\n } else {\n throw e;\n }\n }\n\n const show = this._googleMobileAds.native[`${this._camelCaseType}Show`];\n return show(this._requestId, this._adUnitId, options);\n }\n\n public abstract addAdEventsListener<T extends never>(listener: AdEventsListener<T>): () => void;\n\n public abstract addAdEventListener<T extends never>(type: T, listener: AdEventListener<T>): void;\n\n public removeAllListeners() {\n this._adEventsListeners.clear();\n this._adEventListenersMap.forEach((_, type, map) => {\n map.set(type, new Map());\n });\n }\n\n public get adUnitId() {\n return this._adUnitId;\n }\n\n public get loaded() {\n return this._loaded;\n }\n}\n"]}
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = void 0;
7
7
  // Generated by genversion.
8
- const version = '6.2.2';
8
+ const version = '6.2.5';
9
9
  exports.version = version;
10
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["version.ts"],"names":["version"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '6.2.2';\n"]}
1
+ {"version":3,"sources":["version.ts"],"names":["version"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '6.2.5';\n"]}
@@ -119,7 +119,7 @@ export class MobileAd {
119
119
  }
120
120
 
121
121
  _addAdEventListener(type, listener) {
122
- if (!(isOneOf(type, Object.values(AdEventType)) || isOneOf(type, Object.values(RewardedAdEventType)) && this._type === 'rewarded')) {
122
+ if (!(isOneOf(type, Object.values(AdEventType)) || isOneOf(type, Object.values(RewardedAdEventType)) && (this._type === 'rewarded' || this._type === 'rewarded_interstitial'))) {
123
123
  throw new Error(`${this._className}.addAdEventListener(*) 'type' expected a valid event type value.`);
124
124
  }
125
125
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MobileAd.ts"],"names":["isFunction","isOneOf","NativeError","AdEventType","RewardedAdEventType","GAMAdEventType","validateAdShowOptions","MobileAd","constructor","type","googleMobileAds","requestId","adUnitId","requestOptions","_type","_googleMobileAds","_requestId","_adUnitId","_requestOptions","_loaded","_isLoadCalled","_adEventsListeners","Map","_adEventListenersMap","Object","values","_","LOADED","forEach","set","_adEventListenerId","_adEventsListenerId","_nativeListener","emitter","addListener","_handleAdEvent","bind","event","error","data","body","CLOSED","payload","fromEvent","listener","_getAdEventListeners","_addAdEventsListener","Error","_className","id","delete","_addAdEventListener","get","name","_camelCaseType","load","native","show","showOptions","options","e","message","removeAllListeners","clear","map","loaded"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,UAAT,EAAqBC,OAArB,QAAoC,WAApC;AACA,SAASC,WAAT,QAA4B,yBAA5B;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,SAASC,mBAAT,QAAoC,wBAApC;AAQA,SAASC,cAAT,QAA+B,mBAA/B;AAEA,SAASC,qBAAT,QAAsC,0BAAtC;AAIA,OAAO,MAAeC,QAAf,CAAqD;AAchDC,EAAAA,WAAW,CACnBC,IADmB,EAEnBC,eAFmB,EAGnBC,SAHmB,EAInBC,QAJmB,EAKnBC,cALmB,EAMnB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACA,SAAKC,KAAL,GAAaL,IAAb;AACA,SAAKM,gBAAL,GAAwBL,eAAxB;AACA,SAAKM,UAAL,GAAkBL,SAAlB;AACA,SAAKM,SAAL,GAAiBL,QAAjB;AACA,SAAKM,eAAL,GAAuBL,cAAvB;AAEA,SAAKM,OAAL,GAAe,KAAf;AACA,SAAKC,aAAL,GAAqB,KAArB;AACA,SAAKC,kBAAL,GAA0B,IAAIC,GAAJ,EAA1B;AACA,SAAKC,oBAAL,GAA4B,IAAID,GAAJ,EAA5B;AACAE,IAAAA,MAAM,CAACC,MAAP,CAAc,EACZ,GAAGtB,WADS;AAEZ,SAAGC,mBAFS;AAGZ,SAAGC,cAHS;AAIZqB,MAAAA,CAAC,EAAEvB,WAAW,CAACwB,MAJH,CAIW;;AAJX,KAAd,EAKGC,OALH,CAKWnB,IAAI,IAAI;AACjB,WAAKc,oBAAL,CAA0BM,GAA1B,CAA8BpB,IAA9B,EAAiD,IAAIa,GAAJ,EAAjD;AACD,KAPD;AAQA,SAAKQ,kBAAL,GAA0B,CAA1B;AACA,SAAKC,mBAAL,GAA2B,CAA3B;AAEA,SAAKC,eAAL,GAAuBtB,eAAe,CAACuB,OAAhB,CAAwBC,WAAxB,CACpB,qBAAoBzB,IAAK,UAASG,QAAS,IAAGD,SAAU,EADpC,EAErB,KAAKwB,cAAL,CAAoBC,IAApB,CAAyB,IAAzB,CAFqB,CAAvB;AAID;;AAESD,EAAAA,cAAc,CAACE,KAAD,EAMrB;AACD,UAAM;AAAE5B,MAAAA,IAAF;AAAQ6B,MAAAA,KAAR;AAAeC,MAAAA;AAAf,QAAwBF,KAAK,CAACG,IAApC;;AAEA,QAAI/B,IAAI,KAAKN,WAAW,CAACwB,MAArB,IAA+BlB,IAAI,KAAKL,mBAAmB,CAACuB,MAAhE,EAAwE;AACtE,WAAKR,OAAL,GAAe,IAAf;AACD;;AAED,QAAIV,IAAI,KAAKN,WAAW,CAACsC,MAAzB,EAAiC;AAC/B,WAAKtB,OAAL,GAAe,KAAf;AACA,WAAKC,aAAL,GAAqB,KAArB;AACD;;AAED,QAAIsB,OAAkC,GAAGH,IAAzC;;AACA,QAAID,KAAJ,EAAW;AACTI,MAAAA,OAAO,GAAGxC,WAAW,CAACyC,SAAZ,CAAsBL,KAAtB,EAA6B,iBAA7B,CAAV;AACD;;AACD,SAAKjB,kBAAL,CAAwBO,OAAxB,CAAgCgB,QAAQ,IAAI;AAC1CA,MAAAA,QAAQ,CAAC;AACPnC,QAAAA,IADO;AAEPiC,QAAAA;AAFO,OAAD,CAAR;AAID,KALD;;AAMA,SAAKG,oBAAL,CAA0BpC,IAA1B,EAAgCmB,OAAhC,CAAwCgB,QAAQ,IAAI;AAClDA,MAAAA,QAAQ,CAACF,OAAD,CAAR;AACD,KAFD;AAGD;;AAESI,EAAAA,oBAAoB,CAAsBF,QAAtB,EAAqD;AACjF,QAAI,CAAC5C,UAAU,CAAC4C,QAAD,CAAf,EAA2B;AACzB,YAAM,IAAIG,KAAJ,CAAW,GAAE,KAAKC,UAAW,yDAA7B,CAAN;AACD;;AAED,UAAMC,EAAE,GAAG,KAAKlB,mBAAL,EAAX;;AACA,SAAKV,kBAAL,CAAwBQ,GAAxB,CAA4BoB,EAA5B,EAAgCL,QAAhC;;AACA,WAAO,MAAM;AACX,WAAKvB,kBAAL,CAAwB6B,MAAxB,CAA+BD,EAA/B;AACD,KAFD;AAGD;;AAESE,EAAAA,mBAAmB,CAAsB1C,IAAtB,EAA+BmC,QAA/B,EAA6D;AACxF,QACE,EACE3C,OAAO,CAACQ,IAAD,EAAOe,MAAM,CAACC,MAAP,CAActB,WAAd,CAAP,CAAP,IACCF,OAAO,CAACQ,IAAD,EAAOe,MAAM,CAACC,MAAP,CAAcrB,mBAAd,CAAP,CAAP,IAAqD,KAAKU,KAAL,KAAe,UAFvE,CADF,EAKE;AACA,YAAM,IAAIiC,KAAJ,CACH,GAAE,KAAKC,UAAW,kEADf,CAAN;AAGD;;AACD,QAAI,CAAChD,UAAU,CAAC4C,QAAD,CAAf,EAA2B;AACzB,YAAM,IAAIG,KAAJ,CACH,GAAE,KAAKC,UAAW,2DADf,CAAN;AAGD;;AAED,UAAMC,EAAE,GAAG,KAAKnB,kBAAL,EAAX;;AACA,SAAKe,oBAAL,CAA0BpC,IAA1B,EAAgCoB,GAAhC,CAAoCoB,EAApC,EAAwCL,QAAxC;;AACA,WAAO,MAAM;AACX,WAAKC,oBAAL,CAA0BpC,IAA1B,EAAgCyC,MAAhC,CAAuCD,EAAvC;AACD,KAFD;AAGD;;AAESJ,EAAAA,oBAAoB,CAAsBpC,IAAtB,EAA+B;AAC3D,WAAO,KAAKc,oBAAL,CAA0B6B,GAA1B,CAA8B3C,IAA9B,CAAP;AACD;;AAEuB,MAAVuC,UAAU,GAAG;AACzB,WAAO,KAAKxC,WAAL,CAAiB6C,IAAxB;AACD;;AAE2B,MAAdC,cAAc,GAAG;AAC7B,QAAI7C,IAAJ;;AACA,QAAI,KAAKK,KAAL,KAAe,UAAnB,EAA+B;AAC7BL,MAAAA,IAAI,GAAG,SAAP;AACD,KAFD,MAEO,IAAI,KAAKK,KAAL,KAAe,uBAAnB,EAA4C;AACjDL,MAAAA,IAAI,GAAG,sBAAP;AACD,KAFM,MAEA;AACLA,MAAAA,IAAI,GAAG,KAAKK,KAAZ;AACD;;AACD,WAAOL,IAAP;AACD;;AAEM8C,EAAAA,IAAI,GAAG;AACZ;AACA,QAAI,KAAKpC,OAAL,IAAgB,KAAKC,aAAzB,EAAwC;AACtC;AACD;;AAED,SAAKA,aAAL,GAAqB,IAArB;AACA,UAAMmC,IAAI,GAAG,KAAKxC,gBAAL,CAAsByC,MAAtB,CAA8B,GAAE,KAAKF,cAAe,MAApD,CAAb;AACAC,IAAAA,IAAI,CAAC,KAAKvC,UAAN,EAAkB,KAAKC,SAAvB,EAAkC,KAAKC,eAAvC,CAAJ;AACD;;AAEMuC,EAAAA,IAAI,CAACC,WAAD,EAA8B;AACvC,QAAI,CAAC,KAAKvC,OAAV,EAAmB;AACjB,YAAM,IAAI4B,KAAJ,CACH,GAAE,KAAKC,UAAW,yBAAwB,KAAKA,UAAW,yCADvD,CAAN;AAGD;;AAED,QAAIW,OAAJ;;AACA,QAAI;AACFA,MAAAA,OAAO,GAAGrD,qBAAqB,CAACoD,WAAD,CAA/B;AACD,KAFD,CAEE,OAAOE,CAAP,EAAU;AACV,UAAIA,CAAC,YAAYb,KAAjB,EAAwB;AACtB,cAAM,IAAIA,KAAJ,CAAW,GAAE,KAAKC,UAAW,YAAWY,CAAC,CAACC,OAAQ,GAAlD,CAAN;AACD,OAFD,MAEO;AACL,cAAMD,CAAN;AACD;AACF;;AAED,UAAMH,IAAI,GAAG,KAAK1C,gBAAL,CAAsByC,MAAtB,CAA8B,GAAE,KAAKF,cAAe,MAApD,CAAb;AACA,WAAOG,IAAI,CAAC,KAAKzC,UAAN,EAAkB,KAAKC,SAAvB,EAAkC0C,OAAlC,CAAX;AACD;;AAMMG,EAAAA,kBAAkB,GAAG;AAC1B,SAAKzC,kBAAL,CAAwB0C,KAAxB;;AACA,SAAKxC,oBAAL,CAA0BK,OAA1B,CAAkC,CAACF,CAAD,EAAIjB,IAAJ,EAAUuD,GAAV,KAAkB;AAClDA,MAAAA,GAAG,CAACnC,GAAJ,CAAQpB,IAAR,EAAc,IAAIa,GAAJ,EAAd;AACD,KAFD;AAGD;;AAEkB,MAARV,QAAQ,GAAG;AACpB,WAAO,KAAKK,SAAZ;AACD;;AAEgB,MAANgD,MAAM,GAAG;AAClB,WAAO,KAAK9C,OAAZ;AACD;;AA3LyD","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { EmitterSubscription } from 'react-native';\nimport { isFunction, isOneOf } from '../common';\nimport { NativeError } from '../internal/NativeError';\nimport { AdEventType } from '../AdEventType';\nimport { RewardedAdEventType } from '../RewardedAdEventType';\nimport { AdEventListener, AdEventPayload } from '../types/AdEventListener';\nimport { AdEventsListener } from '../types/AdEventsListener';\nimport { AdShowOptions } from '../types/AdShowOptions';\nimport { RequestOptions } from '../types/RequestOptions';\nimport { MobileAdInterface } from '../types/MobileAd.interface';\nimport { MobileAdsModuleInterface } from '../types/MobileAdsModule.interface';\nimport { RewardedAdReward } from '../types/RewardedAdReward';\nimport { GAMAdEventType } from '../GAMAdEventType';\nimport { AppEvent } from '../types/AppEvent';\nimport { validateAdShowOptions } from '../validateAdShowOptions';\n\ntype EventType = AdEventType | RewardedAdEventType | GAMAdEventType;\n\nexport abstract class MobileAd implements MobileAdInterface {\n protected _type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial';\n protected _googleMobileAds: MobileAdsModuleInterface;\n protected _requestId: number;\n protected _adUnitId: string;\n protected _requestOptions: RequestOptions;\n protected _loaded: boolean;\n protected _isLoadCalled: boolean;\n protected _adEventsListeners: Map<number, AdEventsListener<EventType>>;\n protected _adEventListenersMap: Map<EventType, Map<number, AdEventListener<EventType>>>;\n protected _adEventsListenerId: number;\n protected _adEventListenerId: number;\n protected _nativeListener: EmitterSubscription;\n\n protected constructor(\n type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial',\n googleMobileAds: MobileAdsModuleInterface,\n requestId: number,\n adUnitId: string,\n requestOptions: RequestOptions,\n ) {\n this._type = type;\n this._googleMobileAds = googleMobileAds;\n this._requestId = requestId;\n this._adUnitId = adUnitId;\n this._requestOptions = requestOptions;\n\n this._loaded = false;\n this._isLoadCalled = false;\n this._adEventsListeners = new Map();\n this._adEventListenersMap = new Map();\n Object.values({\n ...AdEventType,\n ...RewardedAdEventType,\n ...GAMAdEventType,\n _: AdEventType.LOADED, // since AdEventType.LOADED is overwritten by RewardedAdEventType.LOADED\n }).forEach(type => {\n this._adEventListenersMap.set(type as EventType, new Map());\n });\n this._adEventListenerId = 0;\n this._adEventsListenerId = 0;\n\n this._nativeListener = googleMobileAds.emitter.addListener(\n `google_mobile_ads_${type}_event:${adUnitId}:${requestId}`,\n this._handleAdEvent.bind(this),\n );\n }\n\n protected _handleAdEvent(event: {\n body: {\n type: EventType;\n error?: { code: string; message: string };\n data?: RewardedAdReward | AppEvent;\n };\n }) {\n const { type, error, data } = event.body;\n\n if (type === AdEventType.LOADED || type === RewardedAdEventType.LOADED) {\n this._loaded = true;\n }\n\n if (type === AdEventType.CLOSED) {\n this._loaded = false;\n this._isLoadCalled = false;\n }\n\n let payload: AdEventPayload<EventType> = data;\n if (error) {\n payload = NativeError.fromEvent(error, 'googleMobileAds');\n }\n this._adEventsListeners.forEach(listener => {\n listener({\n type,\n payload,\n });\n });\n this._getAdEventListeners(type).forEach(listener => {\n listener(payload);\n });\n }\n\n protected _addAdEventsListener<T extends EventType>(listener: AdEventsListener<T>) {\n if (!isFunction(listener)) {\n throw new Error(`${this._className}.addAdEventsListener(*) 'listener' expected a function.`);\n }\n\n const id = this._adEventsListenerId++;\n this._adEventsListeners.set(id, listener as AdEventsListener<EventType>);\n return () => {\n this._adEventsListeners.delete(id);\n };\n }\n\n protected _addAdEventListener<T extends EventType>(type: T, listener: AdEventListener<T>) {\n if (\n !(\n isOneOf(type, Object.values(AdEventType)) ||\n (isOneOf(type, Object.values(RewardedAdEventType)) && this._type === 'rewarded')\n )\n ) {\n throw new Error(\n `${this._className}.addAdEventListener(*) 'type' expected a valid event type value.`,\n );\n }\n if (!isFunction(listener)) {\n throw new Error(\n `${this._className}.addAdEventListener(_, *) 'listener' expected a function.`,\n );\n }\n\n const id = this._adEventListenerId++;\n this._getAdEventListeners(type).set(id, listener);\n return () => {\n this._getAdEventListeners(type).delete(id);\n };\n }\n\n protected _getAdEventListeners<T extends EventType>(type: T) {\n return this._adEventListenersMap.get(type) as Map<number, AdEventListener<T>>;\n }\n\n protected get _className() {\n return this.constructor.name;\n }\n\n protected get _camelCaseType() {\n let type: 'appOpen' | 'interstitial' | 'rewarded' | 'rewardedInterstitial';\n if (this._type === 'app_open') {\n type = 'appOpen';\n } else if (this._type === 'rewarded_interstitial') {\n type = 'rewardedInterstitial';\n } else {\n type = this._type;\n }\n return type;\n }\n\n public load() {\n // Prevent multiple load calls\n if (this._loaded || this._isLoadCalled) {\n return;\n }\n\n this._isLoadCalled = true;\n const load = this._googleMobileAds.native[`${this._camelCaseType}Load`];\n load(this._requestId, this._adUnitId, this._requestOptions);\n }\n\n public show(showOptions?: AdShowOptions) {\n if (!this._loaded) {\n throw new Error(\n `${this._className}.show() The requested ${this._className} has not loaded and could not be shown.`,\n );\n }\n\n let options;\n try {\n options = validateAdShowOptions(showOptions);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`${this._className}.show(*) ${e.message}.`);\n } else {\n throw e;\n }\n }\n\n const show = this._googleMobileAds.native[`${this._camelCaseType}Show`];\n return show(this._requestId, this._adUnitId, options);\n }\n\n public abstract addAdEventsListener<T extends never>(listener: AdEventsListener<T>): () => void;\n\n public abstract addAdEventListener<T extends never>(type: T, listener: AdEventListener<T>): void;\n\n public removeAllListeners() {\n this._adEventsListeners.clear();\n this._adEventListenersMap.forEach((_, type, map) => {\n map.set(type, new Map());\n });\n }\n\n public get adUnitId() {\n return this._adUnitId;\n }\n\n public get loaded() {\n return this._loaded;\n }\n}\n"]}
1
+ {"version":3,"sources":["MobileAd.ts"],"names":["isFunction","isOneOf","NativeError","AdEventType","RewardedAdEventType","GAMAdEventType","validateAdShowOptions","MobileAd","constructor","type","googleMobileAds","requestId","adUnitId","requestOptions","_type","_googleMobileAds","_requestId","_adUnitId","_requestOptions","_loaded","_isLoadCalled","_adEventsListeners","Map","_adEventListenersMap","Object","values","_","LOADED","forEach","set","_adEventListenerId","_adEventsListenerId","_nativeListener","emitter","addListener","_handleAdEvent","bind","event","error","data","body","CLOSED","payload","fromEvent","listener","_getAdEventListeners","_addAdEventsListener","Error","_className","id","delete","_addAdEventListener","get","name","_camelCaseType","load","native","show","showOptions","options","e","message","removeAllListeners","clear","map","loaded"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { EmitterSubscription } from 'react-native';\nimport { isFunction, isOneOf } from '../common';\nimport { NativeError } from '../internal/NativeError';\nimport { AdEventType } from '../AdEventType';\nimport { RewardedAdEventType } from '../RewardedAdEventType';\nimport { AdEventListener, AdEventPayload } from '../types/AdEventListener';\nimport { AdEventsListener } from '../types/AdEventsListener';\nimport { AdShowOptions } from '../types/AdShowOptions';\nimport { RequestOptions } from '../types/RequestOptions';\nimport { MobileAdInterface } from '../types/MobileAd.interface';\nimport { MobileAdsModuleInterface } from '../types/MobileAdsModule.interface';\nimport { RewardedAdReward } from '../types/RewardedAdReward';\nimport { GAMAdEventType } from '../GAMAdEventType';\nimport { AppEvent } from '../types/AppEvent';\nimport { validateAdShowOptions } from '../validateAdShowOptions';\n\ntype EventType = AdEventType | RewardedAdEventType | GAMAdEventType;\n\nexport abstract class MobileAd implements MobileAdInterface {\n protected _type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial';\n protected _googleMobileAds: MobileAdsModuleInterface;\n protected _requestId: number;\n protected _adUnitId: string;\n protected _requestOptions: RequestOptions;\n protected _loaded: boolean;\n protected _isLoadCalled: boolean;\n protected _adEventsListeners: Map<number, AdEventsListener<EventType>>;\n protected _adEventListenersMap: Map<EventType, Map<number, AdEventListener<EventType>>>;\n protected _adEventsListenerId: number;\n protected _adEventListenerId: number;\n protected _nativeListener: EmitterSubscription;\n\n protected constructor(\n type: 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial',\n googleMobileAds: MobileAdsModuleInterface,\n requestId: number,\n adUnitId: string,\n requestOptions: RequestOptions,\n ) {\n this._type = type;\n this._googleMobileAds = googleMobileAds;\n this._requestId = requestId;\n this._adUnitId = adUnitId;\n this._requestOptions = requestOptions;\n\n this._loaded = false;\n this._isLoadCalled = false;\n this._adEventsListeners = new Map();\n this._adEventListenersMap = new Map();\n Object.values({\n ...AdEventType,\n ...RewardedAdEventType,\n ...GAMAdEventType,\n _: AdEventType.LOADED, // since AdEventType.LOADED is overwritten by RewardedAdEventType.LOADED\n }).forEach(type => {\n this._adEventListenersMap.set(type as EventType, new Map());\n });\n this._adEventListenerId = 0;\n this._adEventsListenerId = 0;\n\n this._nativeListener = googleMobileAds.emitter.addListener(\n `google_mobile_ads_${type}_event:${adUnitId}:${requestId}`,\n this._handleAdEvent.bind(this),\n );\n }\n\n protected _handleAdEvent(event: {\n body: {\n type: EventType;\n error?: { code: string; message: string };\n data?: RewardedAdReward | AppEvent;\n };\n }) {\n const { type, error, data } = event.body;\n\n if (type === AdEventType.LOADED || type === RewardedAdEventType.LOADED) {\n this._loaded = true;\n }\n\n if (type === AdEventType.CLOSED) {\n this._loaded = false;\n this._isLoadCalled = false;\n }\n\n let payload: AdEventPayload<EventType> = data;\n if (error) {\n payload = NativeError.fromEvent(error, 'googleMobileAds');\n }\n this._adEventsListeners.forEach(listener => {\n listener({\n type,\n payload,\n });\n });\n this._getAdEventListeners(type).forEach(listener => {\n listener(payload);\n });\n }\n\n protected _addAdEventsListener<T extends EventType>(listener: AdEventsListener<T>) {\n if (!isFunction(listener)) {\n throw new Error(`${this._className}.addAdEventsListener(*) 'listener' expected a function.`);\n }\n\n const id = this._adEventsListenerId++;\n this._adEventsListeners.set(id, listener as AdEventsListener<EventType>);\n return () => {\n this._adEventsListeners.delete(id);\n };\n }\n\n protected _addAdEventListener<T extends EventType>(type: T, listener: AdEventListener<T>) {\n if (\n !(\n isOneOf(type, Object.values(AdEventType)) ||\n (isOneOf(type, Object.values(RewardedAdEventType)) &&\n (this._type === 'rewarded' || this._type === 'rewarded_interstitial'))\n )\n ) {\n throw new Error(\n `${this._className}.addAdEventListener(*) 'type' expected a valid event type value.`,\n );\n }\n if (!isFunction(listener)) {\n throw new Error(\n `${this._className}.addAdEventListener(_, *) 'listener' expected a function.`,\n );\n }\n\n const id = this._adEventListenerId++;\n this._getAdEventListeners(type).set(id, listener);\n return () => {\n this._getAdEventListeners(type).delete(id);\n };\n }\n\n protected _getAdEventListeners<T extends EventType>(type: T) {\n return this._adEventListenersMap.get(type) as Map<number, AdEventListener<T>>;\n }\n\n protected get _className() {\n return this.constructor.name;\n }\n\n protected get _camelCaseType() {\n let type: 'appOpen' | 'interstitial' | 'rewarded' | 'rewardedInterstitial';\n if (this._type === 'app_open') {\n type = 'appOpen';\n } else if (this._type === 'rewarded_interstitial') {\n type = 'rewardedInterstitial';\n } else {\n type = this._type;\n }\n return type;\n }\n\n public load() {\n // Prevent multiple load calls\n if (this._loaded || this._isLoadCalled) {\n return;\n }\n\n this._isLoadCalled = true;\n const load = this._googleMobileAds.native[`${this._camelCaseType}Load`];\n load(this._requestId, this._adUnitId, this._requestOptions);\n }\n\n public show(showOptions?: AdShowOptions) {\n if (!this._loaded) {\n throw new Error(\n `${this._className}.show() The requested ${this._className} has not loaded and could not be shown.`,\n );\n }\n\n let options;\n try {\n options = validateAdShowOptions(showOptions);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`${this._className}.show(*) ${e.message}.`);\n } else {\n throw e;\n }\n }\n\n const show = this._googleMobileAds.native[`${this._camelCaseType}Show`];\n return show(this._requestId, this._adUnitId, options);\n }\n\n public abstract addAdEventsListener<T extends never>(listener: AdEventsListener<T>): () => void;\n\n public abstract addAdEventListener<T extends never>(type: T, listener: AdEventListener<T>): void;\n\n public removeAllListeners() {\n this._adEventsListeners.clear();\n this._adEventListenersMap.forEach((_, type, map) => {\n map.set(type, new Map());\n });\n }\n\n public get adUnitId() {\n return this._adUnitId;\n }\n\n public get loaded() {\n return this._loaded;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '6.2.2';
2
+ export const version = '6.2.5';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["version.ts"],"names":["version"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '6.2.2';\n"]}
1
+ {"version":3,"sources":["version.ts"],"names":["version"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '6.2.5';\n"]}
@@ -1,4 +1,4 @@
1
- export declare const SDK_VERSION = "6.2.2";
1
+ export declare const SDK_VERSION = "6.2.5";
2
2
  export { default, MobileAds } from './MobileAds';
3
3
  export { AdsConsentDebugGeography } from './AdsConsentDebugGeography';
4
4
  export { AdsConsentPurposes } from './AdsConsentPurposes';
@@ -1 +1 @@
1
- export declare const version = "6.2.2";
1
+ export declare const version = "6.2.5";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-google-mobile-ads",
3
- "version": "6.2.2",
3
+ "version": "6.2.5",
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",
@@ -130,7 +130,8 @@ export abstract class MobileAd implements MobileAdInterface {
130
130
  if (
131
131
  !(
132
132
  isOneOf(type, Object.values(AdEventType)) ||
133
- (isOneOf(type, Object.values(RewardedAdEventType)) && this._type === 'rewarded')
133
+ (isOneOf(type, Object.values(RewardedAdEventType)) &&
134
+ (this._type === 'rewarded' || this._type === 'rewarded_interstitial'))
134
135
  )
135
136
  ) {
136
137
  throw new Error(
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '6.2.2';
2
+ export const version = '6.2.5';