package YOUR_PACKAGE;
import android.app.Activity;
import com.applovin.adview.AppLovinAdView;
import com.applovin.sdk.AppLovinAd;
import com.applovin.sdk.AppLovinAdClickListener;
import com.applovin.sdk.AppLovinAdLoadListener;
import com.applovin.sdk.AppLovinAdSize;
import com.applovin.sdk.AppLovinSdk;
import com.google.ads.AdSize;
import com.google.ads.mediation.MediationAdRequest;
import com.google.ads.mediation.customevent.CustomEventBanner;
import com.google.ads.mediation.customevent.CustomEventBannerListener;
/**
* This class must be defined and referenced from AdMob's website for AdMob Mediation
*
* @author David Anderson
* @since 4.2
*/
public class AdMobMediationListener implements CustomEventBanner
{
/**
* This method will be called by AdMob's Mediation through Custom Event mechanism.
*/
@Override
public void requestBannerAd(final CustomEventBannerListener listener,
final Activity activity,
String label,
String serverParameter,
AdSize adSize,
MediationAdRequest request)
{
// Create AppLovin Ad View
final AppLovinSdk sdk = AppLovinSdk.getInstance(activity);
final AppLovinAdView adView = new AppLovinAdView(sdk, AppLovinAdSize.BANNER, activity);
adView.setAdClickListener(new AppLovinAdClickListener() {
@Override
public void adClicked(AppLovinAd arg0)
{
listener.onClick();
listener.onPresentScreen();
listener.onLeaveApplication();
}
});
// fetch an ad
sdk.getAdService().loadNextAd(AppLovinAdSize.BANNER, new AppLovinAdLoadListener() {
@Override
public void failedToReceiveAd(int errorCode)
{
listener.onFailedToReceiveAd();
}
@Override
public void adReceived(AppLovinAd ad)
{
adView.renderAd(ad);
listener.onReceivedAd(adView);
}
});
}
}