Подтвердить что ты не робот

Размер объявления и идентификатор рекламного блока должны быть установлены до вызова loadAd

У меня это в моем основном файле xml:

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adUnitId="******************"
        ads:adSize="BANNER"
        android:id="@+id/adView"/>

Я уже установил идентификатор объявления и идентификатор модуля, но когда это выполняется (из MainActivity.java),

AdView adView = (AdView)this.findViewById(com.example.lovetestactual.R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

Отбросил исключение из заголовка.

4b9b3361

Ответ 1

Я нашел решение в примере github, то есть:

вместо

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

удалить тег xmlns: ads *** и добавить

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

для вашего тега LinearLayout следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:ads="http://schemas.android.com/apk/res-auto"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="@string/hello"/>
<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="INSERT_YOUR_AD_UNIT_ID_HERE"/>
</LinearLayout>

Что это:)

ссылка github для этого xml

Ответ 2

Убедитесь, что вы установили ID объявления и идентификатор рекламного блока таким же образом (то есть установите оба в XML или оба программно).

Ответ 3

Это будет неопределенным, поскольку вы не указали, какой вид вашего XML файла (Relative, Linear и т.д.)

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

<RelativeLayout
    android:id="@+id/test"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/TextView07"
    android:paddingTop="20dp" >
</RelativeLayout>

Теперь в моем фактическом классе я не включил объявление, которое я включил:

private AdView adView;

/* Your ad unit id. Replace with your actual ad unit id. */
private static final String AD_UNIT_ID = "ca-app-pub-xxxxxx/yyyyyy";

/**
 * Simply loads the xml about page layout to display the text.
 */

public void onCreate(Bundle start) {
    super.onCreate(start);
    setContentView(R.layout.about);

    final TelephonyManager tm = (TelephonyManager) getBaseContext()
            .getSystemService(Context.TELEPHONY_SERVICE);

    //String deviceid = tm.getDeviceId();

    adView = new AdView(this);
    adView.setAdSize(AdSize.SMART_BANNER);
    adView.setAdUnitId(AD_UNIT_ID);

    // Add the AdView to the view hierarchy. The view will have no size
    // until the ad is loaded.
    RelativeLayout layout = (RelativeLayout) findViewById(R.id.test);
    layout.addView(adView);

    // Create an ad request. Check logcat output for the hashed device ID to
    // get test ads on a physical device.
    AdRequest adRequest = new AdRequest.Builder()
    .build();
            //.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            //.addTestDevice(deviceid).build();

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

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

Если это не поможет, перейдите к здесь

Ответ 4

Многие люди Миграция существующих приложений в метод сервисов Google Play неправильно добавляет неверную информацию.

Что-то, что я хотел бы отметить, это то, что многие люди с тем же вопросом использовали это как шаблон

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/lib-auto"
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX"
    ads:loadAdOnCreate="true" >
</com.google.android.gms.ads.AdView>

Это неверно как xmlns: объявления должны быть изменены на: -   xmlns:ads="http://schemas.android.com/apk/res-auto"

Таким образом

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-XXXXXXXXXXXXXXXX/XXXXXXXXXX"
    ads:loadAdOnCreate="true" >
</com.google.android.gms.ads.AdView>

Ответ 5

Я попытался изменить объявление пространства имен, но он просто не работает. Я исправил это, указав значение высоты для adView вместо wrap_content. Это работает для меня

<com.google.android.gms.ads.AdView
    android:id="@+id/adView2"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center|bottom"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id" />