react-native-google-mobile-ads 13.6.1 → 14.0.1

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.
Files changed (206) hide show
  1. package/android/build.gradle +5 -3
  2. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeModule.java +1 -1
  3. package/app.plugin.js +1 -0
  4. package/docs/european-user-consent.mdx +23 -2
  5. package/docs/index.mdx +76 -77
  6. package/ios_config.sh +10 -0
  7. package/jest.config.js +1 -1
  8. package/lib/commonjs/AdEventType.js +1 -2
  9. package/lib/commonjs/AdEventType.js.map +1 -1
  10. package/lib/commonjs/AdsConsent.js +2 -4
  11. package/lib/commonjs/AdsConsent.js.map +1 -1
  12. package/lib/commonjs/AdsConsentDebugGeography.js +1 -2
  13. package/lib/commonjs/AdsConsentDebugGeography.js.map +1 -1
  14. package/lib/commonjs/AdsConsentPrivacyOptionsRequirementStatus.js +1 -2
  15. package/lib/commonjs/AdsConsentPrivacyOptionsRequirementStatus.js.map +1 -1
  16. package/lib/commonjs/AdsConsentPurposes.js +1 -2
  17. package/lib/commonjs/AdsConsentPurposes.js.map +1 -1
  18. package/lib/commonjs/AdsConsentSpecialFeatures.js +1 -2
  19. package/lib/commonjs/AdsConsentSpecialFeatures.js.map +1 -1
  20. package/lib/commonjs/AdsConsentStatus.js +1 -2
  21. package/lib/commonjs/AdsConsentStatus.js.map +1 -1
  22. package/lib/commonjs/BannerAdSize.js +2 -4
  23. package/lib/commonjs/BannerAdSize.js.map +1 -1
  24. package/lib/commonjs/GAMAdEventType.js +1 -2
  25. package/lib/commonjs/GAMAdEventType.js.map +1 -1
  26. package/lib/commonjs/MaxAdContentRating.js +1 -2
  27. package/lib/commonjs/MaxAdContentRating.js.map +1 -1
  28. package/lib/commonjs/MobileAds.js +2 -3
  29. package/lib/commonjs/MobileAds.js.map +1 -1
  30. package/lib/commonjs/NativeGoogleMobileAdsModule.js +1 -2
  31. package/lib/commonjs/NativeGoogleMobileAdsModule.js.map +1 -1
  32. package/lib/commonjs/RewardedAdEventType.js +1 -2
  33. package/lib/commonjs/RewardedAdEventType.js.map +1 -1
  34. package/lib/commonjs/TestIds.js +1 -2
  35. package/lib/commonjs/TestIds.js.map +1 -1
  36. package/lib/commonjs/ads/AppOpenAd.js.map +1 -1
  37. package/lib/commonjs/ads/BannerAd.js +18 -18
  38. package/lib/commonjs/ads/BannerAd.js.map +1 -1
  39. package/lib/commonjs/ads/BaseAd.js +10 -12
  40. package/lib/commonjs/ads/BaseAd.js.map +1 -1
  41. package/lib/commonjs/ads/GAMBannerAd.js +18 -18
  42. package/lib/commonjs/ads/GAMBannerAd.js.map +1 -1
  43. package/lib/commonjs/ads/GAMInterstitialAd.js.map +1 -1
  44. package/lib/commonjs/ads/GoogleMobileAdsBannerViewNativeComponent.js +3 -5
  45. package/lib/commonjs/ads/GoogleMobileAdsBannerViewNativeComponent.js.map +1 -1
  46. package/lib/commonjs/ads/InterstitialAd.js.map +1 -1
  47. package/lib/commonjs/ads/MobileAd.js.map +1 -1
  48. package/lib/commonjs/ads/RewardedAd.js.map +1 -1
  49. package/lib/commonjs/ads/RewardedInterstitialAd.js.map +1 -1
  50. package/lib/commonjs/common/constants.js +1 -2
  51. package/lib/commonjs/common/constants.js.map +1 -1
  52. package/lib/commonjs/common/debounce.js +1 -4
  53. package/lib/commonjs/common/debounce.js.map +1 -1
  54. package/lib/commonjs/common/index.js.map +1 -1
  55. package/lib/commonjs/common/validate.js +1 -2
  56. package/lib/commonjs/common/validate.js.map +1 -1
  57. package/lib/commonjs/declarations.d.js.map +1 -1
  58. package/lib/commonjs/hooks/useAppOpenAd.js +2 -3
  59. package/lib/commonjs/hooks/useAppOpenAd.js.map +1 -1
  60. package/lib/commonjs/hooks/useForeground.js.map +1 -1
  61. package/lib/commonjs/hooks/useFullScreenAd.js +4 -5
  62. package/lib/commonjs/hooks/useFullScreenAd.js.map +1 -1
  63. package/lib/commonjs/hooks/useInterstitialAd.js +2 -3
  64. package/lib/commonjs/hooks/useInterstitialAd.js.map +1 -1
  65. package/lib/commonjs/hooks/useRewardedAd.js +2 -3
  66. package/lib/commonjs/hooks/useRewardedAd.js.map +1 -1
  67. package/lib/commonjs/hooks/useRewardedInterstitialAd.js +2 -3
  68. package/lib/commonjs/hooks/useRewardedInterstitialAd.js.map +1 -1
  69. package/lib/commonjs/index.js +3 -4
  70. package/lib/commonjs/index.js.map +1 -1
  71. package/lib/commonjs/internal/GoogleMobileAdsNativeEventEmitter.js +1 -2
  72. package/lib/commonjs/internal/GoogleMobileAdsNativeEventEmitter.js.map +1 -1
  73. package/lib/commonjs/internal/NativeError.js.map +1 -1
  74. package/lib/commonjs/internal/SharedEventEmitter.js +2 -3
  75. package/lib/commonjs/internal/SharedEventEmitter.js.map +1 -1
  76. package/lib/commonjs/types/AdEventListener.js.map +1 -1
  77. package/lib/commonjs/types/AdEventsListener.js.map +1 -1
  78. package/lib/commonjs/types/AdShowOptions.js.map +1 -1
  79. package/lib/commonjs/types/AdStates.js.map +1 -1
  80. package/lib/commonjs/types/AdapterStatus.js +1 -2
  81. package/lib/commonjs/types/AdapterStatus.js.map +1 -1
  82. package/lib/commonjs/types/AdsConsent.interface.js.map +1 -1
  83. package/lib/commonjs/types/AppEvent.js.map +1 -1
  84. package/lib/commonjs/types/BannerAdProps.js.map +1 -1
  85. package/lib/commonjs/types/MobileAd.interface.js.map +1 -1
  86. package/lib/commonjs/types/MobileAdsModule.interface.js.map +1 -1
  87. package/lib/commonjs/types/PaidEventListener.js.map +1 -1
  88. package/lib/commonjs/types/RequestConfiguration.js.map +1 -1
  89. package/lib/commonjs/types/RequestOptions.js.map +1 -1
  90. package/lib/commonjs/types/RewardedAdReward.js.map +1 -1
  91. package/lib/commonjs/types/index.js.map +1 -1
  92. package/lib/commonjs/validateAdRequestConfiguration.js.map +1 -1
  93. package/lib/commonjs/validateAdRequestOptions.js +1 -2
  94. package/lib/commonjs/validateAdRequestOptions.js.map +1 -1
  95. package/lib/commonjs/validateAdShowOptions.js.map +1 -1
  96. package/lib/commonjs/version.js +1 -2
  97. package/lib/commonjs/version.js.map +1 -1
  98. package/lib/module/AdEventType.js.map +1 -1
  99. package/lib/module/AdsConsent.js +1 -2
  100. package/lib/module/AdsConsent.js.map +1 -1
  101. package/lib/module/AdsConsentDebugGeography.js.map +1 -1
  102. package/lib/module/AdsConsentPrivacyOptionsRequirementStatus.js.map +1 -1
  103. package/lib/module/AdsConsentPurposes.js.map +1 -1
  104. package/lib/module/AdsConsentSpecialFeatures.js.map +1 -1
  105. package/lib/module/AdsConsentStatus.js.map +1 -1
  106. package/lib/module/BannerAdSize.js.map +1 -1
  107. package/lib/module/GAMAdEventType.js.map +1 -1
  108. package/lib/module/MaxAdContentRating.js.map +1 -1
  109. package/lib/module/MobileAds.js.map +1 -1
  110. package/lib/module/NativeGoogleMobileAdsModule.js.map +1 -1
  111. package/lib/module/RewardedAdEventType.js.map +1 -1
  112. package/lib/module/TestIds.js.map +1 -1
  113. package/lib/module/ads/AppOpenAd.js.map +1 -1
  114. package/lib/module/ads/BannerAd.js +1 -1
  115. package/lib/module/ads/BannerAd.js.map +1 -1
  116. package/lib/module/ads/BaseAd.js +7 -8
  117. package/lib/module/ads/BaseAd.js.map +1 -1
  118. package/lib/module/ads/GAMBannerAd.js +1 -1
  119. package/lib/module/ads/GAMBannerAd.js.map +1 -1
  120. package/lib/module/ads/GAMInterstitialAd.js.map +1 -1
  121. package/lib/module/ads/GoogleMobileAdsBannerViewNativeComponent.js.map +1 -1
  122. package/lib/module/ads/InterstitialAd.js.map +1 -1
  123. package/lib/module/ads/MobileAd.js.map +1 -1
  124. package/lib/module/ads/RewardedAd.js.map +1 -1
  125. package/lib/module/ads/RewardedInterstitialAd.js.map +1 -1
  126. package/lib/module/common/constants.js.map +1 -1
  127. package/lib/module/common/debounce.js +1 -4
  128. package/lib/module/common/debounce.js.map +1 -1
  129. package/lib/module/common/index.js.map +1 -1
  130. package/lib/module/common/validate.js +1 -2
  131. package/lib/module/common/validate.js.map +1 -1
  132. package/lib/module/declarations.d.js.map +1 -1
  133. package/lib/module/hooks/useAppOpenAd.js +1 -2
  134. package/lib/module/hooks/useAppOpenAd.js.map +1 -1
  135. package/lib/module/hooks/useForeground.js.map +1 -1
  136. package/lib/module/hooks/useFullScreenAd.js +4 -5
  137. package/lib/module/hooks/useFullScreenAd.js.map +1 -1
  138. package/lib/module/hooks/useInterstitialAd.js +1 -2
  139. package/lib/module/hooks/useInterstitialAd.js.map +1 -1
  140. package/lib/module/hooks/useRewardedAd.js +1 -2
  141. package/lib/module/hooks/useRewardedAd.js.map +1 -1
  142. package/lib/module/hooks/useRewardedInterstitialAd.js +1 -2
  143. package/lib/module/hooks/useRewardedInterstitialAd.js.map +1 -1
  144. package/lib/module/index.js.map +1 -1
  145. package/lib/module/internal/GoogleMobileAdsNativeEventEmitter.js.map +1 -1
  146. package/lib/module/internal/NativeError.js.map +1 -1
  147. package/lib/module/internal/SharedEventEmitter.js.map +1 -1
  148. package/lib/module/types/AdEventListener.js.map +1 -1
  149. package/lib/module/types/AdEventsListener.js.map +1 -1
  150. package/lib/module/types/AdShowOptions.js.map +1 -1
  151. package/lib/module/types/AdStates.js.map +1 -1
  152. package/lib/module/types/AdapterStatus.js.map +1 -1
  153. package/lib/module/types/AdsConsent.interface.js.map +1 -1
  154. package/lib/module/types/AppEvent.js.map +1 -1
  155. package/lib/module/types/BannerAdProps.js.map +1 -1
  156. package/lib/module/types/MobileAd.interface.js.map +1 -1
  157. package/lib/module/types/MobileAdsModule.interface.js.map +1 -1
  158. package/lib/module/types/PaidEventListener.js.map +1 -1
  159. package/lib/module/types/RequestConfiguration.js.map +1 -1
  160. package/lib/module/types/RequestOptions.js.map +1 -1
  161. package/lib/module/types/RewardedAdReward.js.map +1 -1
  162. package/lib/module/types/index.js.map +1 -1
  163. package/lib/module/validateAdRequestConfiguration.js.map +1 -1
  164. package/lib/module/validateAdRequestOptions.js +1 -2
  165. package/lib/module/validateAdRequestOptions.js.map +1 -1
  166. package/lib/module/validateAdShowOptions.js.map +1 -1
  167. package/lib/module/version.js +1 -1
  168. package/lib/module/version.js.map +1 -1
  169. package/lib/typescript/ads/BannerAd.d.ts +1 -1
  170. package/lib/typescript/ads/GAMBannerAd.d.ts +1 -1
  171. package/lib/typescript/ads/GAMInterstitialAd.d.ts.map +1 -1
  172. package/lib/typescript/ads/GoogleMobileAdsBannerViewNativeComponent.d.ts +2 -2
  173. package/lib/typescript/ads/GoogleMobileAdsBannerViewNativeComponent.d.ts.map +1 -1
  174. package/lib/typescript/ads/MobileAd.d.ts +3 -3
  175. package/lib/typescript/ads/MobileAd.d.ts.map +1 -1
  176. package/lib/typescript/common/debounce.d.ts +1 -1
  177. package/lib/typescript/common/debounce.d.ts.map +1 -1
  178. package/lib/typescript/common/validate.d.ts +4 -4
  179. package/lib/typescript/common/validate.d.ts.map +1 -1
  180. package/lib/typescript/index.d.ts +1 -1
  181. package/lib/typescript/types/AdEventListener.d.ts +2 -2
  182. package/lib/typescript/types/AdEventListener.d.ts.map +1 -1
  183. package/lib/typescript/types/AdEventsListener.d.ts +1 -1
  184. package/lib/typescript/types/AdEventsListener.d.ts.map +1 -1
  185. package/lib/typescript/types/AdapterStatus.d.ts +1 -1
  186. package/lib/typescript/types/AdapterStatus.d.ts.map +1 -1
  187. package/lib/typescript/types/BannerAdProps.d.ts +1 -1
  188. package/lib/typescript/types/BannerAdProps.d.ts.map +1 -1
  189. package/lib/typescript/types/PaidEventListener.d.ts +2 -2
  190. package/lib/typescript/types/PaidEventListener.d.ts.map +1 -1
  191. package/lib/typescript/types/RequestOptions.d.ts +1 -1
  192. package/lib/typescript/types/RequestOptions.d.ts.map +1 -1
  193. package/lib/typescript/version.d.ts +1 -1
  194. package/package.json +17 -4
  195. package/plugin/__tests__/__snapshots__/plugin.test.ts.snap +140 -0
  196. package/plugin/__tests__/fixtures/app-without-params.json +11 -0
  197. package/plugin/__tests__/fixtures/app.json +24 -0
  198. package/plugin/__tests__/fixtures/package.json +19 -0
  199. package/plugin/__tests__/plugin.test.ts +96 -0
  200. package/plugin/build/index.d.ts +12 -0
  201. package/plugin/build/index.js +101 -0
  202. package/plugin/jest.config.js +1 -0
  203. package/plugin/src/index.ts +194 -0
  204. package/plugin/tsconfig.json +9 -0
  205. package/src/types/BannerAdProps.ts +1 -1
  206. package/src/version.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  import type * as React from 'react';
