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
JavaScript
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;
;