2016-11-16 4 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 сейчас. Решение (без использования firebase):

добавить зависимость в 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: 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

Я делаю в затмении, Так как добавить зависимость. Извините, но почему проголосовали. –

+0

обратитесь к http://stackoverflow.com/questions/25123447/admob-new-adrequest-unrecognized-by-eclipse – sasikumar

+0

Я делаю то же самое, что и ответ. Я не смешиваю старый/устаревший admob api с новым admob api. Я использовал только старый admob api. –