В настоящее время я пытаюсь интегрировать admob через службы Google в приложение для Android, но я экспериментирую со странной и раздражающей проблемой на своем реальном устройстве (2.3 Nexus One): мое межстраничное объявление не загружается, ЗА ИСКЛЮЧЕНИЕМ, если у меня также есть баннер, какой запрос на загрузку запускается после межстраничного запроса.
Если я это сделаю, все работает нормально, и реклама загружается почти сразу (у меня также есть журналы успеха).
Если я точно этого не сделаю (adView.loadAd(bannerAdRequest) должен вызываться после interstitial.loadAd(interstitialRequest), и я не могу просто получить adView или создать его запрос, не вызывая его), межстраничное объявление никогда не загружается, и я заканчиваю вверх (через много секунд) с журналами «Время ожидания завершения загрузки WebView» и «Не удалось загрузить объявление: 2». Конечно, нажатие кнопки, предназначенной для отображения межстраничного объявления, ничего не делает, поскольку interstitial.isLoaded() возвращает false.
Мое устройство 2.3 (на английском языке США), подключено через Wi-Fi, без блокировки рекламы, минимальная цель приложения — 1.9, цель — API 13, и я компилирую с использованием API13 (я также пытался использовать API 19). Последняя версия сервисов Google Play. Он отлично работает на эмуляторе 4.4.2. Я, конечно, создал как баннер, так и межстраничное объявление в консоли добавления мобов, и добавил свое собственное устройство в качестве тестового устройства, используя новый AdRequest.Builder().addTestDevice. Я также пытался отправить новый запрос после сбоя первого (в прослушивателе), но он тоже не работает.
Если бы это никогда не сработало, я мог бы подумать, что забыл что-то изначальное, но такое поведение действительно странно. Как будто второй «маленький» запрос как-то подталкивал «большой».
Редактировать: я протестировал эмулятор 2.3 с большим экраном, и все работает отлично. На «маленьком» эмуляторе у меня есть журнал предупреждений о том, что «Не удалось проанализировать конфигурацию посредничества: {"ad_networks":[{"adapters":["com.google.DummyAdapter"]," и т. д. и т. д., но этот эмулятор 320 * 240 пикселей, поэтому я думаю, что реклама не поддерживается должным образом на таких маленьких размерах.
Изменить 2: если загрузка рекламы не удалась, у меня также есть большие проблемы с производительностью в приложении (которое использует OGL), и я вижу дополнительные журналы, особенно этот «Jit: изменение размера JitTable с 8192 до 16384», что, кажется, указывает на что-то происходит необычно.
Редактировать 3: Образец Google, расположенный в JDK, не работает ни для межстраничных объявлений, он загружается навсегда, а затем у меня возникает та же проблема с тайм-аутом и «Не удалось загрузить объявление: 2». Я заметил, что перед сбоем у меня есть журнал с записью D/webviewglue(330): nativeDestroy view: 0x46c728, это может вызвать проблему (но это происходит даже с образцом). И если я изменю макет xml для баннеров, чтобы указать идентификатор моего рекламного баннера, теперь я могу запустить пример, отобразить рекламный баннер, перейти к промежуточному примеру, и теперь он загружается и отображается правильно.