Реклама Admob не показывается, даже не тестовая реклама - PullRequest
0 голосов
/ 10 ноября 2018

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

xml с объявлением (оно отображается при предпросмотре)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/infoPageBackgroundColor"
android:orientation="vertical"
android:paddingTop="8dp"
tools:context=".AppInfoActivity">

...

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    app:adSize="SMART_BANNER"
    app:adUnitId="@string/banner_id"/>

Метаданные в AndroidManifest

<meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="@string/app_id"/>

Проект gradle.build

buildscript {

repositories {
    google()
    jcenter()
    maven {
        url "https://maven.google.com"
    }

}
dependencies {
    ...
}
}

Приложение gradle.build

dependencies {
...
}

Вступительная деятельность

import com.google.android.gms.ads.MobileAds;


public class EntryActivity extends BaseActivity {
private View progressBar;
private LoadListAsyncTask loadListAsyncTask;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    ...

    MobileAds.initialize(this, "@string/app_id");
}

Java-файл

...

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

...


public class StickerPackListActivity extends BaseActivity {
...

private AdView mAdView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...

    mAdView = findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
}
...

Я использую идентификатор теста баннера, чтобы попробовать его, и он отображается только в редакторе xml. Есть идеи почему? Даже если я попробую удостоверение личности, это не сработает. Извините, что не могу объяснить намного больше, так как это так. Я что-то забыл?

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Вы забыли инициализировать AdMob:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    MobileAds.initialize(this, "BANNER_ID_HERE");
    mAdView = findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
    ...
}

https://developers.google.com/admob/android/banner

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

0 голосов
/ 10 ноября 2018

Вам нужно инициализировать Ads SDK:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // ...
    // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
    MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
}

https://firebase.google.com/docs/admob/android/quick-start

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

https://support.google.com/admob/answer/7356431?hl=en

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...