UNPKG

react-native-ad-manager

Version:

A react-native component for Google Ad Manager banners, interstitials and native ads.

88 lines (87 loc) 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _reactNative = require("react-native"); var _utils = require("./utils"); var _Constants = require("./Constants"); const CTKInterstitial = _reactNative.NativeModules.CTKInterstitial ? _reactNative.NativeModules.CTKInterstitial : new Proxy({}, { get() { throw new Error(_Constants.LINKING_ERROR); } }); const eventEmitter = new _reactNative.NativeEventEmitter(CTKInterstitial); const eventMap = { adLoaded: 'interstitialAdLoaded', adFailedToLoad: 'interstitialAdFailedToLoad', adOpened: 'interstitialAdOpened', adClosed: 'interstitialAdClosed' }; const _subscriptions = new Map(); const addEventListener = (event, handler) => { const mappedEvent = eventMap[event]; if (mappedEvent) { let listener; if (event === 'adFailedToLoad') { listener = eventEmitter.addListener(mappedEvent, error => handler((0, _utils.createErrorFromErrorData)(error))); } else { listener = eventEmitter.addListener(mappedEvent, handler); } _subscriptions.set(handler, listener); return { remove: () => removeEventListener(event, handler) }; } else { console.warn(`Trying to subscribe to unknown event: "${event}"`); return { remove: () => {} }; } }; const removeEventListener = (_event, handler) => { const listener = _subscriptions.get(handler); if (!listener) { return; } listener.remove(); _subscriptions.delete(handler); }; const removeAllListeners = () => { _subscriptions.forEach((listener, key, map) => { listener.remove(); map.delete(key); }); }; const simulatorId = 'SIMULATOR'; const setAdUnitID = adUnitID => { CTKInterstitial.setAdUnitID(adUnitID); }; const setTestDevices = testDevices => { CTKInterstitial.setTestDevices(testDevices); }; const setTargeting = targeting => { CTKInterstitial.setTargeting(targeting); }; const requestAd = () => { return CTKInterstitial.requestAd(); }; const showAd = () => { return CTKInterstitial.showAd(); }; const isReady = callback => { return CTKInterstitial.isReady(callback); }; var _default = exports.default = { addEventListener, removeEventListener, removeAllListeners, simulatorId, setAdUnitID, setTestDevices, setTargeting, requestAd, showAd, isReady }; //# sourceMappingURL=CTKAdManagerInterstitial.js.map