当前位置: 首页 > 知识库问答 >
问题:

取消/暂停/停止任何间隙广告

湛鸿
2023-03-14

我有一个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;
        }
}

共有3个答案

朱翔
2023-03-14

在后台加载间隙广告,但不要使用onAdLoaded()方法。

当您在应用程序中想要显示间隙时,请使用以下命令:

if (admobInterstitial.isLoaded()) {
    admobInterstitial.show();
}

这将仅在加载间隙ad时显示间隙ad。否则什么都不会发生。

荆修明
2023-03-14

您可以在活动或片段中的onPause方法中添加布尔标志。然后检查adLoaded事件,如下所示:

interstitial.setAdListener(new AdListener() {
            @Override
             public void onAdLoaded() {
            super.onAdLoaded();
            if(!paused) {
                interstitial.show();
            }
        }
    });
太叔永新
2023-03-14

好的,首先,你不应该调用interstitalad。show()来自加载的()。正如您所指出的,这将导致糟糕的用户体验。这也可能会禁止您的Admob帐户。

我怀疑您真正想要做的是将现有活动重构为片段,并将它们全部托管在MainActivity中。这样,您就可以控制间隙开关。

并确保您是从应用程序中的自然断点显示间隙,而不是从加载()。

 类似资料:
  • 1.若要暂停训练,请按下该按钮。显示暂停。若要继续训练,请点击绿色箭头图标。 2.若要停止训练,在记录训练期间或处于暂停模式时长按该按钮三秒钟,直至计数器清零。或者您可以点击并按住显示屏上的红色停止按钮。 如果在暂停后停止训练,则暂停后经过的时间不包括在总训练时间内。

  • 若要暂停训练 长按正面按钮 或 在训练视图中向右滑动,找出并轻触暂停图标。 通过向左滑动您可以在暂停模式中看到训练总结。 恢复暂停的训练 轻触绿色箭头图标。 停止训练 在训练期间或在暂停模式中,长按正面按钮直至绿色计时器一直倒数。 或 在暂停模式中,轻触并按住红色停止图标可结束记录。

  • 1.若要暂停训练,请按“返回”按钮。显示“记录已暂停”。若要继续训练,请按“开始”。 2.若要停止训练,在训练记录或处于暂停模式时长按“返回”按钮三秒钟,直到显示“记录已结束”。 如果在暂停后停止训练,则暂停后经过的时间不包括在总训练时间内。

  • 按下“返回”,暂停您的训练课。 要继续训练,请按“确定”。要停止训练课,长按 BACK(返回)。停止训练后,会立即从手表上获得训练总结。 如果在暂停后停止训练课,则暂停后经过的时间不包括在总训练时间内。

  • 按下“返回”,暂停您的训练课。 要继续训练,请按“确定”。要停止训练课,长按 BACK(返回)。停止训练后,会立即从手表上获得训练总结。 如果在暂停后停止训练课,则暂停后经过的时间不包括在总训练时间内。

  • 暂停脚本的当前线程。 #p::Pause ; 按一次 Win+P 会暂停脚本. 再按一次则取消暂停. Pause [, On|Off|Toggle, OperateOnUnderlyingThread?] 参数 On|Off|Toggle 如果为空或省略, 则它默认为 Toggle. 否则, 请指定下列单词的其中一个: Toggle:如果在当前线程下的潜在线程处于运行状态,则暂停当前线程,否则让潜