react-native-firebase/ios/RNFirebase/RNFirebaseAdMob.m

50 lines
1.3 KiB
Mathematica
Raw Normal View History

2017-05-27 14:24:51 +00:00
#import "RNFirebaseAdMob.h"
#import "GoogleMobileAds/GADMobileAds.h"
#import "RNFirebaseAdMobInterstitial.h"
2017-05-27 14:24:51 +00:00
@implementation RNFirebaseAdMob
RCT_EXPORT_MODULE();
2017-05-27 19:46:17 +00:00
- (id)init {
self = [super init];
if (self != nil) {
_interstitials = [[NSMutableDictionary alloc] init];
}
return self;
}
- (dispatch_queue_t)methodQueue {
return dispatch_get_main_queue();
}
RCT_EXPORT_METHOD(initialize:(NSString *)appId) {
[GADMobileAds configureWithApplicationID:appId];
}
RCT_EXPORT_METHOD(interstitialShowAd:(NSString *)adUnit) {
RNFirebaseAdMobInterstitial * interstitial = [self getOrCreateInterstitial:adUnit];
[interstitial showAd];
}
RCT_EXPORT_METHOD(interstitialLoadAd:(NSString *)adUnit request:(NSDictionary *) request) {
RNFirebaseAdMobInterstitial * interstitial = [self getOrCreateInterstitial:adUnit];
[interstitial loadAd];
}
- (RNFirebaseAdMobInterstitial *) getOrCreateInterstitial:(NSString *)adUnit {
if (_interstitials[adUnit]) {
return _interstitials[adUnit];
}
_interstitials[adUnit] = [[RNFirebaseAdMobInterstitial alloc] initWithProps:adUnit delegate:self];
return _interstitials[adUnit];
}
- (NSArray<NSString *> *)supportedEvents {
return @[ADMOB_INTERSTITIAL_EVENT, ADMOB_REWARDED_VIDEO_EVENT];
2017-05-27 19:46:17 +00:00
}
2017-05-27 14:24:51 +00:00
@end