如何隐藏/禁用的AdMob广告查看?(How to hide/disable admob advie

2019-07-29 02:16发布

我躲在被view.gone的AdMob广告查看:

//adView.setClickable(false);
//adView.clearFocus();
//adView.setEnabled(false);
//adView.setFilterTouchesWhenObscured(true);
//adView.setFocusable(false);
//adView.setFocusableInTouchMode(false);
adView.setVisibility(View.GONE);
adView.startAnimation( animation );

这隐藏了广告,但广告查看本身仍然是可触摸的,所以如果我触摸AD浏览的空间,但它仍然会打开浏览器并重定向我的广告,但广告本身是不可见的。

如何禁用触摸事件吗? 我已经尝试了所有线之上,但没有一次成功。

有什么建议?

Answer 1:

尝试使用setOnTouchListener和覆盖onTouch像你想要的。 你也可以使用removeView():

LinearLayout linLay = (LinearLayout)findViewById(R.id.ad_layout);
linLay.removeView(adView); 
LinearLayout.LayoutParams params = new  LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
linLay.addView(adView, params);

并将其添加回,当您需要。



Answer 2:

设置adView.setVisibility(View.GONE)并从视图层次移除AdMob视图将隐藏的广告,并防止在大多数情况下,用户交互。

当显示广告活动结束后不要忘了结束的AdView生命周期(破坏)。 从AdMob广告SDK的Javadoc:

公共无效的destroy()

销毁的AdView。 这种方法被称为后AdView中不应再使用。

拨打电话到destroy()在活动的onDestroy()回调:

@Override
public void onDestroy() {
    if (adView != null) {
        adView.destroy();
    }
super.onDestroy();
}


Answer 3:

final com.google.ads.AdView ad = (AdView) findViewById(R.id.rect_ad);
   if ( ad != null) {
            ad.stopLoading();
            ad.destroy();
            getWindowManager().removeView(ad);
   }

即使这个代码不破坏的AdMob =(((我有它的处理程序,并在网页视图存储器保持我的活动



文章来源: How to hide/disable admob adview?