AdRequest.Builder не может быть разрешен для типа

Я включил AdMob в свое приложение. Я выполнил шаги на странице разработчиков. Однако AdRequest.Builder() подчеркивается красным цветом и говорит:

AdRequest не может быть разрешен для типа

и

AdRequest.Builder не может быть разрешен для типа.

В чем может быть проблема?

import com.google.ads.AdRequest;
import com.google.ads.AdView;


public class FireRoomActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fire_room);

        // Look up the AdView as a resource and load a request.
        AdView adView = (AdView)this.findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();   
        adView.loadAd(adRequest);
    }

В xml я показал admob как таковой:

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

Ответ 1

В вашем коде для Admob SDK (Google Play) и Android (6.4.1 и более ранние версии SDK)

Используйте

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

AdRequest adRequest = new AdRequest.Builder().build();

и

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

если вы используете Admob SDK (Google Play)

Или используйте

import com.google.ads.AdRequest;
import com.google.ads.AdView;

AdRequest adRequest = new AdRequest();

и

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

если вы используете ранние SDK

Для Admob SDK (Google Play) не забудьте изменить namespase

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

Ответ 2

Попробуйте это.

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

Примечание:

  • Удостоверьтесь, что в <project

  • Также проверьте, правильно ли вы указали ad-mob в xml.

EDIT:

Чтобы добавить тестовое устройство, вы можете попробовать

adRequest.addTestDevice(AdRequest.TEST_EMULATOR);  //for emulators
adRequest.addTestDevice("device_id");              //for real device, enter device id

Ответ 3

Вероятно, вы столкнулись с ошибкой библиотеки Reference Eclips. Что возвращает эти типы ошибок на следующих страницах разработчиков Шаги.

Перейдите к своим свойствам проекта и нажмите вкладку Android. enter image description here

Проверьте, существует ли перекрестная метка Red.

Если да, вы наверняка встретите это.

Eclipse делает странные вещи при импорте существующего проекта (google-play-services-lib), особенно если вы пытаетесь импортировать, а затем разрешить автоматическое копирование проекта в рабочее пространство.

Чтобы решить эту проблему,

  • Удалите все проекты google-play-services из вашей рабочей области.
  • Закрыть Eclipse.
  • Вручную скопируйте папку google-play-services-lib (.... sdk\extras\google\google_play_services\libproject\google-play-services_lib) в рабочее пространство.
  • Открыть Eclipse

Теперь добавьте Library From your workspace as existing project вместо

....sdk\extras\google\google_play_services\libproject\google-play-services_lib

Наконец, добавьте проектную библиотеку проекта из свойств проекта, как и раньше.

Помните, что направления на странице разработчиков полностью идеальны без этой единственной ошибки. Итак, следуйте всем другим направлениям, как написано на странице.