我注意到我的应用程序在 InterstitialAd 上收到的点击次数很少,并且我发现按“后退”按钮可以立即关闭该广告。通常广告需要几秒钟的时间才会出现,因此用户甚至可以在看到它之前将其关闭(当仅出现黑屏时)。
我认为这不公平,展示出来几乎没有用。有什么办法可以防止这种情况发生吗?
我这样做了,但什么也没发生...
// When creating the InterstitialAd, I set the following listener
mInterstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
isShowingInterstitialAd = true;
mInterstitial.show();
}
@Override
public void onAdClosed() {
isShowingInterstitialAd = false;
mAdView.setVisibility(View.VISIBLE);
mAdViewClose.setVisibility(View.VISIBLE);
}
});
// On the Activity's class
@Override
public void onBackPressed() {
if (isShowingInterstitialAd) {
return;
}
// ...
}
我的理解是,AdMob 在您的 Activity 之上绘制自己的 Activity,因此它有自己的
onBackPressed()
实现,这意味着您无法控制调用 mInterstitial.show();
后发生的任何事情,直到 AdMob 交还控制权您的活动。
不要为这样的小事操心。 如果你花精力让你的应用程序变得更好,你会更好。
有些人永远不会点击广告。但如果你提供删除广告的应用内购买,他们很可能会购买。这对您的开发工作来说是更好的投资回报。
恕我直言
根据您的操作系统,有几种方法可以覆盖后退按钮。搜索后退按钮覆盖即可找到它们。
android:enableOnBackInvokedCallback="true"
通过从
AndroidManifest.xml
中删除这一行,我的问题解决了
Abdur Rehman 的答案是正确的,但不要删除它(因为删除它会在控制台中发出警告,告诉您添加它“尽管可以忽略”),只需将其设置为 false 并且它会禁用后退按钮,因此用户必须观看整个广告或等待一段时间后允许它们退出。自 24 年 11 月 27 日起生效
来自:android:enableOnBackInvokedCallback =“true”
至:android:enableOnBackInvokedCallback =“假”
android -> app -> src -> main -> AndroidManifest.xml 这行应该在