簡體   English   中英

為無廣告用戶安全地從LinearLayout中刪除AdView

[英]Safely Removing an AdView from a LinearLayout for Ad Free Users

我有一個帶有橫幅廣告的Android應用。 僅在檢查廣告是否可以顯示之后,才將AdView元素放入LinearLayout中。

但是,用戶可以在程序運行期間購買NoAd。 這意味着我必須安全地停止廣告並將Adview從程序中刪除,而不會違反Admob規則,在該規則中您無法隱藏廣告。

這里是我的代碼,但我對在部分非常不確定if上線的語句if (mAdView != null) { // It might not be created yet

那只是隱藏它,而不是完全刪除它嗎?:

public void turnAdvertsOnOff(boolean on) {
    advertsOn = on;

    // IMPORTANT - changes to layout must be done on the UI Thread or will get error
    m_Context.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            LinearLayout myLayout;
            // NEW
            //AdView mAdView;

            myLayout = (LinearLayout) m_Context.findViewById(R.id.myLayout);
            //mAdView = (AdView) m_Context.findViewById(R.id.adView);

            if(advertsOn){
                if(mAdView == null && myLayout != null) {
                    // Create it and add it to the LinearLayout
                    mAdView = new AdView(m_Context);
                    // Sizes BANNER, SMART_BANNER, LARGE_BANNER
                    mAdView.setAdSize(AdSize.SMART_BANNER);
                    mAdView.setAdUnitId(adIdBanner);
                    myLayout.addView(mAdView);
                }
                if (mAdView != null) mAdView.setVisibility(View.VISIBLE);
            }else {
                if (mAdView != null) { // It might not be created yet
                    mAdView.pause();
                    mAdView.setEnabled(false);
                    mAdView.setVisibility(View.GONE);
                    //mAdView.destroy();
                    //mAdView.setVisibility(View.INVISIBLE);
                    //mAdView.pause();
                    //mAdView.setVisibility(View.GONE);
                }
            }
        }});
}

首選方法是從其父項中remove() AdView
為什么不將“可見性”設置為“消失”?
如果您將可見性設置為GONE,則AdView仍將請求Ad Server填充廣告,因此最好完全刪除AdView

例如 -
如果用戶已通過IAP刪除了廣告,則在布局文件中添加AdView,只需調用myLayout.removeView(mAdView);

同樣,如果您正在從ui線程中調用turnAdvertsOnOff() ,則無需調用runOnUiThread()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM