2014-09-04 4 views
1

У меня возникли проблемы с включением рекламы в мое приложение. Я получаю следующую ошибку: конструктор AdRequest(). На строке: adView.loadAd (новый AdRequest());Android - проблема с загрузкой рекламы с помощью admob с adRquest

Вот файл XML я использую, содержащий вид объявления:

<?xml version="1.0"?> 

<RelativeLayout tools:ignore="MergeRootFrame" 
    tools:context="com.example.blueshift.MainActivity" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" android:id="@+id/container" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"> 

<com.example.blueshift.CustomView android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:id="@+id/custom_view"/> 

<TextView android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:id="@+id/textView1" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="djknfjndj" android:layout_marginBottom="128dp" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true"/> 

<TextView android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/textView2" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="djknfjndj" android:layout_marginBottom="160dp" 
    android:layout_centerHorizontal="true" 
    android:layout_alignParentBottom="true"/> 

<Button android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 

    android:id="@+id/button1" 
    android:text="Play Again" 
    android:layout_marginBottom="114dp" 
    android:layout_centerHorizontal="true" 
    android:visibility="gone" 
    android:layout_above="@+id/textView1"/> 

<com.google.android.gms.ads.AdView android:id="@+id/adView" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content" 
          ads:adSize="BANNER" 
          ads:adUnitId="id" 
          ads:loadAdsOnCreate="true"/> 

</RelativeLayout> 

Вот мой андроид манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.blueshift" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="19" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 


    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <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"/> 

     <activity 

      android:name="com.example.blueshift.MainActivity" 
      android:label="@string/app_name" > 


      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

и здесь код Java я использую, чтобы попробовать и загрузить добавление, содержащее ошибку:

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

Спасибо за любую помощь.

UPDATE:

Далее следуют советы Kishan и реализовать свои изменения, однако теперь я получаю ошибку метод loadAd (AdRequest) не определено для типа AdView на линии adView.loadAd (AdRequest); Любой совет?

ответ

0

У Вас нет добавить AdRequest, так что вы не не деться использовать это:

AdRequest adRequest = new AdRequest.Builder() 
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
.addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE") 
.build(); 

// Start loading the ad in the background. 
adView.loadAd(adRequest); 

Для получения более подробной информации об использовании нагрузки объявления этого Link.

+0

Спасибо за совет, но теперь получаешь эту ошибку: Метод loadAd (AdRequest) не определенно для типа AdView – user3427689

0

О сообщ ошибке:

The method loadAd(AdRequest) is undefined for the type AdView on the line adView.loadAd(adRequest);

Рассмотрены вопросы кажется, что вы установили неправильное пространство имен xml:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 

это относится к наследию Admob и вы хотите использовать новый AdMob, так что используйте вместо этого:

xmlns:ads="http://schemas.android.com/apk/res-auto" 

Вы также можете проверить импорт AdView в коде деятельности, она должна быть следующее:

import com.google.android.gms.ads.AdView 

удалить Также этот атрибут из AdView в XML:

ads:loadAdOnCreate="true" 

потому что это было доступно только для устаревших Admob, и вы уже загружаете объявление программно.

Для более подробной информации о см этого руководства: https://developers.google.com/mobile-ads-sdk/docs/admob/android/banner