2011-08-08 389 views
4

我試圖在Android中實施Admob,並且看到請求進入AdMob。不過,我並沒有在模擬器和Android測試手機的Android屏幕上看到Admob廣告。Admob廣告沒有顯示

如前所述,我可以看到進入我的AdMob帳戶的請求。但是,內容沒有被顯示。是否需要在我的帳戶,main.xml,AndroidManifest.xml中或加載應用程序時啓用該功能?

我的應用程序配置和代碼如下。請告知需要什麼。謝謝!

AndroidManifest:

  <meta-data 
      android:value="My Publisher ID" 
      android:name="ADMOB_PUBLISHER_ID" /> 
     <activity android:name="com.admob.android.ads.AdMobActivity"/> 
     <receiver 
      android:name="com.admob.android.ads.analytics.InstallReceiver" 
      android:exported="true"> 
     <intent-filter> 
     <action android:name="com.android.vending.INSTALL_REFERRER"/> 
     </intent-filter> 
     </receiver> 
     <meta-data 
      android:value="true" 
      android:name="ADMOB_ALLOW_LOCATION_FOR_ADS"/> 

主:

<com.google.ads.AdView 
    android:id="@+id/adView" 
    android:layout_alignParentBottom="true" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    ads:adSize="BANNER" 
    ads:adUnitId="My Publisher ID" 
    ads:loadAdOnCreate="true"/> 

在創建代碼:

 AdView adView = (AdView)this.findViewById(R.id.adView); 
     AdRequest re = new AdRequest(); 
     re.setTesting(true); 
     adView.loadAd(re); 

任何幫助表示讚賞!

+0

*請告知需要什麼* Logcat輸出將是一個開始... – Earl

回答

0

一些可能的解決方案可能聽起來很明顯,但要確保你有這些完成:

-replace「我的Publisher ID」在android系統:價值=「我的Publisher ID」與您的實際發行商ID。

- 確保包括在您的清單文件Internet權限:

<uses-permission android:name="android.permission.INTERNET" /> 

如果你已經完成了這些,你也可以嘗試將下面的代碼,而不是當前的「開創建」部分:

AdView adView = (AdView)this.findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest(); 
    adRequest.setTesting(true); 
    adView.loadAd(adRequest); 
    adView.loadAd(new AdRequest()); 

AdManager.setTestDevices(new String[] {AdManager.TEST_EMULATOR}); 

    AdView adView = (AdView)findViewById(R.id.adView); 
    adView.requestFreshAd(); 

出版之前,不要忘了是但是一定要擺脫setTestDevice!

3

廣告通常需要一段時間才能通過admob開始出現。這種情況發生在剛剛在admob上註冊並啓動第一個應用程序的情況下。如果上面給出的建議得到了處理,並且您的admob頁面顯示「綠色」狀態,我不會太擔心。一旦您的填充率增加,您將開始看到越來越多的廣告。

+0

註冊您的設備作爲測試設備,您應該幾乎立即收到測試廣告。 http://code.google.com/mobile/ads/docs/android/intermediate.html#addtestdevice – devconsole

+0

我對廣告有疑問:http://stackoverflow.com/questions/36389729/ads-areloading-but不顯示 –

+0

我剛剛創建了我的第二個廣告,並且在開始出現在我的應用中之前不得不等待大約一個小時。 –

9

確保AdView嵌入的佈局不會在AdView上施加任何填充。 AdView的尺寸必須精確到320x50。如果沒有足夠的空間,它不會顯示出來。

同時檢查您的設備的日誌輸出。在Eclipse中切換到DDMS透視圖,選擇您的設備並觀看LogCat輸出。

0

確保您的admob發佈者ID是正確的。它曾與我發生過一次,我無法弄清大約15天的錯誤。

在Admob中,您提交的每個應用都獲得不同的發佈者ID。它是每個應用程序唯一而不是每個用戶。

+0

我對廣告有疑問:http://stackoverflow.com/questions/36389729/ads-areloading-but-not-showing –

6

我有類似的問題。如果您的父級佈局上有任何填充,則廣告可能沒有足夠的寬度。如果您在縱向視圖中使用它,請嘗試切換到橫向視圖以查看它是否顯示。如果它比你最有可能在你的佈局的某處有寬度問題。

+0

我對廣告有疑問:http://stackoverflow.com/questions/36389729/ads-are-loading-but-not-showing –

1

要當心用id,有2個代碼:編輯器號(是這樣的:酒館XXXXXXXXXXXXXXXX),另一個是旗幟ID(是這樣的:爲ca-app-PUB-XXXXXXXXXXXXXXXX/XXXXXXXXXX)

您需要使用的最後一個,如果你使用的第一個不工作:)

1

您正在使用 廣告:adUnitId設置=「這裏adUnitId設置爲這個應用程序:adUnitId設置=「我的Publisher ID」 與 廣告替換「 注意:您必須在Admob上創建應用程序,並且您將爲該創建的應用程序獲取AdUnitId。您不必使用發佈者ID。

0

這可能是空間問題,您需要確保空間可用於顯示廣告。如果父級佈局上有填充,則可能會減少可用空間。根據google Admob docs,如果沒有空間顯示,則不會顯示任何廣告。

「SDK將請求無論大小的請求的AdView實例化,如果設備屏幕上沒有足夠的空間來顯示廣告,則不會顯示任何內容。」

所以我的建議是,以確保沒有填充是父佈局和實際的高度和寬度分配給橫幅廣告這樣

<com.google.ads.AdView 
    android:id="@+id/adView" 
    android:layout_alignParentBottom="true" 
    android:layout_width="@dimen/banner_width" 
    android:layout_height="@dimen/banner_height" 
    ads:adSize="BANNER" 
    ads:adUnitId="My Publisher ID" 
    ads:loadAdOnCreate="true"/> 

和存儲合適的尺寸在你的價值觀dimens.xml夾。

1

確保您的Admob佈局顯示在xml視圖中。把裏面的RelativeLayout您的AdMob視圖,並嘗試使用android:alignparentBottom:true

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 
    <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

<!--Do our code that you want to show in xml --> 

<!--Put adview in bottom of screen --> 
     <com.google.ads.AdView 
       android:id="@+id/adView" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       ads:adSize="BANNER" 
       android:layout_alignParentBottom="true" 
       ads:adUnitId="@string/addmob_id" 
       ads:loadAdOnCreate="true" 
       ads:testDevices="HT9CWP803129" /> 
    </RelativeLayout> 
    </LinearLayout> 

在Java代碼中把這幾行onCreate方法

// Load addvertisment 
     AdView adView = (AdView) findViewById(R.id.adView); 
     // Request for Ads 
     AdRequest adRequest = new AdRequest(); 
     adRequest.addTestDevice("FF9CD441FA62FD456D7D571B91DD11DD"); 

     adView.loadAd(adRequest); 

這個工作在我的代碼,希望它會幫助你。

+0

提到了錯誤的java代碼。這將始終通過錯誤。 –