@javascriptcommon/react-native-google-mobile-ads 16.3.3

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 (626) hide show
  1. package/LICENSE +32 -0
  2. package/README.md +181 -0
  3. package/RNGoogleMobileAds.podspec +74 -0
  4. package/__tests__/banner.test.tsx +53 -0
  5. package/__tests__/consent.test.ts +33 -0
  6. package/__tests__/googleMobileAds.test.ts +108 -0
  7. package/__tests__/interstitial.test.ts +140 -0
  8. package/__tests__/nativeEventEmitter.test.ts +72 -0
  9. package/__tests__/requestOptions.test.tsx +82 -0
  10. package/__tests__/rewarded.test.tsx +4 -0
  11. package/__tests__/showOptions.test.tsx +4 -0
  12. package/android/.editorconfig +10 -0
  13. package/android/app-json.gradle +69 -0
  14. package/android/build.gradle +149 -0
  15. package/android/lint.xml +5 -0
  16. package/android/settings.gradle +1 -0
  17. package/android/src/main/AndroidManifest.xml +23 -0
  18. package/android/src/main/java/io/invertase/googlemobileads/OnNativeEvent.kt +23 -0
  19. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeAppModule.java +152 -0
  20. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsAppOpenModule.kt +92 -0
  21. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java +303 -0
  22. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java +277 -0
  23. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsConsentModule.java +293 -0
  24. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsEvent.java +76 -0
  25. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsFullScreenAdModule.kt +201 -0
  26. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsInterstitialModule.kt +92 -0
  27. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsMediaViewManager.java +79 -0
  28. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsModule.kt +178 -0
  29. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsNativeAdViewManager.java +164 -0
  30. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsNativeModule.kt +172 -0
  31. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsPackage.kt +113 -0
  32. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsRewardedInterstitialModule.kt +127 -0
  33. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsRewardedModule.kt +121 -0
  34. package/android/src/main/java/io/invertase/googlemobileads/common/RCTConvert.java +111 -0
  35. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeAdView.java +128 -0
  36. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeApp.java +34 -0
  37. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeEvent.java +41 -0
  38. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeEventEmitter.java +150 -0
  39. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeInitProvider.java +77 -0
  40. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeJSON.java +107 -0
  41. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeMeta.java +92 -0
  42. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeModule.java +96 -0
  43. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativePreferences.java +86 -0
  44. package/android/src/main/java/io/invertase/googlemobileads/common/SharedUtils.java +429 -0
  45. package/android/src/main/java/io/invertase/googlemobileads/common/TaskExecutorService.java +124 -0
  46. package/android/src/main/java/io/invertase/googlemobileads/interfaces/ContextProvider.java +30 -0
  47. package/android/src/main/java/io/invertase/googlemobileads/interfaces/NativeError.java +28 -0
  48. package/android/src/main/java/io/invertase/googlemobileads/interfaces/NativeEvent.java +26 -0
  49. package/android/src/oldarch/com/facebook/react/viewmanagers/RNGoogleMobileAdsMediaViewManagerDelegate.java +32 -0
  50. package/android/src/oldarch/com/facebook/react/viewmanagers/RNGoogleMobileAdsMediaViewManagerInterface.java +10 -0
  51. package/android/src/oldarch/com/facebook/react/viewmanagers/RNGoogleMobileAdsNativeViewManagerDelegate.java +36 -0
  52. package/android/src/oldarch/com/facebook/react/viewmanagers/RNGoogleMobileAdsNativeViewManagerInterface.java +10 -0
  53. package/android/src/oldarch/io/invertase/googlemobileads/NativeGoogleMobileAdsNativeModuleSpec.kt +18 -0
  54. package/app.plugin.js +1 -0
  55. package/babel.config.js +8 -0
  56. package/docs/ad-inspector.mdx +47 -0
  57. package/docs/common-reasons-for-ads-not-showing.mdx +111 -0
  58. package/docs/displaying-ads-hook.mdx +103 -0
  59. package/docs/displaying-ads.mdx +512 -0
  60. package/docs/european-user-consent.mdx +315 -0
  61. package/docs/img/logo_admob_192px.svg +19 -0
  62. package/docs/impression-level-ad-revenue.mdx +41 -0
  63. package/docs/index.mdx +508 -0
  64. package/docs/mediation.mdx +323 -0
  65. package/docs/migrating-to-v15.mdx +7 -0
  66. package/docs/migrating-to-v5.mdx +63 -0
  67. package/docs/migrating-to-v6.mdx +111 -0
  68. package/docs/native-ads.mdx +385 -0
  69. package/docs/testing.mdx +17 -0
  70. package/docs/video-ad_volume-control.mdx +49 -0
  71. package/docs.json +36 -0
  72. package/ios/RNGoogleMobileAds/RNGoogleMobileAds-Bridging-Header.h +5 -0
  73. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.h +36 -0
  74. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.mm +104 -0
  75. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.h +44 -0
  76. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.m +221 -0
  77. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.h +34 -0
  78. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.mm +282 -0
  79. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.mm +87 -0
  80. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.h +72 -0
  81. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm +248 -0
  82. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsConsentModule.h +36 -0
  83. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsConsentModule.mm +356 -0
  84. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenAd.h +53 -0
  85. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenAd.mm +220 -0
  86. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenContentDelegate.h +36 -0
  87. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenContentDelegate.mm +80 -0
  88. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.h +36 -0
  89. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.mm +106 -0
  90. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsMediaView.h +52 -0
  91. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsMediaView.mm +155 -0
  92. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.h +32 -0
  93. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.mm +180 -0
  94. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsNativeModule.h +35 -0
  95. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsNativeModule.mm +321 -0
  96. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsNativeView.h +51 -0
  97. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsNativeView.mm +251 -0
  98. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.h +37 -0
  99. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedInterstitialModule.mm +106 -0
  100. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.h +36 -0
  101. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.mm +104 -0
  102. package/ios/RNGoogleMobileAds/common/RNAppModule.h +24 -0
  103. package/ios/RNGoogleMobileAds/common/RNAppModule.mm +95 -0
  104. package/ios/RNGoogleMobileAds/common/RNRCTEventEmitter.h +73 -0
  105. package/ios/RNGoogleMobileAds/common/RNRCTEventEmitter.mm +150 -0
  106. package/ios/RNGoogleMobileAds/common/RNSharedUtils.h +43 -0
  107. package/ios/RNGoogleMobileAds/common/RNSharedUtils.mm +34 -0
  108. package/ios/RNGoogleMobileAds.xcodeproj/project.pbxproj +377 -0
  109. package/ios/RNGoogleMobileAds.xcodeproj/xcshareddata/IDETemplateMacros.plist +24 -0
  110. package/ios_config.sh +192 -0
  111. package/jest.config.js +7 -0
  112. package/jest.setup.ts +92 -0
  113. package/lib/commonjs/AdEventType.js +72 -0
  114. package/lib/commonjs/AdEventType.js.map +1 -0
  115. package/lib/commonjs/AdsConsent.js +117 -0
  116. package/lib/commonjs/AdsConsent.js.map +1 -0
  117. package/lib/commonjs/AdsConsentPurposes.js +180 -0
  118. package/lib/commonjs/AdsConsentPurposes.js.map +1 -0
  119. package/lib/commonjs/AdsConsentSpecialFeatures.js +54 -0
  120. package/lib/commonjs/AdsConsentSpecialFeatures.js.map +1 -0
  121. package/lib/commonjs/BannerAdSize.js +75 -0
  122. package/lib/commonjs/BannerAdSize.js.map +1 -0
  123. package/lib/commonjs/GAMAdEventType.js +44 -0
  124. package/lib/commonjs/GAMAdEventType.js.map +1 -0
  125. package/lib/commonjs/MaxAdContentRating.js +42 -0
  126. package/lib/commonjs/MaxAdContentRating.js.map +1 -0
  127. package/lib/commonjs/MobileAds.js +63 -0
  128. package/lib/commonjs/MobileAds.js.map +1 -0
  129. package/lib/commonjs/NativeAdEventType.js +50 -0
  130. package/lib/commonjs/NativeAdEventType.js.map +1 -0
  131. package/lib/commonjs/RewardedAdEventType.js +66 -0
  132. package/lib/commonjs/RewardedAdEventType.js.map +1 -0
  133. package/lib/commonjs/TestIds.js +66 -0
  134. package/lib/commonjs/TestIds.js.map +1 -0
  135. package/lib/commonjs/ads/AppOpenAd.js +54 -0
  136. package/lib/commonjs/ads/AppOpenAd.js.map +1 -0
  137. package/lib/commonjs/ads/BannerAd.js +45 -0
  138. package/lib/commonjs/ads/BannerAd.js.map +1 -0
  139. package/lib/commonjs/ads/BaseAd.js +155 -0
  140. package/lib/commonjs/ads/BaseAd.js.map +1 -0
  141. package/lib/commonjs/ads/GAMBannerAd.js +49 -0
  142. package/lib/commonjs/ads/GAMBannerAd.js.map +1 -0
  143. package/lib/commonjs/ads/GAMInterstitialAd.js +42 -0
  144. package/lib/commonjs/ads/GAMInterstitialAd.js.map +1 -0
  145. package/lib/commonjs/ads/InterstitialAd.js +115 -0
  146. package/lib/commonjs/ads/InterstitialAd.js.map +1 -0
  147. package/lib/commonjs/ads/MobileAd.js +153 -0
  148. package/lib/commonjs/ads/MobileAd.js.map +1 -0
  149. package/lib/commonjs/ads/RewardedAd.js +128 -0
  150. package/lib/commonjs/ads/RewardedAd.js.map +1 -0
  151. package/lib/commonjs/ads/RewardedInterstitialAd.js +128 -0
  152. package/lib/commonjs/ads/RewardedInterstitialAd.js.map +1 -0
  153. package/lib/commonjs/ads/native-ad/NativeAd.js +123 -0
  154. package/lib/commonjs/ads/native-ad/NativeAd.js.map +1 -0
  155. package/lib/commonjs/ads/native-ad/NativeAdContext.js +26 -0
  156. package/lib/commonjs/ads/native-ad/NativeAdContext.js.map +1 -0
  157. package/lib/commonjs/ads/native-ad/NativeAdView.js +52 -0
  158. package/lib/commonjs/ads/native-ad/NativeAdView.js.map +1 -0
  159. package/lib/commonjs/ads/native-ad/NativeAsset.js +70 -0
  160. package/lib/commonjs/ads/native-ad/NativeAsset.js.map +1 -0
  161. package/lib/commonjs/ads/native-ad/NativeMediaView.js +61 -0
  162. package/lib/commonjs/ads/native-ad/NativeMediaView.js.map +1 -0
  163. package/lib/commonjs/common/constants.js +17 -0
  164. package/lib/commonjs/common/constants.js.map +1 -0
  165. package/lib/commonjs/common/debounce.js +18 -0
  166. package/lib/commonjs/common/debounce.js.map +1 -0
  167. package/lib/commonjs/common/index.js +47 -0
  168. package/lib/commonjs/common/index.js.map +1 -0
  169. package/lib/commonjs/common/ref.js +46 -0
  170. package/lib/commonjs/common/ref.js.map +1 -0
  171. package/lib/commonjs/common/validate.js +132 -0
  172. package/lib/commonjs/common/validate.js.map +1 -0
  173. package/lib/commonjs/declarations.d.js +2 -0
  174. package/lib/commonjs/declarations.d.js.map +1 -0
  175. package/lib/commonjs/hooks/useAppOpenAd.js +44 -0
  176. package/lib/commonjs/hooks/useAppOpenAd.js.map +1 -0
  177. package/lib/commonjs/hooks/useForeground.js +45 -0
  178. package/lib/commonjs/hooks/useForeground.js.map +1 -0
  179. package/lib/commonjs/hooks/useFullScreenAd.js +121 -0
  180. package/lib/commonjs/hooks/useFullScreenAd.js.map +1 -0
  181. package/lib/commonjs/hooks/useInterstitialAd.js +44 -0
  182. package/lib/commonjs/hooks/useInterstitialAd.js.map +1 -0
  183. package/lib/commonjs/hooks/useRewardedAd.js +44 -0
  184. package/lib/commonjs/hooks/useRewardedAd.js.map +1 -0
  185. package/lib/commonjs/hooks/useRewardedInterstitialAd.js +44 -0
  186. package/lib/commonjs/hooks/useRewardedInterstitialAd.js.map +1 -0
  187. package/lib/commonjs/index.js +337 -0
  188. package/lib/commonjs/index.js.map +1 -0
  189. package/lib/commonjs/internal/GoogleMobileAdsNativeEventEmitter.js +54 -0
  190. package/lib/commonjs/internal/GoogleMobileAdsNativeEventEmitter.js.map +1 -0
  191. package/lib/commonjs/internal/NativeError.js +53 -0
  192. package/lib/commonjs/internal/NativeError.js.map +1 -0
  193. package/lib/commonjs/internal/SharedEventEmitter.js +27 -0
  194. package/lib/commonjs/internal/SharedEventEmitter.js.map +1 -0
  195. package/lib/commonjs/package.json +1 -0
  196. package/lib/commonjs/specs/components/GoogleMobileAdsBannerViewNativeComponent.ts +62 -0
  197. package/lib/commonjs/specs/components/GoogleMobileAdsMediaViewNativeComponent.ts +30 -0
  198. package/lib/commonjs/specs/components/GoogleMobileAdsNativeViewNativeComponent.ts +45 -0
  199. package/lib/commonjs/specs/modules/NativeAppModule.js +24 -0
  200. package/lib/commonjs/specs/modules/NativeAppModule.js.map +1 -0
  201. package/lib/commonjs/specs/modules/NativeAppOpenModule.js +25 -0
  202. package/lib/commonjs/specs/modules/NativeAppOpenModule.js.map +1 -0
  203. package/lib/commonjs/specs/modules/NativeConsentModule.js +105 -0
  204. package/lib/commonjs/specs/modules/NativeConsentModule.js.map +1 -0
  205. package/lib/commonjs/specs/modules/NativeGoogleMobileAdsModule.js +25 -0
  206. package/lib/commonjs/specs/modules/NativeGoogleMobileAdsModule.js.map +1 -0
  207. package/lib/commonjs/specs/modules/NativeGoogleMobileAdsNativeModule.js +25 -0
  208. package/lib/commonjs/specs/modules/NativeGoogleMobileAdsNativeModule.js.map +1 -0
  209. package/lib/commonjs/specs/modules/NativeInterstitialModule.js +25 -0
  210. package/lib/commonjs/specs/modules/NativeInterstitialModule.js.map +1 -0
  211. package/lib/commonjs/specs/modules/NativeRewardedInterstitialModule.js +25 -0
  212. package/lib/commonjs/specs/modules/NativeRewardedInterstitialModule.js.map +1 -0
  213. package/lib/commonjs/specs/modules/NativeRewardedModule.js +25 -0
  214. package/lib/commonjs/specs/modules/NativeRewardedModule.js.map +1 -0
  215. package/lib/commonjs/types/AdEventListener.js +6 -0
  216. package/lib/commonjs/types/AdEventListener.js.map +1 -0
  217. package/lib/commonjs/types/AdEventsListener.js +6 -0
  218. package/lib/commonjs/types/AdEventsListener.js.map +1 -0
  219. package/lib/commonjs/types/AdShowOptions.js +2 -0
  220. package/lib/commonjs/types/AdShowOptions.js.map +1 -0
  221. package/lib/commonjs/types/AdStates.js +6 -0
  222. package/lib/commonjs/types/AdStates.js.map +1 -0
  223. package/lib/commonjs/types/AdapterStatus.js +21 -0
  224. package/lib/commonjs/types/AdapterStatus.js.map +1 -0
  225. package/lib/commonjs/types/AppEvent.js +2 -0
  226. package/lib/commonjs/types/AppEvent.js.map +1 -0
  227. package/lib/commonjs/types/BannerAdProps.js +6 -0
  228. package/lib/commonjs/types/BannerAdProps.js.map +1 -0
  229. package/lib/commonjs/types/MobileAd.interface.js +6 -0
  230. package/lib/commonjs/types/MobileAd.interface.js.map +1 -0
  231. package/lib/commonjs/types/MobileAdsModule.interface.js +6 -0
  232. package/lib/commonjs/types/MobileAdsModule.interface.js.map +1 -0
  233. package/lib/commonjs/types/NativeAdRequestOptions.js +37 -0
  234. package/lib/commonjs/types/NativeAdRequestOptions.js.map +1 -0
  235. package/lib/commonjs/types/PaidEventListener.js +6 -0
  236. package/lib/commonjs/types/PaidEventListener.js.map +1 -0
  237. package/lib/commonjs/types/RequestConfiguration.js +6 -0
  238. package/lib/commonjs/types/RequestConfiguration.js.map +1 -0
  239. package/lib/commonjs/types/RequestOptions.js +2 -0
  240. package/lib/commonjs/types/RequestOptions.js.map +1 -0
  241. package/lib/commonjs/types/RewardedAdReward.js +2 -0
  242. package/lib/commonjs/types/RewardedAdReward.js.map +1 -0
  243. package/lib/commonjs/types/index.js +138 -0
  244. package/lib/commonjs/types/index.js.map +1 -0
  245. package/lib/commonjs/validateAdRequestConfiguration.js +57 -0
  246. package/lib/commonjs/validateAdRequestConfiguration.js.map +1 -0
  247. package/lib/commonjs/validateAdRequestOptions.js +121 -0
  248. package/lib/commonjs/validateAdRequestOptions.js.map +1 -0
  249. package/lib/commonjs/validateAdShowOptions.js +41 -0
  250. package/lib/commonjs/validateAdShowOptions.js.map +1 -0
  251. package/lib/commonjs/validateNativeAdRequestOptions.js +51 -0
  252. package/lib/commonjs/validateNativeAdRequestOptions.js.map +1 -0
  253. package/lib/commonjs/version.js +9 -0
  254. package/lib/commonjs/version.js.map +1 -0
  255. package/lib/module/AdEventType.js +69 -0
  256. package/lib/module/AdEventType.js.map +1 -0
  257. package/lib/module/AdsConsent.js +113 -0
  258. package/lib/module/AdsConsent.js.map +1 -0
  259. package/lib/module/AdsConsentPurposes.js +177 -0
  260. package/lib/module/AdsConsentPurposes.js.map +1 -0
  261. package/lib/module/AdsConsentSpecialFeatures.js +51 -0
  262. package/lib/module/AdsConsentSpecialFeatures.js.map +1 -0
  263. package/lib/module/BannerAdSize.js +72 -0
  264. package/lib/module/BannerAdSize.js.map +1 -0
  265. package/lib/module/GAMAdEventType.js +41 -0
  266. package/lib/module/GAMAdEventType.js.map +1 -0
  267. package/lib/module/MaxAdContentRating.js +39 -0
  268. package/lib/module/MaxAdContentRating.js.map +1 -0
  269. package/lib/module/MobileAds.js +57 -0
  270. package/lib/module/MobileAds.js.map +1 -0
  271. package/lib/module/NativeAdEventType.js +46 -0
  272. package/lib/module/NativeAdEventType.js.map +1 -0
  273. package/lib/module/RewardedAdEventType.js +63 -0
  274. package/lib/module/RewardedAdEventType.js.map +1 -0
  275. package/lib/module/TestIds.js +62 -0
  276. package/lib/module/TestIds.js.map +1 -0
  277. package/lib/module/ads/AppOpenAd.js +48 -0
  278. package/lib/module/ads/AppOpenAd.js.map +1 -0
  279. package/lib/module/ads/BannerAd.js +39 -0
  280. package/lib/module/ads/BannerAd.js.map +1 -0
  281. package/lib/module/ads/BaseAd.js +149 -0
  282. package/lib/module/ads/BaseAd.js.map +1 -0
  283. package/lib/module/ads/GAMBannerAd.js +43 -0
  284. package/lib/module/ads/GAMBannerAd.js.map +1 -0
  285. package/lib/module/ads/GAMInterstitialAd.js +37 -0
  286. package/lib/module/ads/GAMInterstitialAd.js.map +1 -0
  287. package/lib/module/ads/InterstitialAd.js +110 -0
  288. package/lib/module/ads/InterstitialAd.js.map +1 -0
  289. package/lib/module/ads/MobileAd.js +148 -0
  290. package/lib/module/ads/MobileAd.js.map +1 -0
  291. package/lib/module/ads/RewardedAd.js +123 -0
  292. package/lib/module/ads/RewardedAd.js.map +1 -0
  293. package/lib/module/ads/RewardedInterstitialAd.js +123 -0
  294. package/lib/module/ads/RewardedInterstitialAd.js.map +1 -0
  295. package/lib/module/ads/native-ad/NativeAd.js +117 -0
  296. package/lib/module/ads/native-ad/NativeAd.js.map +1 -0
  297. package/lib/module/ads/native-ad/NativeAdContext.js +22 -0
  298. package/lib/module/ads/native-ad/NativeAdContext.js.map +1 -0
  299. package/lib/module/ads/native-ad/NativeAdView.js +45 -0
  300. package/lib/module/ads/native-ad/NativeAdView.js.map +1 -0
  301. package/lib/module/ads/native-ad/NativeAsset.js +65 -0
  302. package/lib/module/ads/native-ad/NativeAsset.js.map +1 -0
  303. package/lib/module/ads/native-ad/NativeMediaView.js +54 -0
  304. package/lib/module/ads/native-ad/NativeMediaView.js.map +1 -0
  305. package/lib/module/common/constants.js +13 -0
  306. package/lib/module/common/constants.js.map +1 -0
  307. package/lib/module/common/debounce.js +13 -0
  308. package/lib/module/common/debounce.js.map +1 -0
  309. package/lib/module/common/index.js +28 -0
  310. package/lib/module/common/index.js.map +1 -0
  311. package/lib/module/common/ref.js +41 -0
  312. package/lib/module/common/ref.js.map +1 -0
  313. package/lib/module/common/validate.js +119 -0
  314. package/lib/module/common/validate.js.map +1 -0
  315. package/lib/module/declarations.d.js +2 -0
  316. package/lib/module/declarations.d.js.map +1 -0
  317. package/lib/module/hooks/useAppOpenAd.js +40 -0
  318. package/lib/module/hooks/useAppOpenAd.js.map +1 -0
  319. package/lib/module/hooks/useForeground.js +42 -0
  320. package/lib/module/hooks/useForeground.js.map +1 -0
  321. package/lib/module/hooks/useFullScreenAd.js +117 -0
  322. package/lib/module/hooks/useFullScreenAd.js.map +1 -0
  323. package/lib/module/hooks/useInterstitialAd.js +40 -0
  324. package/lib/module/hooks/useInterstitialAd.js.map +1 -0
  325. package/lib/module/hooks/useRewardedAd.js +40 -0
  326. package/lib/module/hooks/useRewardedAd.js.map +1 -0
  327. package/lib/module/hooks/useRewardedInterstitialAd.js +40 -0
  328. package/lib/module/hooks/useRewardedInterstitialAd.js.map +1 -0
  329. package/lib/module/index.js +54 -0
  330. package/lib/module/index.js.map +1 -0
  331. package/lib/module/internal/GoogleMobileAdsNativeEventEmitter.js +49 -0
  332. package/lib/module/internal/GoogleMobileAdsNativeEventEmitter.js.map +1 -0
  333. package/lib/module/internal/NativeError.js +48 -0
  334. package/lib/module/internal/NativeError.js.map +1 -0
  335. package/lib/module/internal/SharedEventEmitter.js +22 -0
  336. package/lib/module/internal/SharedEventEmitter.js.map +1 -0
  337. package/lib/module/specs/components/GoogleMobileAdsBannerViewNativeComponent.ts +62 -0
  338. package/lib/module/specs/components/GoogleMobileAdsMediaViewNativeComponent.ts +30 -0
  339. package/lib/module/specs/components/GoogleMobileAdsNativeViewNativeComponent.ts +45 -0
  340. package/lib/module/specs/modules/NativeAppModule.js +21 -0
  341. package/lib/module/specs/modules/NativeAppModule.js.map +1 -0
  342. package/lib/module/specs/modules/NativeAppOpenModule.js +22 -0
  343. package/lib/module/specs/modules/NativeAppOpenModule.js.map +1 -0
  344. package/lib/module/specs/modules/NativeConsentModule.js +108 -0
  345. package/lib/module/specs/modules/NativeConsentModule.js.map +1 -0
  346. package/lib/module/specs/modules/NativeGoogleMobileAdsModule.js +22 -0
  347. package/lib/module/specs/modules/NativeGoogleMobileAdsModule.js.map +1 -0
  348. package/lib/module/specs/modules/NativeGoogleMobileAdsNativeModule.js +22 -0
  349. package/lib/module/specs/modules/NativeGoogleMobileAdsNativeModule.js.map +1 -0
  350. package/lib/module/specs/modules/NativeInterstitialModule.js +22 -0
  351. package/lib/module/specs/modules/NativeInterstitialModule.js.map +1 -0
  352. package/lib/module/specs/modules/NativeRewardedInterstitialModule.js +22 -0
  353. package/lib/module/specs/modules/NativeRewardedInterstitialModule.js.map +1 -0
  354. package/lib/module/specs/modules/NativeRewardedModule.js +22 -0
  355. package/lib/module/specs/modules/NativeRewardedModule.js.map +1 -0
  356. package/lib/module/types/AdEventListener.js +4 -0
  357. package/lib/module/types/AdEventListener.js.map +1 -0
  358. package/lib/module/types/AdEventsListener.js +4 -0
  359. package/lib/module/types/AdEventsListener.js.map +1 -0
  360. package/lib/module/types/AdShowOptions.js +2 -0
  361. package/lib/module/types/AdShowOptions.js.map +1 -0
  362. package/lib/module/types/AdStates.js +4 -0
  363. package/lib/module/types/AdStates.js.map +1 -0
  364. package/lib/module/types/AdapterStatus.js +18 -0
  365. package/lib/module/types/AdapterStatus.js.map +1 -0
  366. package/lib/module/types/AppEvent.js +2 -0
  367. package/lib/module/types/AppEvent.js.map +1 -0
  368. package/lib/module/types/BannerAdProps.js +4 -0
  369. package/lib/module/types/BannerAdProps.js.map +1 -0
  370. package/lib/module/types/MobileAd.interface.js +4 -0
  371. package/lib/module/types/MobileAd.interface.js.map +1 -0
  372. package/lib/module/types/MobileAdsModule.interface.js +4 -0
  373. package/lib/module/types/MobileAdsModule.interface.js.map +1 -0
  374. package/lib/module/types/NativeAdRequestOptions.js +34 -0
  375. package/lib/module/types/NativeAdRequestOptions.js.map +1 -0
  376. package/lib/module/types/PaidEventListener.js +4 -0
  377. package/lib/module/types/PaidEventListener.js.map +1 -0
  378. package/lib/module/types/RequestConfiguration.js +4 -0
  379. package/lib/module/types/RequestConfiguration.js.map +1 -0
  380. package/lib/module/types/RequestOptions.js +2 -0
  381. package/lib/module/types/RequestOptions.js.map +1 -0
  382. package/lib/module/types/RewardedAdReward.js +2 -0
  383. package/lib/module/types/RewardedAdReward.js.map +1 -0
  384. package/lib/module/types/index.js +32 -0
  385. package/lib/module/types/index.js.map +1 -0
  386. package/lib/module/validateAdRequestConfiguration.js +53 -0
  387. package/lib/module/validateAdRequestConfiguration.js.map +1 -0
  388. package/lib/module/validateAdRequestOptions.js +117 -0
  389. package/lib/module/validateAdRequestOptions.js.map +1 -0
  390. package/lib/module/validateAdShowOptions.js +37 -0
  391. package/lib/module/validateAdShowOptions.js.map +1 -0
  392. package/lib/module/validateNativeAdRequestOptions.js +47 -0
  393. package/lib/module/validateNativeAdRequestOptions.js.map +1 -0
  394. package/lib/module/version.js +5 -0
  395. package/lib/module/version.js.map +1 -0
  396. package/lib/typescript/AdEventType.d.ts +49 -0
  397. package/lib/typescript/AdEventType.d.ts.map +1 -0
  398. package/lib/typescript/AdsConsent.d.ts +3 -0
  399. package/lib/typescript/AdsConsent.d.ts.map +1 -0
  400. package/lib/typescript/AdsConsentPurposes.d.ts +149 -0
  401. package/lib/typescript/AdsConsentPurposes.d.ts.map +1 -0
  402. package/lib/typescript/AdsConsentSpecialFeatures.d.ts +23 -0
  403. package/lib/typescript/AdsConsentSpecialFeatures.d.ts.map +1 -0
  404. package/lib/typescript/BannerAdSize.d.ts +91 -0
  405. package/lib/typescript/BannerAdSize.d.ts.map +1 -0
  406. package/lib/typescript/GAMAdEventType.d.ts +21 -0
  407. package/lib/typescript/GAMAdEventType.d.ts.map +1 -0
  408. package/lib/typescript/MaxAdContentRating.d.ts +19 -0
  409. package/lib/typescript/MaxAdContentRating.d.ts.map +1 -0
  410. package/lib/typescript/MobileAds.d.ts +15 -0
  411. package/lib/typescript/MobileAds.d.ts.map +1 -0
  412. package/lib/typescript/NativeAdEventType.d.ts +43 -0
  413. package/lib/typescript/NativeAdEventType.d.ts.map +1 -0
  414. package/lib/typescript/RewardedAdEventType.d.ts +43 -0
  415. package/lib/typescript/RewardedAdEventType.d.ts.map +1 -0
  416. package/lib/typescript/TestIds.d.ts +19 -0
  417. package/lib/typescript/TestIds.d.ts.map +1 -0
  418. package/lib/typescript/ads/AppOpenAd.d.ts +12 -0
  419. package/lib/typescript/ads/AppOpenAd.d.ts.map +1 -0
  420. package/lib/typescript/ads/BannerAd.d.ts +8 -0
  421. package/lib/typescript/ads/BannerAd.d.ts.map +1 -0
  422. package/lib/typescript/ads/BaseAd.d.ts +4 -0
  423. package/lib/typescript/ads/BaseAd.d.ts.map +1 -0
  424. package/lib/typescript/ads/GAMBannerAd.d.ts +9 -0
  425. package/lib/typescript/ads/GAMBannerAd.d.ts.map +1 -0
  426. package/lib/typescript/ads/GAMInterstitialAd.d.ts +34 -0
  427. package/lib/typescript/ads/GAMInterstitialAd.d.ts.map +1 -0
  428. package/lib/typescript/ads/InterstitialAd.d.ts +73 -0
  429. package/lib/typescript/ads/InterstitialAd.d.ts.map +1 -0
  430. package/lib/typescript/ads/MobileAd.d.ts +54 -0
  431. package/lib/typescript/ads/MobileAd.d.ts.map +1 -0
  432. package/lib/typescript/ads/RewardedAd.d.ts +83 -0
  433. package/lib/typescript/ads/RewardedAd.d.ts.map +1 -0
  434. package/lib/typescript/ads/RewardedInterstitialAd.d.ts +83 -0
  435. package/lib/typescript/ads/RewardedInterstitialAd.d.ts.map +1 -0
  436. package/lib/typescript/ads/native-ad/NativeAd.d.ts +48 -0
  437. package/lib/typescript/ads/native-ad/NativeAd.d.ts.map +1 -0
  438. package/lib/typescript/ads/native-ad/NativeAdContext.d.ts +10 -0
  439. package/lib/typescript/ads/native-ad/NativeAdContext.d.ts.map +1 -0
  440. package/lib/typescript/ads/native-ad/NativeAdView.d.ts +8 -0
  441. package/lib/typescript/ads/native-ad/NativeAdView.d.ts.map +1 -0
  442. package/lib/typescript/ads/native-ad/NativeAsset.d.ts +18 -0
  443. package/lib/typescript/ads/native-ad/NativeAsset.d.ts.map +1 -0
  444. package/lib/typescript/ads/native-ad/NativeMediaView.d.ts +7 -0
  445. package/lib/typescript/ads/native-ad/NativeMediaView.d.ts.map +1 -0
  446. package/lib/typescript/common/constants.d.ts +7 -0
  447. package/lib/typescript/common/constants.d.ts.map +1 -0
  448. package/lib/typescript/common/debounce.d.ts +2 -0
  449. package/lib/typescript/common/debounce.d.ts.map +1 -0
  450. package/lib/typescript/common/index.d.ts +4 -0
  451. package/lib/typescript/common/index.d.ts.map +1 -0
  452. package/lib/typescript/common/ref.d.ts +13 -0
  453. package/lib/typescript/common/ref.d.ts.map +1 -0
  454. package/lib/typescript/common/validate.d.ts +62 -0
  455. package/lib/typescript/common/validate.d.ts.map +1 -0
  456. package/lib/typescript/hooks/useAppOpenAd.d.ts +10 -0
  457. package/lib/typescript/hooks/useAppOpenAd.d.ts.map +1 -0
  458. package/lib/typescript/hooks/useForeground.d.ts +7 -0
  459. package/lib/typescript/hooks/useForeground.d.ts.map +1 -0
  460. package/lib/typescript/hooks/useFullScreenAd.d.ts +7 -0
  461. package/lib/typescript/hooks/useFullScreenAd.d.ts.map +1 -0
  462. package/lib/typescript/hooks/useInterstitialAd.d.ts +10 -0
  463. package/lib/typescript/hooks/useInterstitialAd.d.ts.map +1 -0
  464. package/lib/typescript/hooks/useRewardedAd.d.ts +10 -0
  465. package/lib/typescript/hooks/useRewardedAd.d.ts.map +1 -0
  466. package/lib/typescript/hooks/useRewardedInterstitialAd.d.ts +10 -0
  467. package/lib/typescript/hooks/useRewardedInterstitialAd.d.ts.map +1 -0
  468. package/lib/typescript/index.d.ts +32 -0
  469. package/lib/typescript/index.d.ts.map +1 -0
  470. package/lib/typescript/internal/GoogleMobileAdsNativeEventEmitter.d.ts +13 -0
  471. package/lib/typescript/internal/GoogleMobileAdsNativeEventEmitter.d.ts.map +1 -0
  472. package/lib/typescript/internal/NativeError.d.ts +27 -0
  473. package/lib/typescript/internal/NativeError.d.ts.map +1 -0
  474. package/lib/typescript/internal/SharedEventEmitter.d.ts +3 -0
  475. package/lib/typescript/internal/SharedEventEmitter.d.ts.map +1 -0
  476. package/lib/typescript/specs/components/GoogleMobileAdsBannerViewNativeComponent.d.ts +35 -0
  477. package/lib/typescript/specs/components/GoogleMobileAdsBannerViewNativeComponent.d.ts.map +1 -0
  478. package/lib/typescript/specs/components/GoogleMobileAdsMediaViewNativeComponent.d.ts +9 -0
  479. package/lib/typescript/specs/components/GoogleMobileAdsMediaViewNativeComponent.d.ts.map +1 -0
  480. package/lib/typescript/specs/components/GoogleMobileAdsNativeViewNativeComponent.d.ts +14 -0
  481. package/lib/typescript/specs/components/GoogleMobileAdsNativeViewNativeComponent.d.ts.map +1 -0
  482. package/lib/typescript/specs/modules/NativeAppModule.d.ts +23 -0
  483. package/lib/typescript/specs/modules/NativeAppModule.d.ts.map +1 -0
  484. package/lib/typescript/specs/modules/NativeAppOpenModule.d.ts +25 -0
  485. package/lib/typescript/specs/modules/NativeAppOpenModule.d.ts.map +1 -0
  486. package/lib/typescript/specs/modules/NativeConsentModule.d.ts +498 -0
  487. package/lib/typescript/specs/modules/NativeConsentModule.d.ts.map +1 -0
  488. package/lib/typescript/specs/modules/NativeGoogleMobileAdsModule.d.ts +14 -0
  489. package/lib/typescript/specs/modules/NativeGoogleMobileAdsModule.d.ts.map +1 -0
  490. package/lib/typescript/specs/modules/NativeGoogleMobileAdsNativeModule.d.ts +42 -0
  491. package/lib/typescript/specs/modules/NativeGoogleMobileAdsNativeModule.d.ts.map +1 -0
  492. package/lib/typescript/specs/modules/NativeInterstitialModule.d.ts +25 -0
  493. package/lib/typescript/specs/modules/NativeInterstitialModule.d.ts.map +1 -0
  494. package/lib/typescript/specs/modules/NativeRewardedInterstitialModule.d.ts +25 -0
  495. package/lib/typescript/specs/modules/NativeRewardedInterstitialModule.d.ts.map +1 -0
  496. package/lib/typescript/specs/modules/NativeRewardedModule.d.ts +25 -0
  497. package/lib/typescript/specs/modules/NativeRewardedModule.d.ts.map +1 -0
  498. package/lib/typescript/types/AdEventListener.d.ts +8 -0
  499. package/lib/typescript/types/AdEventListener.d.ts.map +1 -0
  500. package/lib/typescript/types/AdEventsListener.d.ts +9 -0
  501. package/lib/typescript/types/AdEventsListener.d.ts.map +1 -0
  502. package/lib/typescript/types/AdShowOptions.d.ts +13 -0
  503. package/lib/typescript/types/AdShowOptions.d.ts.map +1 -0
  504. package/lib/typescript/types/AdStates.d.ts +91 -0
  505. package/lib/typescript/types/AdStates.d.ts.map +1 -0
  506. package/lib/typescript/types/AdapterStatus.d.ts +19 -0
  507. package/lib/typescript/types/AdapterStatus.d.ts.map +1 -0
  508. package/lib/typescript/types/AppEvent.d.ts +14 -0
  509. package/lib/typescript/types/AppEvent.d.ts.map +1 -0
  510. package/lib/typescript/types/BannerAdProps.d.ts +175 -0
  511. package/lib/typescript/types/BannerAdProps.d.ts.map +1 -0
  512. package/lib/typescript/types/MobileAd.interface.d.ts +90 -0
  513. package/lib/typescript/types/MobileAd.interface.d.ts.map +1 -0
  514. package/lib/typescript/types/MobileAdsModule.interface.d.ts +75 -0
  515. package/lib/typescript/types/MobileAdsModule.interface.d.ts.map +1 -0
  516. package/lib/typescript/types/NativeAdRequestOptions.d.ts +36 -0
  517. package/lib/typescript/types/NativeAdRequestOptions.d.ts.map +1 -0
  518. package/lib/typescript/types/PaidEventListener.d.ts +8 -0
  519. package/lib/typescript/types/PaidEventListener.d.ts.map +1 -0
  520. package/lib/typescript/types/RequestConfiguration.d.ts +37 -0
  521. package/lib/typescript/types/RequestConfiguration.d.ts.map +1 -0
  522. package/lib/typescript/types/RequestOptions.d.ts +133 -0
  523. package/lib/typescript/types/RequestOptions.d.ts.map +1 -0
  524. package/lib/typescript/types/RewardedAdReward.d.ts +14 -0
  525. package/lib/typescript/types/RewardedAdReward.d.ts.map +1 -0
  526. package/lib/typescript/types/index.d.ts +13 -0
  527. package/lib/typescript/types/index.d.ts.map +1 -0
  528. package/lib/typescript/validateAdRequestConfiguration.d.ts +3 -0
  529. package/lib/typescript/validateAdRequestConfiguration.d.ts.map +1 -0
  530. package/lib/typescript/validateAdRequestOptions.d.ts +3 -0
  531. package/lib/typescript/validateAdRequestOptions.d.ts.map +1 -0
  532. package/lib/typescript/validateAdShowOptions.d.ts +3 -0
  533. package/lib/typescript/validateAdShowOptions.d.ts.map +1 -0
  534. package/lib/typescript/validateNativeAdRequestOptions.d.ts +3 -0
  535. package/lib/typescript/validateNativeAdRequestOptions.d.ts.map +1 -0
  536. package/lib/typescript/version.d.ts +2 -0
  537. package/lib/typescript/version.d.ts.map +1 -0
  538. package/package.json +176 -0
  539. package/plugin/__tests__/__snapshots__/plugin.test.ts.snap +739 -0
  540. package/plugin/__tests__/fixtures/app.config.js +24 -0
  541. package/plugin/__tests__/fixtures/app.config.ts +24 -0
  542. package/plugin/__tests__/fixtures/app.json +24 -0
  543. package/plugin/__tests__/fixtures/package.json +19 -0
  544. package/plugin/__tests__/fixtures/without-params/app.config.js +11 -0
  545. package/plugin/__tests__/fixtures/without-params/app.config.ts +11 -0
  546. package/plugin/__tests__/fixtures/without-params/app.json +11 -0
  547. package/plugin/__tests__/plugin.test.ts +115 -0
  548. package/plugin/build/index.d.ts +12 -0
  549. package/plugin/build/index.js +109 -0
  550. package/plugin/jest.config.js +1 -0
  551. package/plugin/src/index.ts +205 -0
  552. package/plugin/tsconfig.json +9 -0
  553. package/plugin/tsconfig.tsbuildinfo +1 -0
  554. package/react-native.config.js +19 -0
  555. package/src/AdEventType.ts +70 -0
  556. package/src/AdsConsent.ts +170 -0
  557. package/src/AdsConsentPurposes.ts +182 -0
  558. package/src/AdsConsentSpecialFeatures.ts +48 -0
  559. package/src/BannerAdSize.ts +78 -0
  560. package/src/GAMAdEventType.ts +37 -0
  561. package/src/MaxAdContentRating.ts +38 -0
  562. package/src/MobileAds.ts +77 -0
  563. package/src/NativeAdEventType.ts +51 -0
  564. package/src/RewardedAdEventType.ts +60 -0
  565. package/src/TestIds.ts +60 -0
  566. package/src/ads/AppOpenAd.ts +62 -0
  567. package/src/ads/BannerAd.tsx +37 -0
  568. package/src/ads/BaseAd.tsx +185 -0
  569. package/src/ads/GAMBannerAd.tsx +43 -0
  570. package/src/ads/GAMInterstitialAd.ts +45 -0
  571. package/src/ads/InterstitialAd.ts +122 -0
  572. package/src/ads/MobileAd.ts +227 -0
  573. package/src/ads/RewardedAd.ts +142 -0
  574. package/src/ads/RewardedInterstitialAd.ts +144 -0
  575. package/src/ads/native-ad/NativeAd.ts +159 -0
  576. package/src/ads/native-ad/NativeAdContext.ts +26 -0
  577. package/src/ads/native-ad/NativeAdView.tsx +43 -0
  578. package/src/ads/native-ad/NativeAsset.tsx +66 -0
  579. package/src/ads/native-ad/NativeMediaView.tsx +44 -0
  580. package/src/common/constants.ts +9 -0
  581. package/src/common/debounce.ts +15 -0
  582. package/src/common/index.ts +30 -0
  583. package/src/common/ref.ts +46 -0
  584. package/src/common/validate.ts +116 -0
  585. package/src/declarations.d.ts +3 -0
  586. package/src/hooks/useAppOpenAd.ts +46 -0
  587. package/src/hooks/useForeground.ts +41 -0
  588. package/src/hooks/useFullScreenAd.ts +112 -0
  589. package/src/hooks/useInterstitialAd.ts +46 -0
  590. package/src/hooks/useRewardedAd.ts +46 -0
  591. package/src/hooks/useRewardedInterstitialAd.ts +47 -0
  592. package/src/index.ts +60 -0
  593. package/src/internal/GoogleMobileAdsNativeEventEmitter.ts +58 -0
  594. package/src/internal/NativeError.ts +56 -0
  595. package/src/internal/SharedEventEmitter.ts +20 -0
  596. package/src/specs/components/GoogleMobileAdsBannerViewNativeComponent.ts +62 -0
  597. package/src/specs/components/GoogleMobileAdsMediaViewNativeComponent.ts +30 -0
  598. package/src/specs/components/GoogleMobileAdsNativeViewNativeComponent.ts +45 -0
  599. package/src/specs/modules/NativeAppModule.ts +57 -0
  600. package/src/specs/modules/NativeAppOpenModule.ts +26 -0
  601. package/src/specs/modules/NativeConsentModule.ts +532 -0
  602. package/src/specs/modules/NativeGoogleMobileAdsModule.ts +33 -0
  603. package/src/specs/modules/NativeGoogleMobileAdsNativeModule.ts +70 -0
  604. package/src/specs/modules/NativeInterstitialModule.ts +26 -0
  605. package/src/specs/modules/NativeRewardedInterstitialModule.ts +32 -0
  606. package/src/specs/modules/NativeRewardedModule.ts +26 -0
  607. package/src/types/AdEventListener.ts +34 -0
  608. package/src/types/AdEventsListener.ts +24 -0
  609. package/src/types/AdShowOptions.ts +12 -0
  610. package/src/types/AdStates.ts +92 -0
  611. package/src/types/AdapterStatus.ts +20 -0
  612. package/src/types/AppEvent.ts +14 -0
  613. package/src/types/BannerAdProps.ts +184 -0
  614. package/src/types/MobileAd.interface.ts +113 -0
  615. package/src/types/MobileAdsModule.interface.ts +80 -0
  616. package/src/types/NativeAdRequestOptions.ts +55 -0
  617. package/src/types/PaidEventListener.ts +9 -0
  618. package/src/types/RequestConfiguration.ts +40 -0
  619. package/src/types/RequestOptions.ts +137 -0
  620. package/src/types/RewardedAdReward.ts +14 -0
  621. package/src/types/index.ts +29 -0
  622. package/src/validateAdRequestConfiguration.ts +66 -0
  623. package/src/validateAdRequestOptions.ts +154 -0
  624. package/src/validateAdShowOptions.ts +41 -0
  625. package/src/validateNativeAdRequestOptions.ts +50 -0
  626. package/src/version.ts +2 -0
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ import { isFunction, isOneOf } from '../common';
21
+ import { NativeError } from '../internal/NativeError';
22
+ import { AdEventType } from '../AdEventType';
23
+ import { RewardedAdEventType } from '../RewardedAdEventType';
24
+ import { SharedEventEmitter } from '../internal/SharedEventEmitter';
25
+ import { GAMAdEventType } from '../GAMAdEventType';
26
+ import { validateAdShowOptions } from '../validateAdShowOptions';
27
+ export class MobileAd {
28
+ constructor(type, requestId, adUnitId, adLoadFunction, adShowFunction, requestOptions) {
29
+ this._type = type;
30
+ this._requestId = requestId;
31
+ this._adUnitId = adUnitId;
32
+ this._adLoadFunction = adLoadFunction;
33
+ this._adShowFunction = adShowFunction;
34
+ this._requestOptions = requestOptions;
35
+ this._loaded = false;
36
+ this._isLoadCalled = false;
37
+ this._adEventsListeners = new Map();
38
+ this._adEventListenersMap = new Map();
39
+ Object.values({
40
+ ...AdEventType,
41
+ ...RewardedAdEventType,
42
+ ...GAMAdEventType,
43
+ _: AdEventType.LOADED // since AdEventType.LOADED is overwritten by RewardedAdEventType.LOADED
44
+ }).forEach(type => {
45
+ this._adEventListenersMap.set(type, new Map());
46
+ });
47
+ this._adEventListenerId = 0;
48
+ this._adEventsListenerId = 0;
49
+ this._nativeListener = SharedEventEmitter.addListener(`google_mobile_ads_${type}_event:${adUnitId}:${requestId}`, this._handleAdEvent.bind(this));
50
+ }
51
+ _handleAdEvent(event) {
52
+ const {
53
+ type,
54
+ error,
55
+ data
56
+ } = event.body;
57
+ if (type === AdEventType.LOADED || type === RewardedAdEventType.LOADED) {
58
+ this._loaded = true;
59
+ }
60
+ if (type === AdEventType.CLOSED) {
61
+ this._loaded = false;
62
+ this._isLoadCalled = false;
63
+ }
64
+ if (type === AdEventType.ERROR) {
65
+ this._loaded = false;
66
+ this._isLoadCalled = false;
67
+ }
68
+ let payload = data;
69
+ if (error) {
70
+ payload = NativeError.fromEvent(error, 'googleMobileAds');
71
+ }
72
+ this._adEventsListeners.forEach(listener => {
73
+ listener({
74
+ type,
75
+ payload
76
+ });
77
+ });
78
+ this._getAdEventListeners(type).forEach(listener => {
79
+ listener(payload);
80
+ });
81
+ }
82
+ _addAdEventsListener(listener) {
83
+ if (!isFunction(listener)) {
84
+ throw new Error(`${this._className}.addAdEventsListener(*) 'listener' expected a function.`);
85
+ }
86
+ const id = this._adEventsListenerId++;
87
+ this._adEventsListeners.set(id, listener);
88
+ return () => {
89
+ this._adEventsListeners.delete(id);
90
+ };
91
+ }
92
+ _addAdEventListener(type, listener) {
93
+ if (!(isOneOf(type, Object.values(AdEventType)) || isOneOf(type, Object.values(GAMAdEventType)) || isOneOf(type, Object.values(RewardedAdEventType)) && (this._type === 'rewarded' || this._type === 'rewarded_interstitial'))) {
94
+ throw new Error(`${this._className}.addAdEventListener(*) 'type' expected a valid event type value.`);
95
+ }
96
+ if (!isFunction(listener)) {
97
+ throw new Error(`${this._className}.addAdEventListener(_, *) 'listener' expected a function.`);
98
+ }
99
+ const id = this._adEventListenerId++;
100
+ this._getAdEventListeners(type).set(id, listener);
101
+ return () => {
102
+ this._getAdEventListeners(type).delete(id);
103
+ };
104
+ }
105
+ _getAdEventListeners(type) {
106
+ return this._adEventListenersMap.get(type);
107
+ }
108
+ get _className() {
109
+ return this.constructor.name;
110
+ }
111
+ load() {
112
+ // Prevent multiple load calls
113
+ if (this._loaded || this._isLoadCalled) {
114
+ return;
115
+ }
116
+ this._isLoadCalled = true;
117
+ this._adLoadFunction(this._requestId, this._adUnitId, this._requestOptions);
118
+ }
119
+ show(showOptions) {
120
+ if (!this._loaded) {
121
+ throw new Error(`${this._className}.show() The requested ${this._className} has not loaded and could not be shown.`);
122
+ }
123
+ let options;
124
+ try {
125
+ options = validateAdShowOptions(showOptions);
126
+ } catch (e) {
127
+ if (e instanceof Error) {
128
+ throw new Error(`${this._className}.show(*) ${e.message}.`);
129
+ } else {
130
+ throw e;
131
+ }
132
+ }
133
+ return this._adShowFunction(this._requestId, this._adUnitId, options);
134
+ }
135
+ removeAllListeners() {
136
+ this._adEventsListeners.clear();
137
+ this._adEventListenersMap.forEach((_, type, map) => {
138
+ map.set(type, new Map());
139
+ });
140
+ }
141
+ get adUnitId() {
142
+ return this._adUnitId;
143
+ }
144
+ get loaded() {
145
+ return this._loaded;
146
+ }
147
+ }
148
+ //# sourceMappingURL=MobileAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isFunction","isOneOf","NativeError","AdEventType","RewardedAdEventType","SharedEventEmitter","GAMAdEventType","validateAdShowOptions","MobileAd","constructor","type","requestId","adUnitId","adLoadFunction","adShowFunction","requestOptions","_type","_requestId","_adUnitId","_adLoadFunction","_adShowFunction","_requestOptions","_loaded","_isLoadCalled","_adEventsListeners","Map","_adEventListenersMap","Object","values","_","LOADED","forEach","set","_adEventListenerId","_adEventsListenerId","_nativeListener","addListener","_handleAdEvent","bind","event","error","data","body","CLOSED","ERROR","payload","fromEvent","listener","_getAdEventListeners","_addAdEventsListener","Error","_className","id","delete","_addAdEventListener","get","name","load","show","showOptions","options","e","message","removeAllListeners","clear","map","loaded"],"sourceRoot":"../../../src","sources":["ads/MobileAd.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ import { isString } from '../common';
21
+ import { validateAdRequestOptions } from '../validateAdRequestOptions';
22
+ import { MobileAd } from './MobileAd';
23
+ import { AdEventType } from '../AdEventType';
24
+ import NativeRewardedModule from '../specs/modules/NativeRewardedModule';
25
+
26
+ /**
27
+ * A class for interacting and showing Rewarded Ads.
28
+ *
29
+ * An Rewarded advert can be pre-loaded and shown at a suitable point in your apps flow, such as at the end of a level
30
+ * in a game. The content of a rewarded advert can be controlled via your Google Mobile Ads dashboard. Typically users are rewarded
31
+ * after completing a specific advert action (e.g. watching a video or submitting an option via an interactive form).
32
+ * Events (such as the user earning a reward or closing a rewarded advert early) are sent back for you to handle accordingly
33
+ * within your application.
34
+ *
35
+ * #### Example
36
+ *
37
+ * First create a new Rewarded instance, passing in your Ad Unit ID from the Google Mobile Ads configuration console, and any additional
38
+ * request options. The example below will present a test advert, and only request a non-personalized ad.
39
+ *
40
+ * ```js
41
+ * import { RewardedAd, TestIds } from 'react-native-google-mobile-ads';
42
+ *
43
+ * const rewarded = RewardedAd.createForAdRequest(TestIds.REWARDED, {
44
+ * requestNonPersonalizedAdsOnly: true,
45
+ * });
46
+ * ```
47
+ *
48
+ * Each advert needs to be loaded from Google Mobile Ads before being shown. It is recommended this is performed before the user
49
+ * reaches the checkpoint to show the advert, so it's ready to go. Before loading the advert, we need to setup
50
+ * event listeners to listen for updates from Google Mobile Ads, such as advert loaded or failed to load.
51
+ *
52
+ * Event types match the `AdEventType` or `RewardedAdEventType` interface. The potential user reward for rewarded
53
+ * adverts are passed back to the event handler on advert load and when the user earns the reward.
54
+ *
55
+ * ```js
56
+ * import { RewardedAdEventType } from 'react-native-google-mobile-ads';
57
+ *
58
+ * rewarded.addAdEventListener(RewardedAdEventType.LOADED. () => {
59
+ * rewarded.show();
60
+ * });
61
+ * rewarded.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
62
+ * console.log('User earned reward of ', reward);
63
+ * });
64
+ *
65
+ * rewarded.load();
66
+ * ```
67
+ *
68
+ * The rewarded advert will be presented to the user, and several more events can be triggered such as the user clicking the
69
+ * advert, closing it or completing the action.
70
+ */
71
+ export class RewardedAd extends MobileAd {
72
+ static _rewardedRequest = 0;
73
+ /**
74
+ * Creates a new RewardedAd instance.
75
+ *
76
+ * #### Example
77
+ *
78
+ * ```js
79
+ * import { RewardedAd, RewardedAdEventType, TestIds } from 'react-native-google-mobile-ads';
80
+ *
81
+ * const rewardedAd = await RewardedAd.createForAdRequest(TestIds.REWARDED, {
82
+ * requestAgent: 'CoolAds',
83
+ * });
84
+ *
85
+ * rewarded.addAdEventListener(RewardedAdEventType.LOADED. () => {
86
+ * rewarded.show();
87
+ * });
88
+ * rewarded.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
89
+ * console.log('User earned reward of ', reward);
90
+ * });
91
+ *
92
+ * rewardedAd.load();
93
+ * ```
94
+ *
95
+ * @param adUnitId The Ad Unit ID for the Rewarded Ad. You can find this on your Google Mobile Ads dashboard.
96
+ * @param requestOptions Optional RequestOptions used to load the ad.
97
+ */
98
+ static createForAdRequest(adUnitId, requestOptions) {
99
+ if (!isString(adUnitId)) {
100
+ throw new Error("RewardedAd.createForAdRequest(*) 'adUnitId' expected an string value.");
101
+ }
102
+ let options = {};
103
+ try {
104
+ options = validateAdRequestOptions(requestOptions);
105
+ } catch (e) {
106
+ if (e instanceof Error) {
107
+ throw new Error(`RewardedAd.createForAdRequest(_, *) ${e.message}.`);
108
+ }
109
+ }
110
+ const requestId = RewardedAd._rewardedRequest++;
111
+ return new RewardedAd('rewarded', requestId, adUnitId, NativeRewardedModule.rewardedLoad.bind(this), NativeRewardedModule.rewardedShow.bind(this), options);
112
+ }
113
+ addAdEventsListener(listener) {
114
+ return this._addAdEventsListener(listener);
115
+ }
116
+ addAdEventListener(type, listener) {
117
+ if (type === AdEventType.LOADED) {
118
+ throw new Error('RewardedAd.addAdEventListener(*) use RewardedAdEventType.LOADED instead of AdEventType.LOADED.');
119
+ }
120
+ return this._addAdEventListener(type, listener);
121
+ }
122
+ }
123
+ //# sourceMappingURL=RewardedAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isString","validateAdRequestOptions","MobileAd","AdEventType","NativeRewardedModule","RewardedAd","_rewardedRequest","createForAdRequest","adUnitId","requestOptions","Error","options","e","message","requestId","rewardedLoad","bind","rewardedShow","addAdEventsListener","listener","_addAdEventsListener","addAdEventListener","type","LOADED","_addAdEventListener"],"sourceRoot":"../../../src","sources":["ads/RewardedAd.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,WAAW;AACpC,SAASC,wBAAwB,QAAQ,6BAA6B;AACtE,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,WAAW,QAAQ,gBAAgB;AAK5C,OAAOC,oBAAoB,MAAM,uCAAuC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,SAASH,QAAQ,CAAC;EACvC,OAAiBI,gBAAgB,GAAG,CAAC;EACrC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,kBAAkBA,CAACC,QAAgB,EAAEC,cAA+B,EAAE;IAC3E,IAAI,CAACT,QAAQ,CAACQ,QAAQ,CAAC,EAAE;MACvB,MAAM,IAAIE,KAAK,CAAC,uEAAuE,CAAC;IAC1F;IAEA,IAAIC,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI;MACFA,OAAO,GAAGV,wBAAwB,CAACQ,cAAc,CAAC;IACpD,CAAC,CAAC,OAAOG,CAAC,EAAE;MACV,IAAIA,CAAC,YAAYF,KAAK,EAAE;QACtB,MAAM,IAAIA,KAAK,CAAC,uCAAuCE,CAAC,CAACC,OAAO,GAAG,CAAC;MACtE;IACF;IAEA,MAAMC,SAAS,GAAGT,UAAU,CAACC,gBAAgB,EAAE;IAC/C,OAAO,IAAID,UAAU,CACnB,UAAU,EACVS,SAAS,EACTN,QAAQ,EACRJ,oBAAoB,CAACW,YAAY,CAACC,IAAI,CAAC,IAAI,CAAC,EAC5CZ,oBAAoB,CAACa,YAAY,CAACD,IAAI,CAAC,IAAI,CAAC,EAC5CL,OACF,CAAC;EACH;EAEAO,mBAAmBA,CACjBC,QAA6B,EACjB;IACZ,OAAO,IAAI,CAACC,oBAAoB,CAACD,QAAQ,CAAC;EAC5C;EAEAE,kBAAkBA,CAChBC,IAAO,EACPH,QAA4B,EAC5B;IACA,IAAIG,IAAI,KAAKnB,WAAW,CAACoB,MAAM,EAAE;MAC/B,MAAM,IAAIb,KAAK,CACb,gGACF,CAAC;IACH;IACA,OAAO,IAAI,CAACc,mBAAmB,CAACF,IAAI,EAAEH,QAAQ,CAAC;EACjD;AACF","ignoreList":[]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ import { isString } from '../common';
21
+ import { validateAdRequestOptions } from '../validateAdRequestOptions';
22
+ import { MobileAd } from './MobileAd';
23
+ import { AdEventType } from '../AdEventType';
24
+ import NativeRewardedInterstitialModule from '../specs/modules/NativeRewardedInterstitialModule';
25
+
26
+ /**
27
+ * A class for interacting and showing Rewarded Interstitial Ads.
28
+ *
29
+ * An Rewarded Interstitial advert can be pre-loaded and shown at a suitable point in your apps flow, such as at the end of a level
30
+ * in a game. The content of a rewarded interstital advert can be controlled via your Google Mobile Ads dashboard. Typically users are rewarded
31
+ * after completing a specific advert action (e.g. watching a video or submitting an option via an interactive form).
32
+ * Events (such as the user earning a reward or closing a rewarded interstital advert early) are sent back for you to handle accordingly
33
+ * within your application.
34
+ *
35
+ * #### Example
36
+ *
37
+ * First create a new Rewarded Interstitial instance, passing in your Ad Unit ID from the Google Mobile Ads configuration console, and any additional
38
+ * request options. The example below will present a test advert, and only request a non-personalized ad.
39
+ *
40
+ * ```js
41
+ * import { RewardedInterstitialAd, TestIds } from 'react-native-google-mobile-ads';
42
+ *
43
+ * const rewardedInterstitial = RewardedInterstitialAd.createForAdRequest(TestIds.REWARDED_INTERSTITIAL, {
44
+ * requestNonPersonalizedAdsOnly: true,
45
+ * });
46
+ * ```
47
+ *
48
+ * Each advert needs to be loaded from Google Mobile Ads before being shown. It is recommended this is performed before the user
49
+ * reaches the checkpoint to show the advert, so it's ready to go. Before loading the advert, we need to setup
50
+ * event listeners to listen for updates from Google Mobile Ads, such as advert loaded or failed to load.
51
+ *
52
+ * Event types match the `AdEventType` or `RewardedAdEventType` interface. The potential user reward for rewarded interstitial
53
+ * adverts are passed back to the event handler on advert load and when the user earns the reward.
54
+ *
55
+ * ```js
56
+ * import { RewardedAdEventType } from 'react-native-google-mobile-ads';
57
+ *
58
+ * rewardedInterstitial.addAdEventListener(RewardedAdEventType.LOADED. () => {
59
+ * rewarded.show();
60
+ * });
61
+ * rewardedInterstitial.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
62
+ * console.log('User earned reward of ', reward);
63
+ * });
64
+ *
65
+ * rewardedInterstitial.load();
66
+ * ```
67
+ *
68
+ * The rewarded interstitial advert will be presented to the user, and several more events can be triggered such as the user clicking the
69
+ * advert, closing it or completing the action.
70
+ */
71
+ export class RewardedInterstitialAd extends MobileAd {
72
+ static _rewardedInterstitialRequest = 0;
73
+ /**
74
+ * Creates a new RewardedInterstitialAd instance.
75
+ *
76
+ * #### Example
77
+ *
78
+ * ```js
79
+ * import { RewardedInterstitialAd, RewardedAdEventType, TestIds } from 'react-native-google-mobile-ads';
80
+ *
81
+ * const rewardedInterstitialAd = await RewardedInterstitialAd.createForAdRequest(TestIds.REWARDED_INTERSTITIAL, {
82
+ * requestAgent: 'CoolAds',
83
+ * });
84
+ *
85
+ * rewardedInterstitialAd.addAdEventListener(RewardedAdEventType.LOADED. () => {
86
+ * rewardedInterstitialAd.show();
87
+ * });
88
+ * rewardedInterstitialAd.addAdEventListener(RewardedAdEventType.EARNED_REWARD. (reward) => {
89
+ * console.log('User earned reward of ', reward);
90
+ * });
91
+ *
92
+ * rewardedInterstitialAd.load();
93
+ * ```
94
+ *
95
+ * @param adUnitId The Ad Unit ID for the Rewarded Interstitial Ad. You can find this on your Google Mobile Ads dashboard.
96
+ * @param requestOptions Optional RequestOptions used to load the ad.
97
+ */
98
+ static createForAdRequest(adUnitId, requestOptions) {
99
+ if (!isString(adUnitId)) {
100
+ throw new Error("RewardedInterstitialAd.createForAdRequest(*) 'adUnitId' expected an string value.");
101
+ }
102
+ let options = {};
103
+ try {
104
+ options = validateAdRequestOptions(requestOptions);
105
+ } catch (e) {
106
+ if (e instanceof Error) {
107
+ throw new Error(`RewardedInterstitialAd.createForAdRequest(_, *) ${e.message}.`);
108
+ }
109
+ }
110
+ const requestId = RewardedInterstitialAd._rewardedInterstitialRequest++;
111
+ return new RewardedInterstitialAd('rewarded_interstitial', requestId, adUnitId, NativeRewardedInterstitialModule.rewardedInterstitialLoad.bind(this), NativeRewardedInterstitialModule.rewardedInterstitialShow.bind(this), options);
112
+ }
113
+ addAdEventsListener(listener) {
114
+ return this._addAdEventsListener(listener);
115
+ }
116
+ addAdEventListener(type, listener) {
117
+ if (type === AdEventType.LOADED) {
118
+ throw new Error('RewardedInterstitialAd.addAdEventListener(*) use RewardedAdEventType.LOADED instead of AdEventType.LOADED.');
119
+ }
120
+ return this._addAdEventListener(type, listener);
121
+ }
122
+ }
123
+ //# sourceMappingURL=RewardedInterstitialAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isString","validateAdRequestOptions","MobileAd","AdEventType","NativeRewardedInterstitialModule","RewardedInterstitialAd","_rewardedInterstitialRequest","createForAdRequest","adUnitId","requestOptions","Error","options","e","message","requestId","rewardedInterstitialLoad","bind","rewardedInterstitialShow","addAdEventsListener","listener","_addAdEventsListener","addAdEventListener","type","LOADED","_addAdEventListener"],"sourceRoot":"../../../src","sources":["ads/RewardedInterstitialAd.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,WAAW;AACpC,SAASC,wBAAwB,QAAQ,6BAA6B;AACtE,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,WAAW,QAAQ,gBAAgB;AAK5C,OAAOC,gCAAgC,MAAM,mDAAmD;;AAEhG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASH,QAAQ,CAAC;EACnD,OAAiBI,4BAA4B,GAAG,CAAC;EACjD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,kBAAkBA,CAACC,QAAgB,EAAEC,cAA+B,EAAE;IAC3E,IAAI,CAACT,QAAQ,CAACQ,QAAQ,CAAC,EAAE;MACvB,MAAM,IAAIE,KAAK,CACb,mFACF,CAAC;IACH;IAEA,IAAIC,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI;MACFA,OAAO,GAAGV,wBAAwB,CAACQ,cAAc,CAAC;IACpD,CAAC,CAAC,OAAOG,CAAC,EAAE;MACV,IAAIA,CAAC,YAAYF,KAAK,EAAE;QACtB,MAAM,IAAIA,KAAK,CAAC,mDAAmDE,CAAC,CAACC,OAAO,GAAG,CAAC;MAClF;IACF;IAEA,MAAMC,SAAS,GAAGT,sBAAsB,CAACC,4BAA4B,EAAE;IACvE,OAAO,IAAID,sBAAsB,CAC/B,uBAAuB,EACvBS,SAAS,EACTN,QAAQ,EACRJ,gCAAgC,CAACW,wBAAwB,CAACC,IAAI,CAAC,IAAI,CAAC,EACpEZ,gCAAgC,CAACa,wBAAwB,CAACD,IAAI,CAAC,IAAI,CAAC,EACpEL,OACF,CAAC;EACH;EAEAO,mBAAmBA,CACjBC,QAA6B,EACjB;IACZ,OAAO,IAAI,CAACC,oBAAoB,CAACD,QAAQ,CAAC;EAC5C;EAEAE,kBAAkBA,CAChBC,IAAO,EACPH,QAA4B,EAC5B;IACA,IAAIG,IAAI,KAAKnB,WAAW,CAACoB,MAAM,EAAE;MAC/B,MAAM,IAAIb,KAAK,CACb,4GACF,CAAC;IACH;IACA,OAAO,IAAI,CAACc,mBAAmB,CAACF,IAAI,EAAEH,QAAQ,CAAC;EACjD;AACF","ignoreList":[]}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ import { NativeEventEmitter, Platform } from 'react-native';
21
+ import EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';
22
+ import { NativeAdEventType } from '../../NativeAdEventType';
23
+ import { isFunction, isOneOf, isString } from '../../common';
24
+ import NativeGoogleMobileAdsNativeModule from '../../specs/modules/NativeGoogleMobileAdsNativeModule';
25
+ import { validateNativeAdRequestOptions } from '../../validateNativeAdRequestOptions';
26
+ /**
27
+ * A class for loading Native Ads.
28
+ */
29
+ export class NativeAd {
30
+ constructor(adUnitId, props) {
31
+ this.adUnitId = adUnitId;
32
+ this.responseId = props.responseId;
33
+ this.advertiser = props.advertiser;
34
+ this.body = props.body;
35
+ this.callToAction = props.callToAction;
36
+ this.headline = props.headline;
37
+ this.price = props.price;
38
+ this.store = props.store;
39
+ this.starRating = props.starRating;
40
+ this.icon = props.icon;
41
+ this.images = props.images;
42
+ this.mediaContent = props.mediaContent;
43
+ this.extras = props.extras;
44
+ if ('onAdEvent' in NativeGoogleMobileAdsNativeModule) {
45
+ this.nativeEventSubscription = NativeGoogleMobileAdsNativeModule.onAdEvent(this.onNativeAdEvent.bind(this));
46
+ } else {
47
+ let eventEmitter;
48
+ if (Platform.OS === 'ios') {
49
+ eventEmitter = new NativeEventEmitter(NativeGoogleMobileAdsNativeModule);
50
+ } else {
51
+ eventEmitter = new NativeEventEmitter();
52
+ }
53
+ this.nativeEventSubscription = eventEmitter.addListener('RNGMANativeAdEvent', this.onNativeAdEvent.bind(this));
54
+ }
55
+ this.eventEmitter = new EventEmitter();
56
+ }
57
+ onNativeAdEvent({
58
+ responseId,
59
+ type,
60
+ ...data
61
+ }) {
62
+ if (this.responseId !== responseId) {
63
+ return;
64
+ }
65
+ this.eventEmitter.emit(type, data);
66
+ }
67
+ addAdEventListener(type, listener) {
68
+ if (!isOneOf(type, Object.values(NativeAdEventType))) {
69
+ throw new Error(`NativeAd.addAdEventListener(*) 'type' expected a valid event type value.`);
70
+ }
71
+ if (!isFunction(listener)) {
72
+ throw new Error(`NativeAd.addAdEventListener(_, *) 'listener' expected a function.`);
73
+ }
74
+ return this.eventEmitter.addListener(type, listener);
75
+ }
76
+ removeAllAdEventListeners() {
77
+ this.eventEmitter.removeAllListeners();
78
+ }
79
+ destroy() {
80
+ NativeGoogleMobileAdsNativeModule.destroy(this.responseId);
81
+ this.nativeEventSubscription.remove();
82
+ this.removeAllAdEventListeners();
83
+ }
84
+
85
+ /**
86
+ * Creates a new NativeAd instance.
87
+ *
88
+ * #### Example
89
+ *
90
+ * ```js
91
+ * import { NativeAd, AdEventType, TestIds } from 'react-native-google-mobile-ads';
92
+ *
93
+ * const nativeAd = await NativeAd.createForAdRequest(TestIds.NATIVE, {
94
+ * requestAgent: 'CoolAds',
95
+ * });
96
+ * ```
97
+ *
98
+ * @param adUnitId The Ad Unit ID for the Native Ad. You can find this on your Google Mobile Ads dashboard.
99
+ * @param requestOptions Optional RequestOptions used to load the ad.
100
+ */
101
+ static async createForAdRequest(adUnitId, requestOptions) {
102
+ if (!isString(adUnitId)) {
103
+ throw new Error("NativeAd.createForAdRequest(*) 'adUnitId' expected an string value.");
104
+ }
105
+ let options = {};
106
+ try {
107
+ options = validateNativeAdRequestOptions(requestOptions);
108
+ } catch (e) {
109
+ if (e instanceof Error) {
110
+ throw new Error(`NativeAd.createForAdRequest(_, *) ${e.message}.`);
111
+ }
112
+ }
113
+ const props = await NativeGoogleMobileAdsNativeModule.load(adUnitId, options);
114
+ return new NativeAd(adUnitId, props);
115
+ }
116
+ }
117
+ //# sourceMappingURL=NativeAd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeEventEmitter","Platform","EventEmitter","NativeAdEventType","isFunction","isOneOf","isString","NativeGoogleMobileAdsNativeModule","validateNativeAdRequestOptions","NativeAd","constructor","adUnitId","props","responseId","advertiser","body","callToAction","headline","price","store","starRating","icon","images","mediaContent","extras","nativeEventSubscription","onAdEvent","onNativeAdEvent","bind","eventEmitter","OS","addListener","type","data","emit","addAdEventListener","listener","Object","values","Error","removeAllAdEventListeners","removeAllListeners","destroy","remove","createForAdRequest","requestOptions","options","e","message","load"],"sourceRoot":"../../../../src","sources":["ads/native-ad/NativeAd.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ import { createContext } from 'react';
21
+ export const NativeAdContext = /*#__PURE__*/createContext({});
22
+ //# sourceMappingURL=NativeAdContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","NativeAdContext"],"sourceRoot":"../../../../src","sources":["ads/native-ad/NativeAdContext.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAAgBA,aAAa,QAAmB,OAAO;AAOvD,OAAO,MAAMC,eAAe,gBAAGD,aAAa,CAAsB,CAAC,CAAwB,CAAC","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ /*
4
+ * Copyright (c) 2016-present Invertase Limited & Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this library except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ import React, { useRef } from 'react';
21
+ import { NativeAdContext } from './NativeAdContext';
22
+ import GoogleMobileAdsNativeView from '../../specs/components/GoogleMobileAdsNativeViewNativeComponent';
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ export const NativeAdView = props => {
25
+ const {
26
+ nativeAd,
27
+ children,
28
+ ...viewProps
29
+ } = props;
30
+ const ref = useRef(null);
31
+ return /*#__PURE__*/_jsx(GoogleMobileAdsNativeView, {
32
+ ...viewProps,
33
+ ref: ref,
34
+ responseId: nativeAd.responseId,
35
+ removeClippedSubviews: false,
36
+ children: /*#__PURE__*/_jsx(NativeAdContext.Provider, {
37
+ value: {
38
+ nativeAd,
39
+ viewRef: ref
40
+ },
41
+ children: children
42
+ })
43
+ });
44
+ };
45
+ //# sourceMappingURL=NativeAdView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","NativeAdContext","GoogleMobileAdsNativeView","jsx","_jsx","NativeAdView","props","nativeAd","children","viewProps","ref","responseId","removeClippedSubviews","Provider","value","viewRef"],"sourceRoot":"../../../../src","sources":["ads/native-ad/NativeAdView.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAGrC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,OAAOC,yBAAyB,MAAM,iEAAiE;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMxG,OAAO,MAAMC,YAAY,GAAIC,KAAwB,IAAK;EACxD,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC;EAAU,CAAC,GAAGH,KAAK;EAClD,MAAMI,GAAG,GAAGV,MAAM,CAAuD,IAAI,CAAC;EAC9E,oBACEI,IAAA,CAACF,yBAAyB;IAAA,GACpBO,SAAS;IACbC,GAAG,EAAEA,GAAI;IACTC,UAAU,EAAEJ,QAAQ,CAACI,UAAW;IAChCC,qBAAqB,EAAE,KAAM;IAAAJ,QAAA,eAE7BJ,IAAA,CAACH,eAAe,CAACY,QAAQ;MAACC,KAAK,EAAE;QAAEP,QAAQ;QAAEQ,OAAO,EAAEL;MAAI,CAAE;MAAAF,QAAA,EACzDA;IAAQ,CACe;EAAC,CACF,CAAC;AAEhC,CAAC","ignoreList":[]}