根据文件:https://developers.google.com/mobile-ads-sdk/docs/admob/advanced
我正在申请一项活动,
interstitial.loadAd(adRequest);
interstitial.setAdListener(this);
并在回调中收到插页式广告时显示插页式广告
@Override
public void onReceiveAd(Ad ad) {
Log.d("OK", "Received ad");
if (ad == interstitial) {
interstitial.show();
}
}
问题是在onReceiveAd
被调用之前,我的当前活动已经完成,我转移到另一个活动,因此永远不会调用onReceiveAd
。
解决此问题的任何解决方法?
感谢。
答案 0 :(得分:0)
在Helper类上创建一个用于创建插页式广告的静态方法,另一个用于更新侦听器:
private static InterstitialAd interstitial;
public static void createIntertitialAd(Context myContext) {
if (interstitial == null) {
interstitial = new InterstitialAd(myContext, MY_INTERSTITIAL_UNIT_ID);
interstitial.loadAd(adRequest);
interstitial.setAdListener(myContext);
}
}
public static void updateAdListener(Context myContext) {
interstitial.setAdListener(myContext);
}
然后在您的活动中执行以下操作
@Override
public void onCreate() {
HelperClass.createIntertitialAd(this);
HelperClass.updateAdListener(this);
}