2016-11-16 50 views
-1

我正在天氣app.My代碼工作正常,但有廣告不showing.Below是我的代碼:以下類不能被實例化:com.google.ads.AdView()

activity_main。 XML

<com.google.ads.AdView 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/ad" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    ads:loadAdOnCreate="true" 
    app:adSize="BANNER" 
    app:adUnitId="......" > 
</com.google.ads.AdView> 

的AndroidManifest.xml:

<activity android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

MainActivity.java

import com.google.ads.AdRequest; 
import com.google.ads.AdView; 
. 
. 
. 
private AdView adview; 
. 
. 
AdRequest adRequest = new AdRequest(); 
    if(adview!=null) 
    { 
     adview.loadAd(adRequest); 
    } 

錯誤(類無法實例化:com.google.ads.AdView)以activity_main.xml的圖形佈局顯示。搜索了很多問題,但找不到合適的答案。請幫忙。

+0

需要導入GoogleAdMobAdsSdk-X.X.X.jar文件到您的項目。 – Swathin

+0

我已經導入GoogleAdMobAdsSdk-6.4.1.jar文件。 –

回答

0

我發現,我是用舊/過時的方法。爲了添加Admob,你現在不能使用eclipse。解決的方法是(在不使用火力):

中的build.gradle添加依賴(buildscript後):

buildscript{ 
. 
. 
} 

dependencies{ 
     compile 'com.google.android.gms:play-services:6.5.87' 
} 

添加代碼MainActivity.java

adview = (AdView) findViewById(R.id.ad); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    adview.loadAd(adRequest); 

代碼添加到activity_main.xml中

<com.google.android.gms.ads.AdView 
     xmlns:ads="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/ad" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/ad_id"> 
    </com.google.android.gms.ads.AdView> 

添加到AndroidManifest.xml中

標籤之外
<meta-data android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

附加代碼在AndroidManifest.xml

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

Google更新了firebase-ads中的新內容。

在你gradle這個文件中添加com.google.firebase:火力的廣告

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 

    compile 'com.google.firebase:firebase-ads:9.8.0' 
} 

詳情how to integrate the Google Mobile Ads SDK

+0

我在eclipse中製作,所以如何添加依賴關係。對不起,爲什麼倒投了。 –

+0

參考http://stackoverflow.com/questions/25123447/admob-new-adrequest-unrecognized-by-eclipse – sasikumar

+0

我正在做同樣的答案。我並沒有將舊的/棄用的admob API與新的admob API混合在一起。我只用過老式的admob api。 –

相關問題