Итак, я создал учетную запись 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 дня, чтобы объявления начали появляться после перехода в Production.
Надеюсь, этот пост будет полезен тем, кто сомневается, так же, как и я.