2
2
  import type { HostComponent, ViewProps } from 'react-native';
3
3
  import type { BubblingEventHandler, Float } from 'react-native/Libraries/Types/CodegenTypes';
4
- export declare type NativeEvent = {
4
+ export type NativeEvent = {
5
5
  type: string;
6
6
  width?: Float;
7
7
  height?: Float;
@@ -20,7 +20,7 @@ export interface NativeProps extends ViewProps {
20
20
  manualImpressionsEnabled: boolean;
21
21
  onNativeEvent: BubblingEventHandler<NativeEvent>;
22
22
  }
23
- export declare type ComponentType = HostComponent<NativeProps>;
23
+ export type ComponentType = HostComponent<NativeProps>;
24
24
  interface NativeCommands {
25
25
  recordManualImpression: (viewRef: React.ElementRef<ComponentType>) => void;
26
26
  load: (viewRef: React.ElementRef<ComponentType>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMobileAdsBannerViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/ads/GoogleMobileAdsBannerViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAI7F,oBAAY,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,EAAE,OAAO,CAAC;IAClC,aAAa,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;CAClD;AAED,oBAAY,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAEvD,UAAU,cAAc;IACtB,sBAAsB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC3E,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CAC1D;AAID,eAAO,MAAM,QAAQ,EAAE,cAErB,CAAC;;AAEH,wBAEgC"}
1
+ {"version":3,"file":"GoogleMobileAdsBannerViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/ads/GoogleMobileAdsBannerViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAI7F,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,EAAE,OAAO,CAAC;IAClC,aAAa,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAEvD,UAAU,cAAc;IACtB,sBAAsB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC3E,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CAC1D;AAID,eAAO,MAAM,QAAQ,EAAE,cAErB,CAAC;wBAIE,aAAa,CAAC,WAAW,CAAC;AAF/B,wBAEgC"}
@@ -9,9 +9,9 @@ import { MobileAdInterface } from '../types/MobileAd.interface';
9
9
  import { RewardedAdReward } from '../types/RewardedAdReward';
10
10
  import { GAMAdEventType } from '../GAMAdEventType';
11
11
  import { AppEvent } from '../types/AppEvent';
12
- declare type AdType = 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial';
13
- declare type NativeModule = 'RNGoogleMobileAdsAppOpenModule' | 'RNGoogleMobileAdsInterstitialModule' | 'RNGoogleMobileAdsRewardedModule' | 'RNGoogleMobileAdsRewardedInterstitialModule';
14
- declare type EventType = AdEventType | RewardedAdEventType | GAMAdEventType;
12
+ type AdType = 'app_open' | 'interstitial' | 'rewarded' | 'rewarded_interstitial';
13
+ type NativeModule = 'RNGoogleMobileAdsAppOpenModule' | 'RNGoogleMobileAdsInterstitialModule' | 'RNGoogleMobileAdsRewardedModule' | 'RNGoogleMobileAdsRewardedInterstitialModule';
14
+ type EventType = AdEventType | RewardedAdEventType | GAMAdEventType;
15
15
  export declare abstract class MobileAd implements MobileAdInterface {
16
16
  protected _type: AdType;
17
17
  protected _nativeModule: NativeModule;
@@ -1 +1 @@
1
- {"version":3,"file":"MobileAd.d.ts","sourceRoot":"","sources":["../../../src/ads/MobileAd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MobileAd.d.ts","sourceRoot":"","sources":["../../../src/ads/MobileAd.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const debounce: <Arguments extends unknown[], Result>(func: (...args: Arguments) => Result, waitFor: number) => (...args: Arguments) => void;
1
+ export declare const debounce: <Arguments extends unknown[], Result>(func: (...args: Arguments) => Result, waitFor: number) => ((...args: Arguments) => void);
2
2
  //# sourceMappingURL=debounce.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/common/debounce.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,uFAEV,MAAM,6BACW,IAW3B,CAAC"}
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/common/debounce.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM,QACpD,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,MAAM,WAC3B,MAAM,KACd,CAAC,CAAC,GAAG,IAAI,EAAE,SAAS,KAAK,IAAI,CAW/B,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * @param value
5
5
  * @returns {boolean}
6
6
  */
7
- export declare function isNull(value: unknown): boolean;
7
+ export declare function isNull(value: unknown): value is null;
8
8
  /**
9
9
  * Simple is object check.
10
10
  *
@@ -24,20 +24,20 @@ export declare function isFunction(value: unknown): boolean;
24
24
  * @param value
25
25
  * @return {boolean}
26
26
  */
27
- export declare function isString(value: unknown): boolean;
27
+ export declare function isString(value: unknown): value is string;
28
28
  /**
29
29
  * Simple is boolean check
30
30
  *
31
31
  * @param value
32
32
  * @return {boolean}
33
33
  */
34
- export declare function isBoolean(value: unknown): boolean;
34
+ export declare function isBoolean(value: unknown): value is boolean;
35
35
  /**
36
36
  *
37
37
  * @param value
38
38
  * @returns {arg is Array<unknown>}
39
39
  */
40
- export declare function isArray(value: unknown): boolean;
40
+ export declare function isArray(value: unknown): value is any[];
41
41
  /**
42
42
  *
43
43
  * @param value
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/common/validate.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,WAEpC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,WAEtC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,WAExC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,WAEtC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,WAEvC;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,WAErC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAQD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,WAErC;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAE,OAAO,EAAO,WAK5D"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/common/validate.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,iBAEpC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,WAEtC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,WAExC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,mBAEtC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,oBAEvC;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,kBAErC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAQD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,WAErC;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAE,OAAO,EAAO,WAK5D"}
@@ -1,4 +1,4 @@
1
- export declare const SDK_VERSION = "13.6.1";
1
+ export declare const SDK_VERSION = "14.0.1";
2
2
  export { default, MobileAds } from './MobileAds';
3
3
  export { AdsConsentDebugGeography } from './AdsConsentDebugGeography';
4
4
  export { AdsConsentPurposes } from './AdsConsentPurposes';
@@ -3,6 +3,6 @@ import { GAMAdEventType } from '../GAMAdEventType';
3
3
  import { RewardedAdEventType } from '../RewardedAdEventType';
4
4
  import { AppEvent } from './AppEvent';
5
5
  import { RewardedAdReward } from './RewardedAdReward';
6
- export declare type AdEventPayload<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = T extends AdEventType.ERROR ? Error : T extends RewardedAdEventType ? RewardedAdReward : T extends GAMAdEventType ? AppEvent : undefined;
7
- export declare type AdEventListener<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = (payload: AdEventPayload<T>) => void;
6
+ export type AdEventPayload<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = T extends AdEventType.ERROR ? Error : T extends RewardedAdEventType ? RewardedAdReward : T extends GAMAdEventType ? AppEvent : undefined;
7
+ export type AdEventListener<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = (payload: AdEventPayload<T>) => void;
8
8
  //# sourceMappingURL=AdEventListener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdEventListener.d.ts","sourceRoot":"","sources":["../../../src/types/AdEventListener.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,oBAAY,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,KAAK,IAC7F,CAAC,SAAS,WAAW,CAAC,KAAK,GACvB,KAAK,GACL,CAAC,SAAS,mBAAmB,GAC7B,gBAAgB,GAChB,CAAC,SAAS,cAAc,GACxB,QAAQ,GACR,SAAS,CAAC;AAEhB,oBAAY,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,KAAK,IAC9F,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"AdEventListener.d.ts","sourceRoot":"","sources":["../../../src/types/AdEventListener.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,KAAK,IAC7F,CAAC,SAAS,WAAW,CAAC,KAAK,GACvB,KAAK,GACL,CAAC,SAAS,mBAAmB,GAC7B,gBAAgB,GAChB,CAAC,SAAS,cAAc,GACxB,QAAQ,GACR,SAAS,CAAC;AAEhB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,KAAK,IAC9F,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
@@ -2,7 +2,7 @@ import { AdEventType } from '../AdEventType';
2
2
  import { GAMAdEventType } from '../GAMAdEventType';
3
3
  import { RewardedAdEventType } from '../RewardedAdEventType';
4
4
  import { AdEventPayload } from './AdEventListener';
5
- export declare type AdEventsListener<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = (eventInfo: {
5
+ export type AdEventsListener<T extends AdEventType | RewardedAdEventType | GAMAdEventType = never> = (eventInfo: {
6
6
  type: T;
7
7
  payload: AdEventPayload<T>;
8
8
  }) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"AdEventsListener.d.ts","sourceRoot":"","sources":["../../../src/types/AdEventsListener.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,oBAAY,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,KAAK,IAC/F,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;CAAE,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"AdEventsListener.d.ts","sourceRoot":"","sources":["../../../src/types/AdEventsListener.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,KAAK,IAC/F,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;CAAE,KAAK,IAAI,CAAC"}
@@ -11,7 +11,7 @@ export declare enum InitializationState {
11
11
  /**
12
12
  * An immutable snapshot of a mediation adapter's initialization status.
13
13
  */
14
- export declare type AdapterStatus = {
14
+ export type AdapterStatus = {
15
15
  name: string;
16
16
  description: string;
17
17
  state: InitializationState;
@@ -1 +1 @@
1
- {"version":3,"file":"AdapterStatus.d.ts","sourceRoot":"","sources":["../../../src/types/AdapterStatus.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B;;OAEG;IACH,kCAAkC,IAAI;IAEtC;;OAEG;IACH,+BAA+B,IAAI;CACpC;AAED;;GAEG;AACH,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,mBAAmB,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"AdapterStatus.d.ts","sourceRoot":"","sources":["../../../src/types/AdapterStatus.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B;;OAEG;IACH,kCAAkC,IAAI;IAEtC;;OAEG;IACH,+BAA+B,IAAI;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,mBAAmB,CAAC;CAC5B,CAAC"}
@@ -119,7 +119,7 @@ export interface GAMBannerAdProps extends Omit<BannerAdProps, 'size'> {
119
119
  *
120
120
  * Inventory must be available for the banner sizes specified, otherwise a no-fill error will be sent to `onAdFailedToLoad`.
121
121
  */
122
- sizes: typeof GAMBannerAdSize[keyof typeof GAMBannerAdSize][] | string[];
122
+ sizes: (typeof GAMBannerAdSize)[keyof typeof GAMBannerAdSize][] | string[];
123
123
  /**
124
124
  * Whether to enable the manual impression counting.
125
125
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BannerAdProps.d.ts","sourceRoot":"","sources":["../../../src/types/BannerAdProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAErE;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE1C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACxE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACnE;;;;OAIG;IACH,KAAK,EAAE,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC3C"}
1
+ {"version":3,"file":"BannerAdProps.d.ts","sourceRoot":"","sources":["../../../src/types/BannerAdProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAErE;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE1C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACxE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACnE;;;;OAIG;IACH,KAAK,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC3C"}
@@ -1,8 +1,8 @@
1
1
  import { RevenuePrecisions } from '../common/constants';
2
- export declare type PaidEvent = {
2
+ export type PaidEvent = {
3
3
  currency: string;
4
4
  precision: RevenuePrecisions;
5
5
  value: number;
6
6
  };
7
- export declare type PaidEventListener = (event: PaidEvent) => void;
7
+ export type PaidEventListener = (event: PaidEvent) => void;
8
8
  //# sourceMappingURL=PaidEventListener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaidEventListener.d.ts","sourceRoot":"","sources":["../../../src/types/PaidEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,oBAAY,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"PaidEventListener.d.ts","sourceRoot":"","sources":["../../../src/types/PaidEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Collapsible Placement.
3
3
  * The collapsible placement defines how the expanded region anchors to the banner ad.
4
4
  */
5
- export declare type CollapsiblePlacement = 'top' | 'bottom';
5
+ export type CollapsiblePlacement = 'top' | 'bottom';
6
6
  export interface ServerSideVerificationOptions {
7
7
  /**
8
8
  * User identifier.
@@ -1 +1 @@
1
- {"version":3,"file":"RequestOptions.d.ts","sourceRoot":"","sources":["../../../src/types/RequestOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,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;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAEvD;;;;;;;;;;;;;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;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAEvD;;;;;;;;;;;;;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,2 +1,2 @@
1
- export declare const version = "13.6.1";
1
+ export declare const version = "14.0.1";
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": "13.6.1",
3
+ "version": "14.0.1",
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",
@@ -30,9 +30,11 @@
30
30
  "/docs/",
31
31
  "/ios/",
32
32
  "/lib/",
33
+ "/plugin/",
33
34
  "/src/",
34
35
  "/docs.json",
35
36
  "/RNGoogleMobileAds.podspec",
37
+ "/app.plugin.js",
36
38
  "/babel.config.js",
37
39
  "/jest.config.js",
38
40
  "/jest.setup.ts",
@@ -63,9 +65,10 @@
63
65
  ]
64
66
  },
65
67
  "scripts": {
66
- "prepare": "yarn build",
68
+ "prepare": "yarn build && yarn build:plugin",
67
69
  "build": "genversion --es6 --semi src/version.ts && bob build",
68
- "build:clean": "rimraf android/build && rimraf ios/build && rimraf lib",
70
+ "build:clean": "rimraf android/build && rimraf ios/build && rimraf lib && rimraf plugin/build",
71
+ "build:plugin": "yarn tsc --build plugin",
69
72
  "lint:code": "yarn lint:js && yarn lint:android && yarn lint:ios:check",
70
73
  "lint:js": "eslint src/ --ext .js,.jsx,.ts,.tsx --max-warnings=0",
71
74
  "lint:android": "google-java-format --set-exit-if-changed --replace --glob=\"android/**/*.java\"",
@@ -136,6 +139,8 @@
136
139
  "eslint-plugin-mocha": "^10.1.0",
137
140
  "eslint-plugin-prettier": "^4.2.1",
138
141
  "eslint-plugin-react": "^7.31.10",
142
+ "expo": "^47.0.0",
143
+ "expo-module-scripts": "^3.5.2",
139
144
  "genversion": "^3.1.1",
140
145
  "google-java-format": "^1.1.0",
141
146
  "jest": "^29.2.2",
@@ -148,7 +153,15 @@
148
153
  "rimraf": "^3.0.2",
149
154
  "semantic-release": "^19.0.5",
150
155
  "spellchecker-cli": "^6.1.1",
151
- "typescript": "^4.8.4"
156
+ "typescript": "^5.5.3"
157
+ },
158
+ "peerDependencies": {
159
+ "expo": ">=47.0.0"
160
+ },
161
+ "peerDependenciesMeta": {
162
+ "expo": {
163
+ "optional": true
164
+ }
152
165
  },
153
166
  "publishConfig": {
154
167
  "access": "public"
@@ -0,0 +1,140 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Expo Config Plugin Tests Should modify AndroidManifest.xml 1`] = `
4
+ "<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example" xmlns:tools="http://schemas.android.com/tools">
5
+ <uses-permission android:name="android.permission.INTERNET"/>
6
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
7
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
8
+ <uses-permission android:name="android.permission.VIBRATE"/>
9
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
10
+ <queries>
11
+ <intent>
12
+ <action android:name="android.intent.action.VIEW"/>
13
+ <category android:name="android.intent.category.BROWSABLE"/>
14
+ <data android:scheme="https"/>
15
+ </intent>
16
+ </queries>
17
+ <application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="true" android:theme="@style/AppTheme" android:usesCleartextTraffic="true">
18
+ <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="TestAppId" tools:replace="android:value"/>
19
+ <meta-data android:name="com.google.android.gms.ads.DELAY_APP_MEASUREMENT_INIT" android:value="true" tools:replace="android:value"/>
20
+ <meta-data android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING" android:value="true" tools:replace="android:value"/>
21
+ <meta-data android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION" android:value="true" tools:replace="android:value"/>
22
+ <meta-data android:name="expo.modules.updates.ENABLED" android:value="true"/>
23
+ <meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="47.0.0"/>
24
+ <meta-data android:name="expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH" android:value="ALWAYS"/>
25
+ <meta-data android:name="expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS" android:value="0"/>
26
+ <meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://exp.host/@anonymous/example"/>
27
+ <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.App.SplashScreen" android:exported="true">
28
+ <intent-filter>
29
+ <action android:name="android.intent.action.MAIN"/>
30
+ <category android:name="android.intent.category.LAUNCHER"/>
31
+ </intent-filter>
32
+ <intent-filter>
33
+ <action android:name="android.intent.action.VIEW"/>
34
+ <category android:name="android.intent.category.DEFAULT"/>
35
+ <category android:name="android.intent.category.BROWSABLE"/>
36
+ <data android:scheme="com.example"/>
37
+ </intent-filter>
38
+ </activity>
39
+ <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false"/>
40
+ </application>
41
+ </manifest>"
42
+ `;
43
+
44
+ exports[`Expo Config Plugin Tests Should modify Info.plist 1`] = `
45
+ "<?xml version="1.0" encoding="UTF-8"?>
46
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
47
+ <plist version="1.0">
48
+ <dict>
49
+ <key>CFBundleDevelopmentRegion</key>
50
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
51
+ <key>CFBundleDisplayName</key>
52
+ <string>example</string>
53
+ <key>CFBundleExecutable</key>
54
+ <string>$(EXECUTABLE_NAME)</string>
55
+ <key>CFBundleIdentifier</key>
56
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
57
+ <key>CFBundleInfoDictionaryVersion</key>
58
+ <string>6.0</string>
59
+ <key>CFBundleName</key>
60
+ <string>$(PRODUCT_NAME)</string>
61
+ <key>CFBundlePackageType</key>
62
+ <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
63
+ <key>CFBundleShortVersionString</key>
64
+ <string>1.0.0</string>
65
+ <key>CFBundleSignature</key>
66
+ <string>????</string>
67
+ <key>CFBundleURLTypes</key>
68
+ <array>
69
+ <dict>
70
+ <key>CFBundleURLSchemes</key>
71
+ <array>
72
+ <string>com.example</string>
73
+ </array>
74
+ </dict>
75
+ </array>
76
+ <key>CFBundleVersion</key>
77
+ <string>1</string>
78
+ <key>GADApplicationIdentifier</key>
79
+ <string>TestIosId</string>
80
+ <key>GADDelayAppMeasurementInit</key>
81
+ <true/>
82
+ <key>LSRequiresIPhoneOS</key>
83
+ <true/>
84
+ <key>NSAppTransportSecurity</key>
85
+ <dict>
86
+ <key>NSAllowsArbitraryLoads</key>
87
+ <true/>
88
+ <key>NSExceptionDomains</key>
89
+ <dict>
90
+ <key>localhost</key>
91
+ <dict>
92
+ <key>NSExceptionAllowsInsecureHTTPLoads</key>
93
+ <true/>
94
+ </dict>
95
+ </dict>
96
+ </dict>
97
+ <key>NSUserTrackingUsageDescription</key>
98
+ <string>TestUserTrackingUsageDescription</string>
99
+ <key>SKAdNetworkItems</key>
100
+ <array>
101
+ <dict>
102
+ <key>SKAdNetworkIdentifier</key>
103
+ <string>TestSkAdNetworkItem1</string>
104
+ </dict>
105
+ <dict>
106
+ <key>SKAdNetworkIdentifier</key>
107
+ <string>TestSkAdNetworkItem2</string>
108
+ </dict>
109
+ </array>
110
+ <key>UILaunchStoryboardName</key>
111
+ <string>SplashScreen</string>
112
+ <key>UIRequiredDeviceCapabilities</key>
113
+ <array>
114
+ <string>armv7</string>
115
+ </array>
116
+ <key>UIRequiresFullScreen</key>
117
+ <false/>
118
+ <key>UIStatusBarStyle</key>
119
+ <string>UIStatusBarStyleDefault</string>
120
+ <key>UISupportedInterfaceOrientations</key>
121
+ <array>
122
+ <string>UIInterfaceOrientationPortrait</string>
123
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
124
+ <string>UIInterfaceOrientationLandscapeLeft</string>
125
+ <string>UIInterfaceOrientationLandscapeRight</string>
126
+ </array>
127
+ <key>UISupportedInterfaceOrientations~ipad</key>
128
+ <array>
129
+ <string>UIInterfaceOrientationPortrait</string>
130
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
131
+ <string>UIInterfaceOrientationLandscapeLeft</string>
132
+ <string>UIInterfaceOrientationLandscapeRight</string>
133
+ </array>
134
+ <key>UIUserInterfaceStyle</key>
135
+ <string>Light</string>
136
+ <key>UIViewControllerBasedStatusBarAppearance</key>
137
+ <false/>
138
+ </dict>
139
+ </plist>"
140
+ `;
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "example",
3
+ "slug": "example",
4
+ "android": {
5
+ "package": "com.example"
6
+ },
7
+ "ios": {
8
+ "bundleIdentifier": "com.example"
9
+ },
10
+ "plugins": [["../../build"]]
11
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "example",
3
+ "slug": "example",
4
+ "android": {
5
+ "package": "com.example"
6
+ },
7
+ "ios": {
8
+ "bundleIdentifier": "com.example"
9
+ },
10
+ "plugins": [
11
+ [
12
+ "../../build",
13
+ {
14
+ "androidAppId": "TestAppId",
15
+ "iosAppId": "TestIosId",
16
+ "delayAppMeasurementInit": true,
17
+ "optimizeInitialization": true,
18
+ "optimizeAdLoading": true,
19
+ "skAdNetworkItems": ["TestSkAdNetworkItem1", "TestSkAdNetworkItem2"],
20
+ "userTrackingUsageDescription": "TestUserTrackingUsageDescription"
21
+ }
22
+ ]
23
+ ]
24
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "example",
3
+ "version": "1.0.0",
4
+ "scripts": {
5
+ "start": "expo start --dev-client",
6
+ "android": "expo run:android",
7
+ "ios": "expo run:ios"
8
+ },
9
+ "devDependencies": {
10
+ "@babel/core": "^7.12.9"
11
+ },
12
+ "dependencies": {
13
+ "expo": "~47.0.14",
14
+ "expo-splash-screen": "~0.17.5",
15
+ "expo-status-bar": "~1.4.2",
16
+ "react": "18.1.0",
17
+ "react-native": "0.70.8"
18
+ }
19
+ }
@@ -0,0 +1,96 @@
1
+ import { exec } from 'child_process';
2
+ import path from 'path';
3
+ import fs from 'fs/promises';
4
+ import util from 'util';
5
+
6
+ const execAsync = util.promisify(exec);
7
+
8
+ describe('Expo Config Plugin Tests', () => {
9
+ const fixturesPath = path.join(__dirname, 'fixtures');
10
+ const testAppPath = path.join(__dirname, 'build');
11
+ const infoPlistPath = path.join(testAppPath, 'ios', 'example', 'Info.plist');
12
+ const androidManifestPath = path.join(
13
+ testAppPath,
14
+ 'android',
15
+ 'app',
16
+ 'src',
17
+ 'main',
18
+ 'AndroidManifest.xml',
19
+ );
20
+
21
+ beforeEach(async () => {
22
+ await fs.rm(testAppPath, { recursive: true, force: true });
23
+ await fs.mkdir(testAppPath);
24
+ await fs.copyFile(path.join(fixturesPath, 'app.json'), path.join(testAppPath, 'app.json'));
25
+ await fs.copyFile(
26
+ path.join(fixturesPath, 'package.json'),
27
+ path.join(testAppPath, 'package.json'),
28
+ );
29
+ });
30
+
31
+ it('Technically requires no parameters', async () => {
32
+ await execAsync(`yarn expo prebuild --no-install ${testAppPath}`);
33
+ });
34
+
35
+ it('Warns about missing androidAppId', async () => {
36
+ await fs.copyFile(
37
+ path.join(fixturesPath, 'app-without-params.json'),
38
+ path.join(testAppPath, 'app.json'),
39
+ );
40
+
41
+ const { stderr } = await execAsync(`yarn expo prebuild --no-install ${testAppPath}`);
42
+ expect(stderr).toMatch(/No 'androidAppId' was provided/);
43
+ });
44
+
45
+ it('Warns about missing iosAppId', async () => {
46
+ await fs.copyFile(
47
+ path.join(fixturesPath, 'app-without-params.json'),
48
+ path.join(testAppPath, 'app.json'),
49
+ );
50
+
51
+ const { stderr } = await execAsync(`yarn expo prebuild --no-install ${testAppPath}`);
52
+ expect(stderr).toMatch(/No 'iosAppId' was provided/);
53
+ });
54
+
55
+ it('Optimizes initialization on Android by default', async () => {
56
+ await fs.copyFile(
57
+ path.join(fixturesPath, 'app-without-params.json'),
58
+ path.join(testAppPath, 'app.json'),
59
+ );
60
+
61
+ await execAsync(`yarn expo prebuild --no-install ${testAppPath}`);
62
+
63
+ const androidManifest = await fs.readFile(androidManifestPath, 'utf8');
64
+ expect(androidManifest).toContain(
65
+ '<meta-data android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION" android:value="true" tools:replace="android:value"/>',
66
+ );
67
+ });
68
+
69
+ it('Optimizes ad loading on Android by default', async () => {
70
+ await fs.copyFile(
71
+ path.join(fixturesPath, 'app-without-params.json'),
72
+ path.join(testAppPath, 'app.json'),
73
+ );
74
+
75
+ await execAsync(`yarn expo prebuild --no-install ${testAppPath}`);
76
+
77
+ const androidManifest = await fs.readFile(androidManifestPath, 'utf8');
78
+ expect(androidManifest).toContain(
79
+ '<meta-data android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING" android:value="true" tools:replace="android:value"/>',
80
+ );
81
+ });
82
+
83
+ it('Should modify AndroidManifest.xml', async () => {
84
+ await execAsync(`yarn expo prebuild --no-install ${testAppPath}`);
85
+
86
+ const androidManifest = await fs.readFile(androidManifestPath, 'utf8');
87
+ expect(androidManifest).toMatchSnapshot();
88
+ });
89
+
90
+ it('Should modify Info.plist', async () => {
91
+ await execAsync(`yarn expo prebuild --no-install ${testAppPath}`);
92
+
93
+ const infoPlist = await fs.readFile(infoPlistPath, 'utf8');
94
+ expect(infoPlist).toMatchSnapshot();
95
+ });
96
+ });
@@ -0,0 +1,12 @@
1
+ import { ConfigPlugin } from '@expo/config-plugins';
2
+ type PluginParameters = {
3
+ androidAppId?: string;
4
+ iosAppId?: string;
5
+ delayAppMeasurementInit?: boolean;
6
+ optimizeInitialization?: boolean;
7
+ optimizeAdLoading?: boolean;
8
+ skAdNetworkItems?: string[];
9
+ userTrackingUsageDescription?: string;
10
+ };
11
+ declare const withReactNativeGoogleMobileAds: ConfigPlugin<PluginParameters>;
12
+ export default withReactNativeGoogleMobileAds;