android - Admob 插页式广告未关闭
问题描述
我在我的应用程序中显示插页式广告并且广告正在加载和显示完美但问题是当我单击后退按钮上的交叉按钮时广告没有关闭我必须退出我的应用程序才能关闭它们我创建了一个新项目并检查了新项目中的广告它们工作正常并关闭后退按钮但在我的主应用程序中,广告一旦显示给用户就不会关闭这是我的 Admob 类
public class Admob {
public static InterstitialAd mInterstitial; // Interstital
private static AdView mAdView; // banner
public static void createLoadInterstitial(final Context context, View view)
{
mInterstitial = new InterstitialAd(context);
mInterstitial.setAdUnitId(context.getResources().getString(
R.string.admob_showIntersitial_ad_unit_id));
mInterstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// TODO Auto-generated method stub
showInterstitial();
}
@Override
public void onAdFailedToLoad(int errorCode) {
// TODO Auto-generated method stub
super.onAdFailedToLoad(errorCode);
}
@Override
public void onAdOpened() {
// TODO Auto-generated method stub
super.onAdOpened();
}
@Override
public void onAdClosed() {
// TODO Auto-generated method stub
super.onAdClosed();
}
@Override
public void onAdLeftApplication() {
// TODO Auto-generated method stub
// Called when an ad leaves the app (for example, to go to the
// browser).
super.onAdLeftApplication();
}
});
loadInterstitial();
}
public static void loadInterstitial() {
mInterstitial.loadAd(new AdRequest.Builder().
addTestDevice("").//ca-app-pub-3940256099942544/1033173712
build());
}
public static void showInterstitial() {
if (mInterstitial.isLoaded()) {
mInterstitial.show();
}
}
public static void createLoadBanner(final Context context, View view) {
mAdView = (AdView) view.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().
addTestDevice("").//ca-app-pub-3940256099942544/6300978111
build();
mAdView.loadAd(adRequest);
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// TODO Auto-generated method stub
super.onAdLoaded();
}
@Override
public void onAdClosed() {
// TODO Auto-generated method stub
super.onAdClosed();
}
@Override
public void onAdOpened() {
// TODO Auto-generated method stub
super.onAdOpened();
}
@Override
public void onAdLeftApplication() {
// TODO Auto-generated method stub
super.onAdLeftApplication();
}
@Override
public void onAdFailedToLoad(int errorCode) {
// TODO Auto-generated method stub
super.onAdFailedToLoad(errorCode);
}
});
}
}
这就是我在活动中展示它们的方式
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
Admob.createLoadInterstitial(this,null);
我也在 Mainfest 中初始化了它
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
我在 stackoverflow 上看到了同样的问题,但没有一个问题得到解答,因此我们将不胜感激
解决方案
推荐阅读
- powershell - 使用循环找不到更好的解决方案
- vba - 你如何创建一个黄色的文本框?
- java - 如何自动打开浏览器进行用户授权(“/回调”)?
- python - 将变量值分配为字典的键
- angular - Http原始请求向上地址
- json - JSON 解析 - 使用 JQ 按日期范围分组
- python-3.x - 在 MacOSX Mavericks 上使用 PyQt5、Python3 和 Anaconda3 出现问题
- angular - 如何在 Angular 4 中包含 canvas-datagrid
- android - 检查小米是否应该振动来电
- react-native - react-native-router-flux:没有为 key undefined 定义路由。必须是 'home'、'activeJobs'、'favorites'、'inbox'、'profile' 之一