diff --git a/lib/modules/admob/AdRequest.js b/lib/modules/admob/AdRequest.js new file mode 100644 index 00000000..217db457 --- /dev/null +++ b/lib/modules/admob/AdRequest.js @@ -0,0 +1,22 @@ +export default class AdRequest { + + constructor() { + this._props = { + keywords: [], + }; + } + + build() { + return this._props; + } + + addTestDevice() { + this._props.testDevice = true; + return this; + } + + addKeyword(word: string) { + this._props.keywords.push(word); + return this; + } +} diff --git a/lib/modules/admob/Interstitial.js b/lib/modules/admob/Interstitial.js new file mode 100644 index 00000000..84f03853 --- /dev/null +++ b/lib/modules/admob/Interstitial.js @@ -0,0 +1,29 @@ +import { NativeModules } from 'react-native'; + +const FirebaseAdMob = NativeModules.RNFirebaseAdmob; + +export default class Interstitial { + + constructor(admob: Object, eventListener: Object, adunit: string) { + this.admob = admob; + this.adUnit = adunit; + + eventListener.addListener('interstitial_event', this._onInterstitialEvent.bind(this)); + } + + _onInterstitialEvent(event) { + + } + + loadAd(request: AdRequest) { + return FirebaseAdMob.interstitialLoadAd(this.adUnit, request); + } + + isLoaded() { + return true; + } + + show() { + return FirebaseAdMob.interstitialShowAd(this.adUnit); + } +} diff --git a/lib/modules/admob/index.js b/lib/modules/admob/index.js index b9591bce..cb9f81cd 100644 --- a/lib/modules/admob/index.js +++ b/lib/modules/admob/index.js @@ -1 +1,20 @@ -export const Banner = require('./Banner'); +import Interstitial from './Interstitial'; +import AdRequest from './AdRequest'; +import Banner from './Banner'; +import Base from './../base'; + +const FirebaseAdMob = NativeModules.RNFirebaseAdMob; +const FirebaseAdMobEvt = new NativeEventEmitter(FirebaseAdMob); + +export default class Admob extends Base { + + interstitial(adUnit: string) { + return new Interstitial(this, FirebaseAdMobEvt, adUnit); + } + +} + +export const statics = { + Banner, + AdRequest, +};