2011-08-05 56 views
5

我試圖將Admob廣告放置在我的應用中,而且我遵循了所有說明,但它不起作用。Admob廣告未出現在模擬器或手機中

AdView adView = new AdView(this, AdSize.BANNER, "My_ID"); 
    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); 
    flashCardPage.addView(adView, lp); 
    adView.loadAd(new AdRequest()); 

我的清單文件包含activty標籤和兩個權限,就像教程,但旗幟不會在屏幕上顯示出來。有趣的是,當我從清單文件中拿出所有Admob內容並運行應用程序時,屏幕底部會出現一條橫幅,表示我需要允許訪問互聯網和網絡狀態。有誰知道我做錯了什麼?我知道這個話題已經有很多問題了,但他們都沒有幫助。我嘗試將我的Admob帳戶更改爲測試模式,並將模擬器添加爲測試項目,但這並不奏效。

我應該嘗試使用另一種廣告方法嗎?這已經過去了大約一週,Admob廣告仍然沒有出現。

當我今天(8月10日)在手機上運行應用程序時,我得到了強制關閉,所以我認爲如果Admob導致這種情況,即使只有1%-5%的時間,我也不會用它。

+0

檢查您的互聯網連接 –

+0

我現在住在這裏的連接速度非常慢。廣告是否有最低的連接速度? –

回答

4

如果AdMob可能沒有廣告可供投放,您可以嘗試在adView聲明之後添加一段代碼,以查看它告知未能接收廣告的內容。

// Set AdListener 
     adView.setAdListener(new AdListener() { 
      @Override 
      public void onFailedToReceiveAd(Ad ad, ErrorCode error) { 
       System.err.println("Ad failed: " + ad.toString() + error.toString());  
      } 

      @Override 
      public void onReceiveAd(Ad ad) { 
       System.out.println("Ad received: " + ad.toString()); 
      } 
     }); 
0

檢查您的日誌貓輸出是否有來自admob的任何調試消息。它應該說明何時請求或未加載廣告。老實說,當我第一次開始我的時候幾乎不會展示廣告。最終他們開始展示。沒有真正的解釋。

+0

我查看了調試選項卡下的log cat輸出,但是在將其過濾到adview或admob時沒有結果。 –

0

我會嘗試只是先添加廣告xml。另外,請確保您已設置爲通過admob接收廣告。

請參閱定義com.google.ads.AdView

通過admob,登錄並轉到網站&應用程序(在這裏您可以看到廣告是否真的被髮送到您的應用程序),向下滾動到您的應用程序。當您將鼠標懸停在應用程序上時,您會看到一個顯示「管理設置」的按鈕。點擊它,然後進入應用程序設置。這將幫助您控制廣告的展示形式和刷新率等。

+0

用代碼解釋它會更有幫助 –

2

您是否回到您的admob帳戶,爲廣告註冊您的特定應用,並通過'ca-app-pub獲取更長的發佈商號碼 - '序言,而不是'pub-'序言?

Google Admob「Google移動廣告SDK」開發網站上的「橫幅廣告1」說明中沒有任何內容提及不得不返回到您的admob帳戶來執行此操作。

這個愚蠢的錯誤讓我失望了好幾天。

+0

這個錯誤讓我想起了,謝謝你幫我解決了我也有的問題。 –

0

此問題是通過手動卸載應用程序並重新安裝而不作任何更改來解決的!