Intereting Posts
Где вызвать getChildFragmentManager ()? Можно ли добавить любую торговую учетную запись в Google Android-кошельке Google? Typeface.ITALIC не работает на Galaxy Note 2 Фильтр намерений Android для определенного расширения файла? Рекомендации по кодированию Android / шаблоны проектирования Как создавать карты, которые обнаруживают автоматическое местоположение в React-Native Связь между фрагментами / диалогами в android Экран принудительного включения Java.lang.OutOfMemoryError: превышение верхнего предела GC на Android 1.4 MPAndroidChart удалить легенду Ошибка компиляции исходного кода Android: «Попробуйте увеличить размер кучи с помощью опции java» -Xmx <size> » Как получить название города из координат широты и долготы в Картах Google? Android FacebookSDK с помощью встроенного приложения Facebook запрашивает разрешения даже после того, как пользователь уже дал им Установить местоположение GPS в эмуляторе с помощью Android Studio Сделать Android jenkins build fail, если тесты не пройдут

AFMA_ReceiveMessage не определен

Я интегрирую AdMob в свое приложение для Android. Код для части добавления довольно прост и почти прямо из руководства разработчика Google. Я пытаюсь реализовать Interstitials. Объявления показываются отлично, но я получаю это в stackTrace в красном:

E / Ads (21443): JS: Uncaught ReferenceError: AFMA_ReceiveMessage не определен (null: 1)

Может ли кто-нибудь сказать мне, что это значит? Можно ли выпустить приложение с этой ошибкой, так как оно не разбивает приложение?

EDIT: Я только заметил, что эта ошибка получена для определенного объявления, а не для другого (просто покатаем две объявления в моей стране). Так что, возможно, это просто что-то отсутствует в конце издателя.

Solutions Collecting From Web of "AFMA_ReceiveMessage не определен"

Если это тестовое устройство, вы должны вызвать AddTestDevice("your tester device code you can got it from logCat when you start the App") . Если нет, он должен работать нормально в производственной среде.

Тестер:

 AdView mAdView = (AdView)rootView.findViewById(R.id.adView); Builder adRequest = new AdRequest.Builder().addTestDevice("3F166F686479332267DD2DCCD89dfwrg"); AdRequest aaa=adRequest.build(); mAdView.loadAd(aaa); 

Производство:

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

Вам нужно будет создать поток для загрузки объявлений.

 new Thread(new Runnable() { public void run() { here your code to load banner ... } }).start(); 

Для получения дополнительной документации перейдите на документацию разработчика Android по темам: http://developer.android.com/guide/components/processes-and-threads.html

Если он возвращает ошибку, прося вас использовать основной UiThread, используйте следующий код в своей деятельности

 runOnUiThread(new Runnable() { public void run() { interstitialAd.show(); } }); 

У меня была такая же проблема, пока я не добавлю

 compile 'com.google.android.gms:play-services:7.8.0' 

В build.gradle. Это решит проблему для меня.

Убедитесь, что вы создали отдельный идентификатор рекламного блока для запроса межстраничного объявления. Если вы используете идентификатор рекламного блока баннера для межстраничного запроса, такая же ошибка возникает. Он работал до этого, но они изменили его в какой-то момент.

Я получил эту конкретную ошибку в stacktrace, потому что я не использовал прослушиватель объявлений для своего объявления.

Надеюсь, это поможет кому-то.

 yourAdView.setAdListener(new AdListener() { @Override public void onAdClosed() { super.onAdClosed(); } @Override public void onAdFailedToLoad(int i) { super.onAdFailedToLoad(i); } @Override public void onAdLeftApplication() { super.onAdLeftApplication(); } @Override public void onAdOpened() { super.onAdOpened(); } @Override public void onAdLoaded() { super.onAdLoaded(); } }); 

Я получил эту ошибку, когда не полностью настроил идентификатор рекламного блока (я его создал, но не нажал кнопку «done»). После завершения настройки на apps.admob.com ошибка исчезла.