2015-11-05 123 views
1

我使用google-play-services 8.1.0(但它也在7.8.0上測試過)。我創建AdMob插頁與此代碼:插頁式廣告延遲顯示

_interstitialAd = new InterstitialAd(this); 
_interstitialAd.setAdUnitId(getString(R.string.interstitial_admob)); 
_interstitialAd.setAdListener(new AdListener() { 
    @Override 
    public void onAdClosed() { 
     Logger.log("onAdClosed"); 
     requestNewInterstitial(); 
    } 

    public void onAdFailedToLoad(int errorCode) { 
     Logger.log("onAdFailedToLoad"); 
    } 

    public void onAdLeftApplication() { 
     Logger.log("onAdLeftApplication"); 
    } 

    public void onAdOpened() { 
     Logger.log("onAdOpened"); 
    } 

    public void onAdLoaded() { 
     Logger.log("onAdLoaded"); 
    } 
}); 
requestNewInterstitial(); 

一些用戶動作後,我打電話

if (_interstitialAd.isLoaded()) { 
     _interstitialAd.show(); 
     return; 
    } 

但是它需要一些時間顯示的廣告。我添加了一些日誌消息,並顯示廣告已加載到AdLoaded上。

我測量了廣告展示前的延遲時間,並且每次都不一樣。在Nexus 5(棉花糖)它是從100毫秒,這是好的1500毫秒這是不好,但舒適。但在Nexus 7(2012)和Nexus 10等其他設備上,它從4秒到6秒不等,這很糟糕。

另外我得到了問題,它搞砸了我的片段生命週期。而且我必須更換來自後臺的流片段,這有助於(我不會在廣告展示前刪除片段,而是在onAdClosed之後執行此操作),但此步驟不會在廣告展示之前消除延遲。

所有這些步驟都在做8.3.0以及

任何人可以幫助我消除這種延遲?

回答

0

你不量化你正在經歷的什麼延遲。所以這個問題很難回答。但是,如果在您致電show()之前已經下載了廣告,那麼唯一的延遲就是渲染,這是由您運行的硬件以及您當時正在執行的其他處理所影響的。

+0

請看看我編輯的問題 – darkchaos

+0

聽起來好像你有一個複雜的觀點,可能會影響你的測量。建議您使用AdView創建一個非常簡單的活動並記錄新的統計信息。這可能也會導致你的觀點出現問題。 – William

1

我注意到這與本週的一些廣告。看起來他們正在服務一種導致這種延遲的新型間質性,因爲它從未發生過。我暫時停用了文字和圖片廣告(因爲視頻廣告似乎運作良好),直到它被修復。