Intereting Posts
На экране камеры отображаются зеленые линии Динамические изменения макетов, чем статические макеты Android: Не удалось найти com.android.support:support-v4:23.2.1 Невозможно создать экземпляр приемника в SMS-сообщении BroadcastReceiver Void android.support.v4.app.Fragment.setMenuVisibility (boolean) 'для ссылки на нулевой объект OnSaveInstanceState () не вызвано: почему? Панель инструментов Android Добавление элементов меню для разных фрагментов Выполнить код, когда приложение Android закрыто / отправлено на задний план Android dex дает исключение BufferOverflowException при создании Заменить (или «переопределить») строку в проекте библиотеки Android Приложение не поступает по почте программно Как сделать клики по части модели в Vuforia (без Unity)? Поймал исключение RuntimeException из реализации заглушки связующего, когда данные swap в arrayadapter Как добавить изображение (слева) и текст на кнопке События VideoView onTouch: приостановить / возобновить видео и показать / скрыть MediaController и ActionBar

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 ошибка исчезла.