This repository has been archived by the owner on Apr 27, 2022. It is now read-only.
/
RNAdMobInterstitialAdModule.java
69 lines (56 loc) · 2.33 KB
/
RNAdMobInterstitialAdModule.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.rnadmob.admob.ads.fullscreen;
import androidx.annotation.NonNull;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableMap;
import com.google.android.gms.ads.AdLoadCallback;
import com.google.android.gms.ads.FullScreenContentCallback;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.admanager.AdManagerAdRequest;
import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;
public class RNAdMobInterstitialAdModule extends RNAdMobFullScreenAdModule<InterstitialAd> {
public static final String AD_TYPE = "Interstitial";
public RNAdMobInterstitialAdModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
protected String getAdType() {
return AD_TYPE;
}
@Override
@ReactMethod
public void requestAd(int requestId, String unitId, ReadableMap options, final Promise promise) {
super.requestAd(requestId, unitId, options, promise);
}
@Override
@ReactMethod
protected void presentAd(int requestId, final Promise promise) {
super.presentAd(requestId, promise);
}
@Override
@ReactMethod
protected void destroyAd(int requestId) {
super.destroyAd(requestId);
}
@Override
protected void load(String unitId, AdManagerAdRequest adRequest, AdLoadCallback<InterstitialAd> adLoadCallback, FullScreenContentCallback fullScreenContentCallback) {
InterstitialAd.load(getReactApplicationContext(), unitId, adRequest,
new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd ad) {
ad.setFullScreenContentCallback(fullScreenContentCallback);
adLoadCallback.onAdLoaded(ad);
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
adLoadCallback.onAdFailedToLoad(loadAdError);
}
});
}
@Override
protected void show(InterstitialAd ad, int requestId) {
ad.show(currentActivity);
}
}