我有一个Android应用程序,它使用谷歌admob网络显示间隙广告。admob的优点是,它的活动是独立的。我可以在我的MainActivity中加载广告,只要admob准备好了广告,它就会显示出来,即使我不再在MainActivity中。我已经使用了isLoaded()方法来显示广告,这占了90%的时间。
但其他10%的情况并非如此。有些活动应该保持无广告状态,因为广告会降低游戏质量。如果手机速度慢或连接速度慢,并且加载广告需要一段时间,则广告可能会在错误的活动中弹出。
是否有什么我可以调用的东西,可以关闭已加载的广告并停止加载尚未显示的广告?这将只对两项活动生效,而其他活动将保持不变。
因此,在我的主要活动中,我呼吁:
Ads.loadAdMobInterstitial(MainActivity.this);
这是我处理广告的班级:
public class Ads {
public static InterstitialAd loadAdMobInterstitial(final Context context) {
int admobUnitId = string.admob_ad_unit_id;
final InterstitialAd iAd = new InterstitialAd(context);
iAd.setAdUnitId(context.getString(admobUnitId));
iAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
iAd.show();
}
});
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
iAd.loadAd(adRequest);
return iAd;
}
}
在后台加载间隙广告,但不要使用onAdLoaded()方法。
当您在应用程序中想要显示间隙时,请使用以下命令:
if (admobInterstitial.isLoaded()) {
admobInterstitial.show();
}
这将仅在加载间隙ad时显示间隙ad。否则什么都不会发生。
您可以在活动或片段中的onPause方法中添加布尔标志。然后检查adLoaded事件,如下所示:
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
if(!paused) {
interstitial.show();
}
}
});
好的,首先,你不应该调用interstitalad。show()来自加载的()。正如您所指出的,这将导致糟糕的用户体验。这也可能会禁止您的Admob帐户。
我怀疑您真正想要做的是将现有活动重构为片段,并将它们全部托管在MainActivity中。这样,您就可以控制间隙开关。
并确保您是从应用程序中的自然断点显示间隙,而不是从加载()。
1.若要暂停训练,请按下该按钮。显示暂停。若要继续训练,请点击绿色箭头图标。 2.若要停止训练,在记录训练期间或处于暂停模式时长按该按钮三秒钟,直至计数器清零。或者您可以点击并按住显示屏上的红色停止按钮。 如果在暂停后停止训练,则暂停后经过的时间不包括在总训练时间内。
若要暂停训练 长按正面按钮 或 在训练视图中向右滑动,找出并轻触暂停图标。 通过向左滑动您可以在暂停模式中看到训练总结。 恢复暂停的训练 轻触绿色箭头图标。 停止训练 在训练期间或在暂停模式中,长按正面按钮直至绿色计时器一直倒数。 或 在暂停模式中,轻触并按住红色停止图标可结束记录。
1.若要暂停训练,请按“返回”按钮。显示“记录已暂停”。若要继续训练,请按“开始”。 2.若要停止训练,在训练记录或处于暂停模式时长按“返回”按钮三秒钟,直到显示“记录已结束”。 如果在暂停后停止训练,则暂停后经过的时间不包括在总训练时间内。
按下“返回”,暂停您的训练课。 要继续训练,请按“确定”。要停止训练课,长按 BACK(返回)。停止训练后,会立即从手表上获得训练总结。 如果在暂停后停止训练课,则暂停后经过的时间不包括在总训练时间内。
按下“返回”,暂停您的训练课。 要继续训练,请按“确定”。要停止训练课,长按 BACK(返回)。停止训练后,会立即从手表上获得训练总结。 如果在暂停后停止训练课,则暂停后经过的时间不包括在总训练时间内。
暂停脚本的当前线程。 #p::Pause ; 按一次 Win+P 会暂停脚本. 再按一次则取消暂停. Pause [, On|Off|Toggle, OperateOnUnderlyingThread?] 参数 On|Off|Toggle 如果为空或省略, 则它默认为 Toggle. 否则, 请指定下列单词的其中一个: Toggle:如果在当前线程下的潜在线程处于运行状态,则暂停当前线程,否则让潜