UNPKG

react-native-admob-native-ads

Version:

A simple and robust library for creating & displaying Admob Native Ads in your React Native App using Native Views

71 lines (57 loc) 1.79 kB
import { DeviceEventEmitter, NativeModules } from "react-native"; import { AdOptions } from "./utils"; const RNAdmobNativeAdsManager = NativeModules.RNAdmobNativeAdsManager; async function setRequestConfiguration(config) { return RNAdmobNativeAdsManager.setRequestConfiguration(config); } async function openAdInspector() { return RNAdmobNativeAdsManager.openAdInspector(); } async function openDebugMenu(adUnitId) { if (!adUnitId) { throw new Error("adUnitId is required to open debug menu"); } return RNAdmobNativeAdsManager.openDebugMenu(adUnitId); } async function isTestDevice() { return RNAdmobNativeAdsManager.isTestDevice(); } function registerRepository(config) { if (config.mediaAspectRatio) { config.mediaAspectRatio = AdOptions.mediaAspectRatio[config.mediaAspectRatio]; } if (config.adChoicesPlacement) { config.adChoicesPlacement = AdOptions.adChoicesPlacement[config.adChoicesPlacement]; } if (config.swipeGestureDirection) { config.swipeGestureDirection = AdOptions.swipeGestureDirection[config.swipeGestureDirection]; } return RNAdmobNativeAdsManager.registerRepository(config); } function unRegisterRepository(name) { return RNAdmobNativeAdsManager.unRegisterRepository(name); } async function hasAd(name) { return RNAdmobNativeAdsManager.hasAd(name); } async function resetCache() { return RNAdmobNativeAdsManager.resetCache(); } function subscribe(repo, eventName, listener) { console.log('subscribed: ', `${eventName}:${repo}`); return DeviceEventEmitter.addListener(`${eventName}:${repo}`, listener); } export default { setRequestConfiguration, isTestDevice, registerRepository, hasAd, unRegisterRepository, resetCache, subscribe, openAdInspector, openDebugMenu, };