Итак, я создал учетную запись adMob и все настроил правильно, Google отправил мне электронное письмо, в котором говорилось, что моя учетная запись настроена и готова к публикации рекламы.
Затем я выполнил настройку в своем приложении и отлично протестировал его, отладив на Android Studio, без публикации, с addTestDevice и без него - я знаю, что не должен этого делать, но я просто загрузился, чтобы убедиться, что все в порядке.
Но когда приложение было загружено в рабочую среду, и приложение было установлено из там он начинает получать ошибку ERROR_CODE_NO_FILL (I / Ads: не удалось загрузить объявление: 3).
Я знаю, что эта ошибка возникает, когда у adMob нет рекламы для отправки, но почему она работает в режиме отладки, а не в рабочей среде?
Это ошибка:
12-06 10: 20: 21.535 15899-15899 /? D / DynamitePackage: создание экземпляра com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
12-06 10: 20: 21.537 15899-15899 /? I / Ads: используйте AdRequest.Builder.addTestDevice ("0DAAEFF66CB80E873C75B4912371F7BC"), чтобы получить тестовые объявления на этом устройстве.
12-06 10: 20: 21.611 17128-15073 /? W / Ads: у приложения нет необходимых разрешений для определения местоположения
12-06 10: 20: 21.663 17128-16126 /? I / Ads: Версия SDK: afma-sdk-a-v14799021.14300000.1
12-06 10: 20: 22.084 15899-15899 /? I / Ads: не удалось загрузить объявление: 3
Это код, который я использую для вызова рекламы, он статичен, так как я использую его на других фрагментах / страницах моего приложения:
public static void adViewSetup(View mview){
final AdView madView = mview.findViewById(R.id.adView);
final AdRequest adRequest = new AdRequest.Builder()
//.addTestDevice("9C1E05D53A952405B2A66A70E846F862")
.build();
madView.loadAd(adRequest);
}
Это пример того, как я вызываю свой addViewSetup в onCreateView:
view = inflater.inflate(R.layout.main_home, container, false);
Home.adViewSetup(view);
Это образец моего добавления в макет xml:
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
ads:adSize="BANNER"
ads:adUnitId="@string/adId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"/>
Решение
Итак, решение было ... Ожидание.
ERROR_CODE_NO_FILL (объявление Не удалось загрузить 3) означает, что сервер отвечает, но в вашей учетной записи еще нет инвентаря для сборки рекламы. Похоже, что этот инвентарь создается после того, как несколько пользователей начинают использовать ваше приложение, и, следовательно, отправляет запрос рекламы на сервер adMob.
Мне потребовалось 2 дня, чтобы объявления начали появляться после перехода в рабочую среду.
Надеюсь, этот пост поможет тем, кто сомневается, как и я.