react-native-google-mobile-ads 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/LICENSE +32 -0
  2. package/README.md +65 -0
  3. package/RNGoogleMobileAds.podspec +42 -0
  4. package/__tests__/consent.test.ts +25 -0
  5. package/__tests__/googleMobileAds.test.ts +63 -0
  6. package/__tests__/interstitial.test.ts +53 -0
  7. package/__tests__/requestOptions.test.tsx +4 -0
  8. package/__tests__/rewarded.test.tsx +4 -0
  9. package/__tests__/showOptions.test.tsx +4 -0
  10. package/android/.editorconfig +10 -0
  11. package/android/app-json.gradle +69 -0
  12. package/android/build.gradle +98 -0
  13. package/android/lint.xml +5 -0
  14. package/android/settings.gradle +1 -0
  15. package/android/src/main/AndroidManifest.xml +17 -0
  16. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeAppModule.java +169 -0
  17. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsAppOpenModule.java +161 -0
  18. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java +209 -0
  19. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java +256 -0
  20. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsConsentModule.java +226 -0
  21. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsEvent.java +72 -0
  22. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsInterstitialModule.java +159 -0
  23. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsModule.java +143 -0
  24. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsPackage.java +48 -0
  25. package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsRewardedModule.java +177 -0
  26. package/android/src/main/java/io/invertase/googlemobileads/common/RCTConvert.java +111 -0
  27. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeApp.java +34 -0
  28. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeEvent.java +41 -0
  29. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeEventEmitter.java +150 -0
  30. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeInitProvider.java +77 -0
  31. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeJSON.java +107 -0
  32. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeMeta.java +92 -0
  33. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeModule.java +96 -0
  34. package/android/src/main/java/io/invertase/googlemobileads/common/ReactNativePreferences.java +86 -0
  35. package/android/src/main/java/io/invertase/googlemobileads/common/SharedUtils.java +427 -0
  36. package/android/src/main/java/io/invertase/googlemobileads/common/TaskExecutorService.java +124 -0
  37. package/android/src/main/java/io/invertase/googlemobileads/interfaces/ContextProvider.java +30 -0
  38. package/android/src/main/java/io/invertase/googlemobileads/interfaces/NativeError.java +28 -0
  39. package/android/src/main/java/io/invertase/googlemobileads/interfaces/NativeEvent.java +26 -0
  40. package/babel.config.js +18 -0
  41. package/docs/displaying-ads.mdx +319 -0
  42. package/docs/european-user-consent.mdx +258 -0
  43. package/docs/img/logo_admob_192px.svg +19 -0
  44. package/docs/index.mdx +168 -0
  45. package/docs.json +9 -0
  46. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.h +29 -0
  47. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsAppOpenModule.m +98 -0
  48. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.h +23 -0
  49. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.m +153 -0
  50. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.h +60 -0
  51. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.m +201 -0
  52. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsConsentModule.h +26 -0
  53. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsConsentModule.m +179 -0
  54. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenContentDelegate.h +32 -0
  55. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsFullScreenContentDelegate.m +57 -0
  56. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.h +25 -0
  57. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsInterstitialModule.m +124 -0
  58. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.h +24 -0
  59. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsModule.m +104 -0
  60. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.h +25 -0
  61. package/ios/RNGoogleMobileAds/RNGoogleMobileAdsRewardedModule.m +173 -0
  62. package/ios/RNGoogleMobileAds/common/RNAppModule.h +24 -0
  63. package/ios/RNGoogleMobileAds/common/RNAppModule.m +158 -0
  64. package/ios/RNGoogleMobileAds/common/RNJSON.h +34 -0
  65. package/ios/RNGoogleMobileAds/common/RNJSON.m +93 -0
  66. package/ios/RNGoogleMobileAds/common/RNMeta.h +30 -0
  67. package/ios/RNGoogleMobileAds/common/RNMeta.m +61 -0
  68. package/ios/RNGoogleMobileAds/common/RNPreferences.h +44 -0
  69. package/ios/RNGoogleMobileAds/common/RNPreferences.m +94 -0
  70. package/ios/RNGoogleMobileAds/common/RNRCTEventEmitter.h +73 -0
  71. package/ios/RNGoogleMobileAds/common/RNRCTEventEmitter.m +150 -0
  72. package/ios/RNGoogleMobileAds/common/RNSharedUtils.h +48 -0
  73. package/ios/RNGoogleMobileAds/common/RNSharedUtils.m +56 -0
  74. package/ios/RNGoogleMobileAds.xcodeproj/project.pbxproj +377 -0
  75. package/ios/RNGoogleMobileAds.xcodeproj/xcshareddata/IDETemplateMacros.plist +24 -0
  76. package/ios_config.sh +140 -0
  77. package/jest.config.js +6 -0
  78. package/jest.setup.ts +29 -0
  79. package/lib/commonjs/AdEventType.js +34 -0
  80. package/lib/commonjs/AdEventType.js.map +1 -0
  81. package/lib/commonjs/AdsConsent.js +160 -0
  82. package/lib/commonjs/AdsConsent.js.map +1 -0
  83. package/lib/commonjs/AdsConsentDebugGeography.js +38 -0
  84. package/lib/commonjs/AdsConsentDebugGeography.js.map +1 -0
  85. package/lib/commonjs/AdsConsentStatus.js +36 -0
  86. package/lib/commonjs/AdsConsentStatus.js.map +1 -0
  87. package/lib/commonjs/BannerAdSize.js +38 -0
  88. package/lib/commonjs/BannerAdSize.js.map +1 -0
  89. package/lib/commonjs/MaxAdContentRating.js +33 -0
  90. package/lib/commonjs/MaxAdContentRating.js.map +1 -0
  91. package/lib/commonjs/MobileAds.js +67 -0
  92. package/lib/commonjs/MobileAds.js.map +1 -0
  93. package/lib/commonjs/RewardedAdEventType.js +31 -0
  94. package/lib/commonjs/RewardedAdEventType.js.map +1 -0
  95. package/lib/commonjs/TestIds.js +47 -0
  96. package/lib/commonjs/TestIds.js.map +1 -0
  97. package/lib/commonjs/ads/AppOpenAd.js +96 -0
  98. package/lib/commonjs/ads/AppOpenAd.js.map +1 -0
  99. package/lib/commonjs/ads/BannerAd.js +128 -0
  100. package/lib/commonjs/ads/BannerAd.js.map +1 -0
  101. package/lib/commonjs/ads/InterstitialAd.js +163 -0
  102. package/lib/commonjs/ads/InterstitialAd.js.map +1 -0
  103. package/lib/commonjs/ads/MobileAd.js +90 -0
  104. package/lib/commonjs/ads/MobileAd.js.map +1 -0
  105. package/lib/commonjs/ads/RewardedAd.js +169 -0
  106. package/lib/commonjs/ads/RewardedAd.js.map +1 -0
  107. package/lib/commonjs/common/Base64.js +121 -0
  108. package/lib/commonjs/common/Base64.js.map +1 -0
  109. package/lib/commonjs/common/MutatableParams.js +46 -0
  110. package/lib/commonjs/common/MutatableParams.js.map +1 -0
  111. package/lib/commonjs/common/ReferenceBase.js +59 -0
  112. package/lib/commonjs/common/ReferenceBase.js.map +1 -0
  113. package/lib/commonjs/common/deeps.js +101 -0
  114. package/lib/commonjs/common/deeps.js.map +1 -0
  115. package/lib/commonjs/common/id.js +82 -0
  116. package/lib/commonjs/common/id.js.map +1 -0
  117. package/lib/commonjs/common/index.js +212 -0
  118. package/lib/commonjs/common/index.js.map +1 -0
  119. package/lib/commonjs/common/path.js +144 -0
  120. package/lib/commonjs/common/path.js.map +1 -0
  121. package/lib/commonjs/common/promise.js +70 -0
  122. package/lib/commonjs/common/promise.js.map +1 -0
  123. package/lib/commonjs/common/serialize.js +52 -0
  124. package/lib/commonjs/common/serialize.js.map +1 -0
  125. package/lib/commonjs/common/validate.js +239 -0
  126. package/lib/commonjs/common/validate.js.map +1 -0
  127. package/lib/commonjs/declarations.d.js +2 -0
  128. package/lib/commonjs/declarations.d.js.map +1 -0
  129. package/lib/commonjs/index.js +143 -0
  130. package/lib/commonjs/index.js.map +1 -0
  131. package/lib/commonjs/internal/GoogleMobileAdsNativeEventEmitter.js +76 -0
  132. package/lib/commonjs/internal/GoogleMobileAdsNativeEventEmitter.js.map +1 -0
  133. package/lib/commonjs/internal/Module.js +60 -0
  134. package/lib/commonjs/internal/Module.js.map +1 -0
  135. package/lib/commonjs/internal/NativeError.js +70 -0
  136. package/lib/commonjs/internal/NativeError.js.map +1 -0
  137. package/lib/commonjs/internal/SharedEventEmitter.js +31 -0
  138. package/lib/commonjs/internal/SharedEventEmitter.js.map +1 -0
  139. package/lib/commonjs/internal/constants.js +30 -0
  140. package/lib/commonjs/internal/constants.js.map +1 -0
  141. package/lib/commonjs/internal/index.js +49 -0
  142. package/lib/commonjs/internal/index.js.map +1 -0
  143. package/lib/commonjs/internal/registry/nativeModule.js +231 -0
  144. package/lib/commonjs/internal/registry/nativeModule.js.map +1 -0
  145. package/lib/commonjs/types/AdEventListener.js +6 -0
  146. package/lib/commonjs/types/AdEventListener.js.map +1 -0
  147. package/lib/commonjs/types/AdShowOptions.js +2 -0
  148. package/lib/commonjs/types/AdShowOptions.js.map +1 -0
  149. package/lib/commonjs/types/AdapterStatus.js +18 -0
  150. package/lib/commonjs/types/AdapterStatus.js.map +1 -0
  151. package/lib/commonjs/types/AdsConsent.interface.js +6 -0
  152. package/lib/commonjs/types/AdsConsent.interface.js.map +1 -0
  153. package/lib/commonjs/types/BannerAdProps.js +6 -0
  154. package/lib/commonjs/types/BannerAdProps.js.map +1 -0
  155. package/lib/commonjs/types/GoogleMobileAdsNativeModule.js +6 -0
  156. package/lib/commonjs/types/GoogleMobileAdsNativeModule.js.map +1 -0
  157. package/lib/commonjs/types/MobileAd.interface.js +6 -0
  158. package/lib/commonjs/types/MobileAd.interface.js.map +1 -0
  159. package/lib/commonjs/types/MobileAdsModule.interface.js +6 -0
  160. package/lib/commonjs/types/MobileAdsModule.interface.js.map +1 -0
  161. package/lib/commonjs/types/Module.interface.js +2 -0
  162. package/lib/commonjs/types/Module.interface.js.map +1 -0
  163. package/lib/commonjs/types/RequestConfiguration.js +6 -0
  164. package/lib/commonjs/types/RequestConfiguration.js.map +1 -0
  165. package/lib/commonjs/types/RequestOptions.js +2 -0
  166. package/lib/commonjs/types/RequestOptions.js.map +1 -0
  167. package/lib/commonjs/types/RewardedAdReward.js +2 -0
  168. package/lib/commonjs/types/RewardedAdReward.js.map +1 -0
  169. package/lib/commonjs/validateAdRequestConfiguration.js +69 -0
  170. package/lib/commonjs/validateAdRequestConfiguration.js.map +1 -0
  171. package/lib/commonjs/validateAdRequestOptions.js +158 -0
  172. package/lib/commonjs/validateAdRequestOptions.js.map +1 -0
  173. package/lib/commonjs/validateAdShowOptions.js +47 -0
  174. package/lib/commonjs/validateAdShowOptions.js.map +1 -0
  175. package/lib/commonjs/version.js +10 -0
  176. package/lib/commonjs/version.js.map +1 -0
  177. package/lib/module/AdEventType.js +26 -0
  178. package/lib/module/AdEventType.js.map +1 -0
  179. package/lib/module/AdsConsent.js +148 -0
  180. package/lib/module/AdsConsent.js.map +1 -0
  181. package/lib/module/AdsConsentDebugGeography.js +30 -0
  182. package/lib/module/AdsConsentDebugGeography.js.map +1 -0
  183. package/lib/module/AdsConsentStatus.js +28 -0
  184. package/lib/module/AdsConsentStatus.js.map +1 -0
  185. package/lib/module/BannerAdSize.js +30 -0
  186. package/lib/module/BannerAdSize.js.map +1 -0
  187. package/lib/module/MaxAdContentRating.js +25 -0
  188. package/lib/module/MaxAdContentRating.js.map +1 -0
  189. package/lib/module/MobileAds.js +53 -0
  190. package/lib/module/MobileAds.js.map +1 -0
  191. package/lib/module/RewardedAdEventType.js +23 -0
  192. package/lib/module/RewardedAdEventType.js.map +1 -0
  193. package/lib/module/TestIds.js +38 -0
  194. package/lib/module/TestIds.js.map +1 -0
  195. package/lib/module/ads/AppOpenAd.js +81 -0
  196. package/lib/module/ads/AppOpenAd.js.map +1 -0
  197. package/lib/module/ads/BannerAd.js +108 -0
  198. package/lib/module/ads/BannerAd.js.map +1 -0
  199. package/lib/module/ads/InterstitialAd.js +149 -0
  200. package/lib/module/ads/InterstitialAd.js.map +1 -0
  201. package/lib/module/ads/MobileAd.js +94 -0
  202. package/lib/module/ads/MobileAd.js.map +1 -0
  203. package/lib/module/ads/RewardedAd.js +155 -0
  204. package/lib/module/ads/RewardedAd.js.map +1 -0
  205. package/lib/module/common/Base64.js +106 -0
  206. package/lib/module/common/Base64.js.map +1 -0
  207. package/lib/module/common/MutatableParams.js +52 -0
  208. package/lib/module/common/MutatableParams.js.map +1 -0
  209. package/lib/module/common/ReferenceBase.js +50 -0
  210. package/lib/module/common/ReferenceBase.js.map +1 -0
  211. package/lib/module/common/deeps.js +91 -0
  212. package/lib/module/common/deeps.js.map +1 -0
  213. package/lib/module/common/id.js +74 -0
  214. package/lib/module/common/id.js.map +1 -0
  215. package/lib/module/common/index.js +109 -0
  216. package/lib/module/common/index.js.map +1 -0
  217. package/lib/module/common/path.js +120 -0
  218. package/lib/module/common/path.js.map +1 -0
  219. package/lib/module/common/promise.js +60 -0
  220. package/lib/module/common/promise.js.map +1 -0
  221. package/lib/module/common/serialize.js +41 -0
  222. package/lib/module/common/serialize.js.map +1 -0
  223. package/lib/module/common/validate.js +197 -0
  224. package/lib/module/common/validate.js.map +1 -0
  225. package/lib/module/declarations.d.js +2 -0
  226. package/lib/module/declarations.d.js.map +1 -0
  227. package/lib/module/index.js +33 -0
  228. package/lib/module/index.js.map +1 -0
  229. package/lib/module/internal/GoogleMobileAdsNativeEventEmitter.js +83 -0
  230. package/lib/module/internal/GoogleMobileAdsNativeEventEmitter.js.map +1 -0
  231. package/lib/module/internal/Module.js +64 -0
  232. package/lib/module/internal/Module.js.map +1 -0
  233. package/lib/module/internal/NativeError.js +61 -0
  234. package/lib/module/internal/NativeError.js.map +1 -0
  235. package/lib/module/internal/SharedEventEmitter.js +20 -0
  236. package/lib/module/internal/SharedEventEmitter.js.map +1 -0
  237. package/lib/module/internal/constants.js +20 -0
  238. package/lib/module/internal/constants.js.map +1 -0
  239. package/lib/module/internal/index.js +21 -0
  240. package/lib/module/internal/index.js.map +1 -0
  241. package/lib/module/internal/registry/nativeModule.js +215 -0
  242. package/lib/module/internal/registry/nativeModule.js.map +1 -0
  243. package/lib/module/types/AdEventListener.js +2 -0
  244. package/lib/module/types/AdEventListener.js.map +1 -0
  245. package/lib/module/types/AdShowOptions.js +2 -0
  246. package/lib/module/types/AdShowOptions.js.map +1 -0
  247. package/lib/module/types/AdapterStatus.js +10 -0
  248. package/lib/module/types/AdapterStatus.js.map +1 -0
  249. package/lib/module/types/AdsConsent.interface.js +2 -0
  250. package/lib/module/types/AdsConsent.interface.js.map +1 -0
  251. package/lib/module/types/BannerAdProps.js +2 -0
  252. package/lib/module/types/BannerAdProps.js.map +1 -0
  253. package/lib/module/types/GoogleMobileAdsNativeModule.js +2 -0
  254. package/lib/module/types/GoogleMobileAdsNativeModule.js.map +1 -0
  255. package/lib/module/types/MobileAd.interface.js +2 -0
  256. package/lib/module/types/MobileAd.interface.js.map +1 -0
  257. package/lib/module/types/MobileAdsModule.interface.js +2 -0
  258. package/lib/module/types/MobileAdsModule.interface.js.map +1 -0
  259. package/lib/module/types/Module.interface.js +2 -0
  260. package/lib/module/types/Module.interface.js.map +1 -0
  261. package/lib/module/types/RequestConfiguration.js +2 -0
  262. package/lib/module/types/RequestConfiguration.js.map +1 -0
  263. package/lib/module/types/RequestOptions.js +2 -0
  264. package/lib/module/types/RequestOptions.js.map +1 -0
  265. package/lib/module/types/RewardedAdReward.js +2 -0
  266. package/lib/module/types/RewardedAdReward.js.map +1 -0
  267. package/lib/module/validateAdRequestConfiguration.js +60 -0
  268. package/lib/module/validateAdRequestConfiguration.js.map +1 -0
  269. package/lib/module/validateAdRequestOptions.js +150 -0
  270. package/lib/module/validateAdRequestOptions.js.map +1 -0
  271. package/lib/module/validateAdShowOptions.js +39 -0
  272. package/lib/module/validateAdShowOptions.js.map +1 -0
  273. package/lib/module/version.js +3 -0
  274. package/lib/module/version.js.map +1 -0
  275. package/lib/typescript/AdEventType.d.ts +47 -0
  276. package/lib/typescript/AdsConsent.d.ts +2 -0
  277. package/lib/typescript/AdsConsentDebugGeography.d.ts +19 -0
  278. package/lib/typescript/AdsConsentStatus.d.ts +17 -0
  279. package/lib/typescript/BannerAdSize.d.ts +34 -0
  280. package/lib/typescript/MaxAdContentRating.d.ts +18 -0
  281. package/lib/typescript/MobileAds.d.ts +11 -0
  282. package/lib/typescript/RewardedAdEventType.d.ts +46 -0
  283. package/lib/typescript/TestIds.d.ts +6 -0
  284. package/lib/typescript/ads/AppOpenAd.d.ts +11 -0
  285. package/lib/typescript/ads/BannerAd.d.ts +3 -0
  286. package/lib/typescript/ads/InterstitialAd.d.ts +78 -0
  287. package/lib/typescript/ads/MobileAd.d.ts +32 -0
  288. package/lib/typescript/ads/RewardedAd.d.ts +84 -0
  289. package/lib/typescript/common/Base64.d.ts +14 -0
  290. package/lib/typescript/common/MutatableParams.d.ts +9 -0
  291. package/lib/typescript/common/ReferenceBase.d.ts +11 -0
  292. package/lib/typescript/common/deeps.d.ts +18 -0
  293. package/lib/typescript/common/id.d.ts +11 -0
  294. package/lib/typescript/common/index.d.ts +28 -0
  295. package/lib/typescript/common/path.d.ts +43 -0
  296. package/lib/typescript/common/promise.d.ts +13 -0
  297. package/lib/typescript/common/serialize.d.ts +5 -0
  298. package/lib/typescript/common/validate.d.ts +90 -0
  299. package/lib/typescript/index.d.ts +14 -0
  300. package/lib/typescript/internal/GoogleMobileAdsNativeEventEmitter.d.ts +12 -0
  301. package/lib/typescript/internal/Module.d.ts +13 -0
  302. package/lib/typescript/internal/NativeError.d.ts +26 -0
  303. package/lib/typescript/internal/SharedEventEmitter.d.ts +2 -0
  304. package/lib/typescript/internal/constants.d.ts +3 -0
  305. package/lib/typescript/internal/index.d.ts +4 -0
  306. package/lib/typescript/internal/registry/nativeModule.d.ts +15 -0
  307. package/lib/typescript/types/AdEventListener.d.ts +11 -0
  308. package/lib/typescript/types/AdShowOptions.d.ts +12 -0
  309. package/lib/typescript/types/AdapterStatus.d.ts +18 -0
  310. package/lib/typescript/types/AdsConsent.interface.d.ts +286 -0
  311. package/lib/typescript/types/BannerAdProps.d.ts +66 -0
  312. package/lib/typescript/types/GoogleMobileAdsNativeModule.d.ts +14 -0
  313. package/lib/typescript/types/MobileAd.interface.d.ts +64 -0
  314. package/lib/typescript/types/MobileAdsModule.interface.d.ts +38 -0
  315. package/lib/typescript/types/Module.interface.d.ts +14 -0
  316. package/lib/typescript/types/RequestConfiguration.d.ts +36 -0
  317. package/lib/typescript/types/RequestOptions.d.ts +106 -0
  318. package/lib/typescript/types/RewardedAdReward.d.ts +13 -0
  319. package/lib/typescript/validateAdRequestConfiguration.d.ts +2 -0
  320. package/lib/typescript/validateAdRequestOptions.d.ts +2 -0
  321. package/lib/typescript/validateAdShowOptions.d.ts +2 -0
  322. package/lib/typescript/version.d.ts +1 -0
  323. package/package.json +143 -0
  324. package/react-native.config.js +19 -0
  325. package/src/AdEventType.ts +68 -0
  326. package/src/AdsConsent.ts +191 -0
  327. package/src/AdsConsentDebugGeography.ts +38 -0
  328. package/src/AdsConsentStatus.ts +36 -0
  329. package/src/BannerAdSize.ts +59 -0
  330. package/src/MaxAdContentRating.ts +38 -0
  331. package/src/MobileAds.ts +84 -0
  332. package/src/RewardedAdEventType.ts +64 -0
  333. package/src/TestIds.ts +39 -0
  334. package/src/ads/AppOpenAd.ts +85 -0
  335. package/src/ads/BannerAd.tsx +126 -0
  336. package/src/ads/InterstitialAd.ts +156 -0
  337. package/src/ads/MobileAd.ts +101 -0
  338. package/src/ads/RewardedAd.ts +161 -0
  339. package/src/common/Base64.ts +114 -0
  340. package/src/common/MutatableParams.ts +50 -0
  341. package/src/common/ReferenceBase.ts +45 -0
  342. package/src/common/deeps.ts +88 -0
  343. package/src/common/id.ts +74 -0
  344. package/src/common/index.ts +103 -0
  345. package/src/common/path.ts +114 -0
  346. package/src/common/promise.ts +66 -0
  347. package/src/common/serialize.ts +43 -0
  348. package/src/common/validate.ts +205 -0
  349. package/src/declarations.d.ts +3 -0
  350. package/src/index.ts +35 -0
  351. package/src/internal/GoogleMobileAdsNativeEventEmitter.ts +81 -0
  352. package/src/internal/Module.ts +58 -0
  353. package/src/internal/NativeError.ts +56 -0
  354. package/src/internal/SharedEventEmitter.ts +22 -0
  355. package/src/internal/constants.ts +43 -0
  356. package/src/internal/index.ts +21 -0
  357. package/src/internal/registry/nativeModule.ts +226 -0
  358. package/src/types/AdEventListener.ts +16 -0
  359. package/src/types/AdShowOptions.ts +12 -0
  360. package/src/types/AdapterStatus.ts +20 -0
  361. package/src/types/AdsConsent.interface.ts +306 -0
  362. package/src/types/BannerAdProps.ts +73 -0
  363. package/src/types/GoogleMobileAdsNativeModule.ts +15 -0
  364. package/src/types/MobileAd.interface.ts +69 -0
  365. package/src/types/MobileAdsModule.interface.ts +43 -0
  366. package/src/types/Module.interface.ts +16 -0
  367. package/src/types/RequestConfiguration.ts +40 -0
  368. package/src/types/RequestOptions.ts +113 -0
  369. package/src/types/RewardedAdReward.ts +14 -0
  370. package/src/validateAdRequestConfiguration.ts +71 -0
  371. package/src/validateAdRequestOptions.ts +168 -0
  372. package/src/validateAdShowOptions.ts +41 -0
  373. package/src/version.ts +2 -0
@@ -0,0 +1,32 @@
1
+ import { EmitterSubscription } from 'react-native';
2
+ import { RewardedAdEventType } from '../RewardedAdEventType';
3
+ import { AdEventType } from '../AdEventType';
4
+ import { AdEventListener } from '../types/AdEventListener';
5
+ import { RequestOptions } from '../types/RequestOptions';
6
+ import { MobileAdsModuleInterface } from '../types/MobileAdsModule.interface';
7
+ import { RewardedAdReward } from '../types/RewardedAdReward';
8
+ export declare class MobileAd {
9
+ _type: 'app_open' | 'interstitial' | 'rewarded';
10
+ _googleMobileAds: MobileAdsModuleInterface;
11
+ _requestId: number;
12
+ _adUnitId: string;
13
+ _requestOptions: RequestOptions;
14
+ _loaded: boolean;
15
+ _isLoadCalled: boolean;
16
+ _onAdEventHandler: AdEventListener | null;
17
+ _nativeListener: EmitterSubscription;
18
+ constructor(type: 'app_open' | 'interstitial' | 'rewarded', googleMobileAds: MobileAdsModuleInterface, requestId: number, adUnitId: string, requestOptions: RequestOptions);
19
+ _handleAdEvent(event: {
20
+ body: {
21
+ type: AdEventType | RewardedAdEventType;
22
+ error?: {
23
+ code: string;
24
+ message: string;
25
+ };
26
+ data?: RewardedAdReward;
27
+ };
28
+ }): void;
29
+ _setAdEventHandler(handler: AdEventListener): () => null;
30
+ get adUnitId(): string;
31
+ get loaded(): boolean;
32
+ }
@@ -0,0 +1,84 @@
1
+ import { MobileAd } from './MobileAd';
2
+ import { AdEventListener } from '../types/AdEventListener';
3
+ import { AdShowOptions } from '../types/AdShowOptions';
4
+ import { RequestOptions } from '../types/RequestOptions';
5
+ import { MobileAdInterface } from '../types/MobileAd.interface';
6
+ /**
7
+ * A class for interacting and showing Rewarded Ads.
8
+ *
9
+ * 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
10
+ * in a game. The content of a rewarded advert can be controlled via your Google Mobile Ads dashboard. Typically users are rewarded
11
+ * after completing a specific advert action (e.g. watching a video or submitting an option via an interactive form).
12
+ * Events (such as the user earning a reward or closing a rewarded advert early) are sent back for you to handle accordingly
13
+ * within your application.
14
+ *
15
+ * #### Example
16
+ *
17
+ * First create a new Rewarded instance, passing in your Ad Unit ID from the Google Mobile Ads configuration console, and any additional
18
+ * request options. The example below will present a test advert, and only request a non-personalized ad.
19
+ *
20
+ * ```js
21
+ * import { RewardedAd, TestIds } from 'react-native-google-mobile-ads';
22
+ *
23
+ * const rewarded = RewardedAd.createForAdRequest(TestIds.REWARDED, {
24
+ * requestNonPersonalizedAdsOnly: true,
25
+ * });
26
+ * ```
27
+ *
28
+ * Each advert needs to be loaded from Google Mobile Ads before being shown. It is recommended this is performed before the user
29
+ * reaches the checkpoint to show the advert, so it's ready to go. Before loading the advert, we need to setup
30
+ * event listeners to listen for updates from Google Mobile Ads, such as advert loaded or failed to load.
31
+ *
32
+ * Event types match the `AdEventType` or `RewardedAdEventType` interface. The potential user reward for rewarded
33
+ * adverts are passed back to the event handler on advert load and when the user earns the reward.
34
+ *
35
+ * ```js
36
+ * import { RewardedAdEventType } from 'react-native-google-mobile-ads';
37
+ *
38
+ * rewarded.onAdEvent((type, error, reward) => {
39
+ * if (type === RewardedAdEventType.LOADED) {
40
+ * rewarded.show();
41
+ * }
42
+ * if (type === RewardedAdEventType.EARNED_REWARD) {
43
+ * console.log('User earned reward of ', reward);
44
+ * }
45
+ * });
46
+ *
47
+ * rewarded.load();
48
+ * ```
49
+ *
50
+ * The rewarded advert will be presented to the user, and several more events can be triggered such as the user clicking the
51
+ * advert, closing it or completing the action.
52
+ */
53
+ export declare class RewardedAd extends MobileAd implements MobileAdInterface {
54
+ /**
55
+ * Creates a new RewardedAd instance.
56
+ *
57
+ * #### Example
58
+ *
59
+ * ```js
60
+ * import { RewardedAd, RewardedAdEventType, TestIds } from 'react-native-google-mobile-ads';
61
+ *
62
+ * const rewardedAd = await RewardedAd.createForAdRequest(TestIds.REWARDED, {
63
+ * requestAgent: 'CoolAds',
64
+ * });
65
+ *
66
+ * rewardedAd.onAdEvent((type, error, data) => {
67
+ * console.log('New event: ', type, error);
68
+ *
69
+ * if (type === RewardedAdEventType.LOADED) {
70
+ * rewardedAd.show();
71
+ * }
72
+ * });
73
+ *
74
+ * rewardedAd.load();
75
+ * ```
76
+ *
77
+ * @param adUnitId The Ad Unit ID for the Rewarded Ad. You can find this on your Google Mobile Ads dashboard.
78
+ * @param requestOptions Optional RequestOptions used to load the ad.
79
+ */
80
+ static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): RewardedAd;
81
+ load(): void;
82
+ onAdEvent(handler: AdEventListener): () => null;
83
+ show(showOptions?: AdShowOptions): Promise<void>;
84
+ }
@@ -0,0 +1,14 @@
1
+ /// <reference types="react-native" />
2
+ /// <reference types="node" />
3
+ /**
4
+ * window.btoa
5
+ */
6
+ export declare function btoa(input: string): string;
7
+ /**
8
+ * window.atob
9
+ */
10
+ export declare function atob(input: string): string;
11
+ /**
12
+ * Converts a Blob, ArrayBuffer or Uint8Array to a base64 string.
13
+ */
14
+ export declare function fromData(data: Blob | ArrayBuffer | Uint8Array): Promise<unknown> | null;
@@ -0,0 +1,9 @@
1
+ export declare class MutatableParams {
2
+ _mutatableParams: Record<string, unknown>;
3
+ _parentInstance: MutatableParams;
4
+ constructor(parentInstance: MutatableParams);
5
+ set(param: string, value: unknown): MutatableParams;
6
+ get(param: string): unknown;
7
+ toJSON(): Record<string, unknown>;
8
+ validate(): void;
9
+ }
@@ -0,0 +1,11 @@
1
+ export declare class ReferenceBase {
2
+ path: string;
3
+ constructor(_path: string);
4
+ /**
5
+ * The last part of a Reference's path (after the last '/')
6
+ * The key of a root Reference is null.
7
+ * @type {String}
8
+ * {@link https://firebase.google.com/docs/reference/js/firebase.database.Reference#key}
9
+ */
10
+ get key(): string | null;
11
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Deep get a value from an object.
3
+ * @website https://github.com/Salakar/deeps
4
+ * @param object
5
+ * @param path
6
+ * @param joiner
7
+ * @returns {*}
8
+ */
9
+ export declare function deepGet(object: Record<string, unknown>, path: string, joiner?: string): unknown;
10
+ /**
11
+ * Deep set a value
12
+ * @param object
13
+ * @param path
14
+ * @param value
15
+ * @param initPaths
16
+ * @param joiner
17
+ */
18
+ export declare function deepSet(object: Record<string, unknown>, path: string, value: unknown, initPaths?: boolean, joiner?: string): boolean;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Generate a firebase id - for use with ref().push(val, cb) - e.g. -KXMr7k2tXUFQqiaZRY4'
3
+ * @param serverTimeOffset - pass in server time offset from native side
4
+ * @returns {string}
5
+ */
6
+ export declare function generateDatabaseId(serverTimeOffset?: number): string;
7
+ /**
8
+ * Generate a firestore auto id for use with collection/document .add()
9
+ * @return {string}
10
+ */
11
+ export declare function generateFirestoreId(): string;
@@ -0,0 +1,28 @@
1
+ import * as Base64 from './Base64';
2
+ export * from './id';
3
+ export * from './path';
4
+ export * from './promise';
5
+ export * from './validate';
6
+ export { Base64 };
7
+ export { ReferenceBase } from './ReferenceBase';
8
+ export declare function getDataUrlParts(dataUrlString: string): {
9
+ base64String: undefined;
10
+ mediaType: undefined;
11
+ } | {
12
+ base64String: string;
13
+ mediaType: string;
14
+ };
15
+ export declare function once<T>(fn: () => void, context: unknown): (this: T, ...args: []) => void;
16
+ export declare function isError(value: unknown): boolean;
17
+ export declare function hasOwnProperty(target: unknown, property: PropertyKey): boolean;
18
+ /**
19
+ * Remove a trailing forward slash from a string if it exists
20
+ *
21
+ * @param string
22
+ * @returns {*}
23
+ */
24
+ export declare function stripTrailingSlash(string: string): string;
25
+ export declare const isIOS: boolean;
26
+ export declare const isAndroid: boolean;
27
+ export declare function tryJSONParse(string: string): any;
28
+ export declare function tryJSONStringify(data: unknown): string | null;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Returns the next parent of the path e.g. /foo/bar/car -> /foo/bar
3
+ */
4
+ export declare function pathParent(path: string): string | null;
5
+ /**
6
+ * Joins a parent and a child path
7
+ */
8
+ export declare function pathChild(path: string, childPath: string): string;
9
+ /**
10
+ * Returns the last component of a path, e.g /foo/bar.jpeg -> bar.jpeg
11
+ */
12
+ export declare function pathLastComponent(path: string): string;
13
+ /**
14
+ * Returns all none empty pieces of the path
15
+ * @param path
16
+ * @returns {*}
17
+ */
18
+ export declare function pathPieces(path: string): string[];
19
+ /**
20
+ * Returns whether a given path is empty
21
+ * @param path
22
+ * @returns {boolean}
23
+ */
24
+ export declare function pathIsEmpty(path: string): boolean;
25
+ /**
26
+ * Converts a given path to a URL encoded string
27
+ * @param path
28
+ * @returns {string|string}
29
+ */
30
+ export declare function pathToUrlEncodedString(path: string): string;
31
+ export declare const INVALID_PATH_REGEX: RegExp;
32
+ /**
33
+ * Ensures a given path is a valid Firebase path
34
+ * @param path
35
+ * @returns {boolean}
36
+ */
37
+ export declare function isValidPath(path: unknown): boolean;
38
+ /**
39
+ * Converts a file path to a standardized string path
40
+ * @param path
41
+ * @returns {*}
42
+ */
43
+ export declare function toFilePath(path: string): string;
@@ -0,0 +1,13 @@
1
+ /**
2
+ *
3
+ */
4
+ export declare function promiseDefer(): {
5
+ promise: Promise<unknown> | null;
6
+ resolve: (value: unknown) => void;
7
+ reject: (value: unknown) => void;
8
+ };
9
+ /**
10
+ * @param promise
11
+ * @param callback
12
+ */
13
+ export declare function promiseWithOptionalCallback(promise: Promise<unknown>, callback: (a: unknown, b?: unknown) => void): Promise<unknown>;
@@ -0,0 +1,5 @@
1
+ export declare function serializeType(value: unknown): {
2
+ type: string;
3
+ value: any;
4
+ };
5
+ export declare function serializeObject(object: unknown): any;
@@ -0,0 +1,90 @@
1
+ export declare function objectKeyValuesAreStrings(object: Record<string, unknown>): boolean;
2
+ /**
3
+ * Simple is null check.
4
+ *
5
+ * @param value
6
+ * @returns {boolean}
7
+ */
8
+ export declare function isNull(value: unknown): boolean;
9
+ /**
10
+ * Simple is object check.
11
+ *
12
+ * @param value
13
+ * @returns {boolean}
14
+ */
15
+ export declare function isObject(value: unknown): boolean;
16
+ /**
17
+ * Simple is date check
18
+ * https://stackoverflow.com/a/44198641
19
+ * @param value
20
+ * @returns {boolean}
21
+ */
22
+ export declare function isDate(value: number): boolean | 0;
23
+ /**
24
+ * Simple is function check
25
+ *
26
+ * @param value
27
+ * @returns {*|boolean}
28
+ */
29
+ export declare function isFunction(value: unknown): boolean;
30
+ /**
31
+ * Simple is string check
32
+ * @param value
33
+ * @return {boolean}
34
+ */
35
+ export declare function isString(value: unknown): boolean;
36
+ /**
37
+ * Simple is number check
38
+ * @param value
39
+ * @return {boolean}
40
+ */
41
+ export declare function isNumber(value: unknown): value is number;
42
+ /**
43
+ * Simple finite check
44
+ * @param value
45
+ * @returns {boolean}
46
+ */
47
+ export declare function isFinite(value: unknown): boolean;
48
+ /**
49
+ * Simple integer check
50
+ * @param value
51
+ * @returns {boolean}
52
+ */
53
+ export declare function isInteger(value: unknown): boolean;
54
+ /**
55
+ * Simple is boolean check
56
+ *
57
+ * @param value
58
+ * @return {boolean}
59
+ */
60
+ export declare function isBoolean(value: unknown): boolean;
61
+ /**
62
+ *
63
+ * @param value
64
+ * @returns {arg is Array<unknown>}
65
+ */
66
+ export declare function isArray(value: unknown): boolean;
67
+ /**
68
+ *
69
+ * @param value
70
+ * @returns {boolean}
71
+ */
72
+ export declare function isUndefined(value: unknown): value is undefined;
73
+ /**
74
+ * /^[a-zA-Z0-9_]+$/
75
+ *
76
+ * @param value
77
+ * @returns {boolean}
78
+ */
79
+ export declare function isAlphaNumericUnderscore(value: string): boolean;
80
+ export declare function isValidUrl(url: string): boolean;
81
+ /**
82
+ * Array includes
83
+ *
84
+ * @param value
85
+ * @param oneOf
86
+ * @returns {boolean}
87
+ */
88
+ export declare function isOneOf(value: unknown, oneOf?: unknown[]): boolean;
89
+ export declare function noop(): void;
90
+ export declare function validateOptionalNativeDependencyExists(firebaseJsonKey: string, apiName: string, nativeFnExists: boolean): void;
@@ -0,0 +1,14 @@
1
+ export declare const SDK_VERSION = "4.1.0";
2
+ export { default, MobileAds } from './MobileAds';
3
+ export { AdsConsentDebugGeography } from './AdsConsentDebugGeography';
4
+ export { AdsConsentStatus } from './AdsConsentStatus';
5
+ export { MaxAdContentRating } from './MaxAdContentRating';
6
+ export { TestIds } from './TestIds';
7
+ export { AdEventType } from './AdEventType';
8
+ export { BannerAdSize } from './BannerAdSize';
9
+ export { RewardedAdEventType } from './RewardedAdEventType';
10
+ export { AdsConsent } from './AdsConsent';
11
+ export { AppOpenAd } from './ads/AppOpenAd';
12
+ export { InterstitialAd } from './ads/InterstitialAd';
13
+ export { RewardedAd } from './ads/RewardedAd';
14
+ export { BannerAd } from './ads/BannerAd';
@@ -0,0 +1,12 @@
1
+ import { NativeEventEmitter, EmitterSubscription } from 'react-native';
2
+ declare class GANativeEventEmitter extends NativeEventEmitter {
3
+ ready: boolean;
4
+ constructor();
5
+ addListener(eventType: string, listener: (event: {
6
+ appName?: string;
7
+ }) => void, context?: Record<string, unknown>): EmitterSubscription;
8
+ removeAllListeners(eventType: string): void;
9
+ removeSubscription(subscription: EmitterSubscription): void;
10
+ }
11
+ export declare const GoogleMobileAdsNativeEventEmitter: GANativeEventEmitter;
12
+ export {};
@@ -0,0 +1,13 @@
1
+ import { App, Config } from '../types/Module.interface';
2
+ import { GoogleMobileAdsNativeModule } from '../types/GoogleMobileAdsNativeModule';
3
+ export declare class AppModule {
4
+ _app: App;
5
+ _nativeModule: unknown;
6
+ _config: Config;
7
+ static __extended__: {};
8
+ constructor(app: App, config: Config);
9
+ get app(): App;
10
+ get emitter(): import("react-native").EventEmitter;
11
+ eventNameForApp(...args: string[]): string;
12
+ get native(): GoogleMobileAdsNativeModule;
13
+ }
@@ -0,0 +1,26 @@
1
+ export declare class NativeError extends Error {
2
+ namespace: string;
3
+ code: string;
4
+ message: string;
5
+ jsStack: string;
6
+ userInfo: {
7
+ code: string;
8
+ message: string;
9
+ };
10
+ static fromEvent(errorEvent: {
11
+ code: string;
12
+ message: string;
13
+ }, namespace: string, stack?: string): NativeError;
14
+ constructor(nativeError: {
15
+ userInfo: {
16
+ code: string;
17
+ message: string;
18
+ };
19
+ }, jsStack: string, namespace: string);
20
+ /**
21
+ * Build a stack trace that includes JS stack prior to calling the native method.
22
+ *
23
+ * @returns {string}
24
+ */
25
+ static getStackWithMessage(message: string, jsStack: string): string;
26
+ }
@@ -0,0 +1,2 @@
1
+ import { EventEmitter } from 'react-native';
2
+ export declare const SharedEventEmitter: EventEmitter;
@@ -0,0 +1,3 @@
1
+ export declare const APP_NATIVE_MODULE = "RNFBAppModule";
2
+ export declare const DEFAULT_APP_NAME = "[DEFAULT]";
3
+ export declare const KNOWN_NAMESPACES: string[];
@@ -0,0 +1,4 @@
1
+ export { AppModule as Module } from './Module';
2
+ export { NativeError } from './NativeError';
3
+ export * from './registry/nativeModule';
4
+ export { SharedEventEmitter } from './SharedEventEmitter';
@@ -0,0 +1,15 @@
1
+ import { ModuleInterface } from '../../types/Module.interface';
2
+ /**
3
+ * Gets a wrapped native module instance for the provided module.
4
+ * Will attempt to create a new instance if non previously created.
5
+ *
6
+ * @param module
7
+ * @returns {*}
8
+ */
9
+ export declare function getNativeModule(module: ModuleInterface): unknown;
10
+ /**
11
+ * Custom wrapped app module as it does not have it's own FirebaseModule based class.
12
+ *
13
+ * @returns {*}
14
+ */
15
+ export declare function getAppModule(): unknown;
@@ -0,0 +1,11 @@
1
+ import { AdEventType } from '../AdEventType';
2
+ import { RewardedAdReward } from './RewardedAdReward';
3
+ import { RewardedAdEventType } from '../RewardedAdEventType';
4
+ /**
5
+ * A callback interface for all ad events.
6
+ *
7
+ * @param type The event type, e.g. `AdEventType.LOADED`.
8
+ * @param error An optional JavaScript Error containing the error code and message.
9
+ * @param data Optional data for the event, e.g. reward type and amount
10
+ */
11
+ export declare type AdEventListener = (type: AdEventType | RewardedAdEventType, error?: Error, data?: RewardedAdReward) => void;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A `AdShowOptions` interface used when showing an ad.
3
+ */
4
+ export interface AdShowOptions {
5
+ /**
6
+ * - On Android, enables [immersive mode](https://developer.android.com/training/system-ui/immersive).
7
+ * - On iOS, this has no effect on how the ad is shown.
8
+ *
9
+ * @android
10
+ */
11
+ immersiveModeEnabled?: boolean;
12
+ }
@@ -0,0 +1,18 @@
1
+ export declare enum InitializationState {
2
+ /**
3
+ * The mediation adapter is less likely to fill ad requests.
4
+ */
5
+ AdapterInitializationStateNotReady = 0,
6
+ /**
7
+ * The mediation adapter is ready to service ad requests.
8
+ */
9
+ AdapterInitializationStateReady = 1
10
+ }
11
+ /**
12
+ * An immutable snapshot of a mediation adapter's initialization status.
13
+ */
14
+ export declare type AdapterStatus = {
15
+ name: string;
16
+ description: string;
17
+ status: InitializationState;
18
+ };