亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Admob 橫幅在 Unity 中不可見但仍可點擊

Admob 橫幅在 Unity 中不可見但仍可點擊

C#
慕尼黑8549860 2022-10-23 14:00:54
我正在開發一個根據場景顯示橫幅的應用程序。我使用 Show 和 Hide 來控制這種行為。第一次顯示橫幅時效果很好,但第二次(隱藏后)橫幅沒有出現。但是,橫幅區域仍然可以點擊,并且按預期執行。我正在使用 AdMob 統一插件的最新版本(v3.15.1),但我無法找到任何解決該問題的方法。為了顯示廣告,我只是調用了 ShowAd 方法,而為了隱藏它們,我調用了 QuitAd 方法。我認為兩者都按預期執行,因為它們在第一次被調用時工作,并且因為在調用 HideAd 的場景中“橫幅區域”不可點擊,但是當調用 ShowAd 方法時,您可以點擊不可見的橫幅。感謝您的任何幫助!
查看完整描述

2 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

在我的情況下,畫布由于某種原因重疊了橫幅,我只是在PlayerSettings -> Resolution and Presentation中取消選中“ Render Over native UI ” ,現在它工作正常。



查看完整回答
反對 回復 2022-10-23
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

我通過銷毀 QuitAd 方法中的橫幅解決了這個問題:


public void QuitAd(TypeOfAd typeOfAd)

{

    switch (typeOfAd)

    {

        case TypeOfAd.Banner:

            Debug.Log("Quiting Banner ad");

            bannerAd.Destroy();

            break;



        case TypeOfAd.Interestitial:

            Debug.Log("Quiting Interestitial ad");

            Debug.LogError("QuitAd Interestitial Not Implemented");

            break;



        case TypeOfAd.RewardedVideo:

            Debug.Log("Quiting RewardedVideo ad");

            Debug.LogError("QuitAd RewardedVideo Not Implemented");

            break;

    }

}

然后我修改了 ShowAd 方法,在顯示橫幅之前加載它:


public bool ShowAd(TypeOfAd typeOfAd)

{

    if (DataManager.instance.showAds)

        switch (typeOfAd)

        {

            case TypeOfAd.Banner:

                Debug.Log("Showing Banner ad");

                LoadAd(TypeOfAd.Banner); //Every time the banner is asked to be shown it will try to load before being shown.

                this.bannerAd.Show(); //Will be show after loading

                return true;



            case TypeOfAd.Interestitial:

                Debug.Log("Showing Interestitial ad");

                if (this.interstitialAd.IsLoaded())

                {

                    this.interstitialAd.Show();

                    return true;

                }

                else

                {

                    Debug.LogWarning("Trying to show InterstitialAd but it is not loaded");

                    //TBD: Automaitcally load?

                }

                break;



            case TypeOfAd.RewardedVideo:

                Debug.Log("Showing RewardedVideo ad");

                if (this.rewardedVideoAd.IsLoaded())

                {

                    this.rewardedVideoAd.Show();

                    return true;

                } else {

                    Debug.LogWarning("Trying to show RewardedBasedVideoAd but it is not loaded");

                    //TBD: Automaitcally load?

                }

                break;

        }


    return false;

}

但是,我不知道這是否是一個正確的解決方案,因為每次必須顯示橫幅時都會執行新的加載請求(在未顯示橫幅的場景之后)。


此外,這個“解決方案”只是針對同一目標的不同方法,而不是原始方法的修復。


因此,如果有人知道為什么原始代碼不起作用,我將非常感謝分享這些知識。


查看完整回答
反對 回復 2022-10-23
  • 2 回答
  • 0 關注
  • 167 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號