package com.facebook.ads;
import android.app.Activity;
import com.google.ads.mediation.MediationAdRequest;
import com.google.ads.mediation.customevent.CustomEventInterstitial;
import com.google.ads.mediation.customevent.CustomEventInterstitialListener;
/**
* FacebookAdmobCustomEventInterstitial is an admob adapter for InterstitialAd.
* <p/>
* Compatible with Google Mobile Ads SDK version 6.4.1
* <p/>
* Declare com.facebook.ads.InterstitialAdActivity in AndroidManifest.xml
* with android:configChanges="keyboardHidden|orientation"
*/
public class FacebookAdmobCustomEventInterstitial implements CustomEventInterstitial, InterstitialAdListener {
private InterstitialAd mInterstitialAd;
private CustomEventInterstitialListener mInterstitialListener;
@Override
public void requestInterstitialAd(CustomEventInterstitialListener customEventInterstitialListener,
Activity activity, String label, String serverParameter,
MediationAdRequest mediationAdRequest, Object o) {
mInterstitialListener = customEventInterstitialListener;
// Assuming placement_id is configured in serverParameter.
String placementId = serverParameter;
if (placementId == null || placementId.length() == 0) {
// Invalid placement_id
mInterstitialListener.onFailedToReceiveAd();
return;
}
mInterstitialAd = new InterstitialAd(activity, placementId);
mInterstitialAd.setAdListener(this);
mInterstitialAd.loadAd();
}
@Override
public void showInterstitial() {
mInterstitialAd.show();
}
@Override
public void destroy() {
if (mInterstitialAd != null) {
mInterstitialAd.destroy();
mInterstitialAd = null;
}
}
@Override
public void onInterstitialDisplayed(Ad ad) {
mInterstitialListener.onPresentScreen();
}
@Override
public void onInterstitialDismissed(Ad ad) {
mInterstitialListener.onDismissScreen();
}
@Override
public void onError(Ad ad, AdError adError) {
mInterstitialListener.onFailedToReceiveAd();
}
@Override
public void onAdLoaded(Ad ad) {
mInterstitialListener.onReceivedAd();
}
@Override
public void onAdClicked(Ad ad) {
mInterstitialListener.onLeaveApplication();
}
}