mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-04-26 13:34:52 +08:00
Merge branch 'master' of https://github.com/invertase/react-native-firebase into multi-apps
# Conflicts: # android/src/main/java/io/invertase/firebase/auth/RNFirebaseAuth.java
This commit is contained in:
@@ -1,17 +1,30 @@
|
||||
import { NativeModules } from 'react-native';
|
||||
import { NativeModules, Platform } from 'react-native';
|
||||
import { statics } from './';
|
||||
import AdRequest from './AdRequest';
|
||||
import { nativeToJSError } from '../../utils';
|
||||
|
||||
const FirebaseAdMob = NativeModules.RNFirebaseAdMob;
|
||||
|
||||
let subscriptions = [];
|
||||
|
||||
export default class Interstitial {
|
||||
|
||||
constructor(admob: Object, adUnit: string) {
|
||||
// Interstitials on iOS require a new instance each time
|
||||
if (Platform.OS === 'ios') {
|
||||
FirebaseAdMob.clearInterstitial(adUnit);
|
||||
}
|
||||
|
||||
for (let i = 0, len = subscriptions.length; i < len; i++) {
|
||||
subscriptions[i].remove();
|
||||
}
|
||||
subscriptions = [];
|
||||
|
||||
this.admob = admob;
|
||||
this.adUnit = adUnit;
|
||||
this.loaded = false;
|
||||
this.admob.on(`interstitial_${adUnit}`, this._onInterstitialEvent.bind(this));
|
||||
this.admob.removeAllListeners(`interstitial_${adUnit}`);
|
||||
this.admob.on(`interstitial_${adUnit}`, this._onInterstitialEvent);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -19,7 +32,7 @@ export default class Interstitial {
|
||||
* @param event
|
||||
* @private
|
||||
*/
|
||||
_onInterstitialEvent(event) {
|
||||
_onInterstitialEvent = (event) => {
|
||||
const eventType = `interstitial:${this.adUnit}:${event.type}`;
|
||||
|
||||
let emitData = Object.assign({}, event);
|
||||
@@ -37,7 +50,7 @@ export default class Interstitial {
|
||||
|
||||
this.admob.emit(eventType, emitData);
|
||||
this.admob.emit(`interstitial:${this.adUnit}:*`, emitData);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Load an ad with an instance of AdRequest
|
||||
@@ -84,6 +97,8 @@ export default class Interstitial {
|
||||
return null;
|
||||
}
|
||||
|
||||
return this.admob.on(`interstitial:${this.adUnit}:${eventType}`, listenerCb);
|
||||
const sub = this.admob.on(`interstitial:${this.adUnit}:${eventType}`, listenerCb);
|
||||
subscriptions.push(sub);
|
||||
return sub;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,13 +5,21 @@ import { nativeToJSError } from '../../utils';
|
||||
|
||||
const FirebaseAdMob = NativeModules.RNFirebaseAdMob;
|
||||
|
||||
let subscriptions = [];
|
||||
|
||||
export default class RewardedVideo {
|
||||
|
||||
constructor(admob: Object, adunit: string) {
|
||||
constructor(admob: Object, adUnit: string) {
|
||||
for (let i = 0, len = subscriptions.length; i < len; i++) {
|
||||
subscriptions[i].remove();
|
||||
}
|
||||
subscriptions = [];
|
||||
|
||||
this.admob = admob;
|
||||
this.adUnit = adunit;
|
||||
this.adUnit = adUnit;
|
||||
this.loaded = false;
|
||||
this.admob.on(`rewarded_video_${adunit}`, this._onRewardedVideoEvent.bind(this));
|
||||
this.admob.removeAllListeners(`rewarded_video_${adUnit}`);
|
||||
this.admob.on(`rewarded_video_${adUnit}`, this._onRewardedVideoEvent);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -19,7 +27,7 @@ export default class RewardedVideo {
|
||||
* @param event
|
||||
* @private
|
||||
*/
|
||||
_onRewardedVideoEvent(event) {
|
||||
_onRewardedVideoEvent = (event) => {
|
||||
const eventType = `rewarded_video:${this.adUnit}:${event.type}`;
|
||||
|
||||
let emitData = Object.assign({}, event);
|
||||
@@ -37,7 +45,7 @@ export default class RewardedVideo {
|
||||
|
||||
this.admob.emit(eventType, emitData);
|
||||
this.admob.emit(`rewarded_video:${this.adUnit}:*`, emitData);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Load an ad with an instance of AdRequest
|
||||
@@ -89,6 +97,8 @@ export default class RewardedVideo {
|
||||
return null;
|
||||
}
|
||||
|
||||
return this.admob.on(`rewarded_video:${this.adUnit}:${eventType}`, listenerCb);
|
||||
const sub = this.admob.on(`rewarded_video:${this.adUnit}:${eventType}`, listenerCb);
|
||||
subscriptions.push(sub);
|
||||
return sub;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user