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

Admob:每次都显示的间隙广告

谭正谊
2023-03-14

我正在完成一个视频应用程序,我在离开视频activity时显示间隙广告。我只想每X分钟显示一次,但似乎每次我离开那个屏幕时它都在显示。

这是我的activity密码。

onCreate:

  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  Bundle b = getIntent().getExtras();
  videoId = b.getString("videoId");
  setContentView(R.layout.youtube_player);

  interstitialAd= new InterstitialAd(this);
  interstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
  AdRequest adRequest = new AdRequest.Builder().build();
  interstitialAd.loadAd(adRequest);
  etc...

onbackpressed:

@Override
public void onBackPressed() {
    ShowAds();

}

private void ShowAds() {
    if (interstitialAd.isLoaded()) {
        interstitialAd.show();
        interstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                super.onAdClosed();
                finish();
            }
        });
    }else{
        super.onBackPressed();
    }
}`

当然,在admob中是这样设置的:

注意:我的应用程序没有发布,所以它正在显示“预览”o“示例”。我正在使用我的广告单元ID:

谢谢,

共有1个答案

仲孙逸明
2023-03-14

两种选择:

>

  • 间隙广告显示当我离开当前的activity,但只有当我在当前的activity完成X分钟。

    boolean isAdShow=false;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        int minute=1;  // X minute
    
        isAdShow=false;
        new CountDownTimer(minute*60000,1000) {
          @Override
          public void onTick(long millisUntilFinished) {
    
          }
    
          @Override
          public void onFinish() {
              isAdShow=true;
          }
      }.start();
    }
    
    private void ShowAds() {
    
       if (interstitialAd.isLoaded() && isAdShow) {
           interstitialAd.show();
           interstitialAd.setAdListener(new AdListener() {
              @Override
              public void onAdClosed() {
                  super.onAdClosed();
                  finish();
              }
           });
        }else{
           super.onBackPressed();
        }
    }
    

    不需要等待用户按下后退按钮并离开当前activity,只需从定时器的onfinish()方法调用showads()即可。

    我将推荐使用1st一个,因为它不会违反AdMob广告策略和用户体验。

    编辑

    您还可以使用X次计数器,例如当X=3时,即在调用oncreate()方法3次之后,可以显示AD。

    public static int adCounter;
    public static final int TIME_COUNTER=3;  //Should be always greater than zero
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        adCounter++;
    }
    
    private void ShowAds() {
    
      if (interstitialAd.isLoaded() && adCounter%TIME_COUNTER==0) {
        interstitialAd.show();
        interstitialAd.setAdListener(new AdListener() {
           @Override
           public void onAdClosed() {
               super.onAdClosed();
               finish();
           }
        });
       }else{
        super.onBackPressed();
      }
    }
    

  •  类似资料:
    • 在这个图像中有8个按钮。现在我在这个应用程序上使用测试广告单元。这个活动我有8个按钮,每个按钮都与有针对性的活动相联系。我的问题是,当我单击这8个按钮中的任何按钮时,它会显示admob插播广告并发送到目标活动,但当我关闭目标活动并再次返回main_activity并单击这8个按钮中的任何按钮时,admo插播广告不会显示,但在按钮上单击它会打开目标活动。我想在每次点击按钮时显示广告插播广告。这是怎么

    • 我想在一定的时间间隔后,在主要活动上添加一个间隙广告。我搜索,似乎没有参考代码这样做。感谢你的帮助我该怎么做?任何示例代码都将是有用的。多谢了。

    • 我正在遵循本教程 到目前为止,当我点击按钮时,它就可以工作了。然而,我似乎无法让它在viewDidLoad上显示中间广告。 这就是我所拥有的: 控制台不断向我显示: 2016-02-04 22:27:51.855 GoogleAdamObjutorial[3394:56415]要获取此设备上的测试广告,请致电:request。testDevices=@[kGADSimulatorID]; 单击按钮

    • 我知道这个问题已经被问了好几次,但即使我已经实施并尝试了所有解决方案,我还是卡住了。我按照本教程展示插页式广告: https://developers.google.com/admob/unity/interstitial 我的主要目标是在用户点击游戏的“重新启动”按钮时显示广告。 下面是我的主广告管理器类(它与一个游戏对象相关联): 我在重新启动操作中调用Show方法:

    • 我成功地在我的应用程序中实现了AdMob中间广告,但唯一的问题是它们不可点击。 下面是我的AdMob.java类: 和MainPageActivity.java文件: 我不知道当用户升级并按下播放按钮(这将引导他进入下一个级别)时,该如何显示间隙广告。当他按下home键时,间隙广告就会出现,这会把他带到MainActivity屏幕上。 有人能帮我把广告点击一下吗?另外,有什么建议,如何添加的间隙广

    • 这是我的第一个应用程序,除了广告外,其他都是完整的。请澄清: 我能够让测试广告正确显示,所以测试广告工作完美 我几个小时前刚把付款信息加进我的账户 我收到了一封来自Admob的电子邮件,其中包含我的官方应用ID#和Ad Unit Id# 我在论坛上浏览过,也读过,真正的广告可能需要几个小时几天才能显示出来 我的第一个问题是,对于真正的广告,我应该在清单文件中输入什么数字?从测试文档中: 为了展示一