UNPKG

react-native-firebase-compiled

Version:

A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Functions, Messaging (FCM), Remote Config, Sto

123 lines (89 loc) 4.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.statics = exports.default = exports.NAMESPACE = exports.MODULE_NAME = void 0; var _events = require("../../utils/events"); var _log = require("../../utils/log"); var _native = require("../../utils/native"); var _ModuleBase = _interopRequireDefault(require("../../utils/ModuleBase")); var _Interstitial = _interopRequireDefault(require("./Interstitial")); var _RewardedVideo = _interopRequireDefault(require("./RewardedVideo")); var _AdRequest = _interopRequireDefault(require("./AdRequest")); var _VideoOptions = _interopRequireDefault(require("./VideoOptions")); var _Banner = _interopRequireDefault(require("./Banner")); var _NativeExpress = _interopRequireDefault(require("./NativeExpress")); var _EventTypes = _interopRequireWildcard(require("./EventTypes")); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } const NATIVE_EVENTS = ['interstitial_event', 'rewarded_video_event']; const MODULE_NAME = 'RNFirebaseAdMob'; exports.MODULE_NAME = MODULE_NAME; const NAMESPACE = 'admob'; exports.NAMESPACE = NAMESPACE; class AdMob extends _ModuleBase.default { constructor(app) { super(app, { events: NATIVE_EVENTS, moduleName: MODULE_NAME, hasMultiAppSupport: false, hasCustomUrlSupport: false, namespace: NAMESPACE }); _defineProperty(this, "_appId", void 0); _defineProperty(this, "_initialized", void 0); this._initialized = false; this._appId = null; _events.SharedEventEmitter.addListener('interstitial_event', this._onInterstitialEvent.bind(this)); _events.SharedEventEmitter.addListener('rewarded_video_event', this._onRewardedVideoEvent.bind(this)); } _onInterstitialEvent(event) { const adUnit = event.adUnit; const jsEventType = `interstitial_${adUnit}`; if (_events.SharedEventEmitter.listeners(jsEventType).length === 0) {// TODO } _events.SharedEventEmitter.emit(jsEventType, event); } _onRewardedVideoEvent(event) { const adUnit = event.adUnit; const jsEventType = `rewarded_video_${adUnit}`; if (_events.SharedEventEmitter.listeners(jsEventType).length === 0) {// TODO } _events.SharedEventEmitter.emit(jsEventType, event); } initialize(appId) { if (this._initialized) { (0, _log.getLogger)(this).warn('AdMob has already been initialized!'); } else { this._initialized = true; this._appId = appId; (0, _native.getNativeModule)(this).initialize(appId); } } openDebugMenu() { if (!this._initialized) { (0, _log.getLogger)(this).warn('AdMob needs to be initialized before opening the dev menu!'); } else { (0, _log.getLogger)(this).info('Opening debug menu'); (0, _native.getNativeModule)(this).openDebugMenu(this._appId); } } interstitial(adUnit) { return new _Interstitial.default(this, adUnit); } rewarded(adUnit) { return new _RewardedVideo.default(this, adUnit); } } exports.default = AdMob; const statics = { Banner: _Banner.default, NativeExpress: _NativeExpress.default, AdRequest: _AdRequest.default, VideoOptions: _VideoOptions.default, EventTypes: _EventTypes.default, RewardedVideoEventTypes: _EventTypes.RewardedVideoEventTypes, NativeExpressEventTypes: _EventTypes.NativeExpressEventTypes }; exports.statics = statics;