Поддержка `testDeviceID` AdMobBanner устарела. Идентификаторы тестовых устройств теперь устанавливаются глобально. Используйте взамен AdMob.setTestDeviceIDAsyn c - PullRequest
4 голосов
/ 31 января 2020

Я недавно производил приложение на реальной основе. Я также вставил рекламный баннер, используя Google Adobob. Нет рекламы, которая появлялась до нескольких дней за go. Установка нижеприведенных реквизитов admob приведет к ошибке.

<AdMobBanner
    bannerSize="banner"
    adUnitID="ca-app-pub-@@@@@@@" 
    testDeviceID="EMULATOR"
    servePersonalizedAds = {true}
    onDidFailToReceiveAdWithError={this.bannerError} 
/>

Ошибки следующие:

The `testDeviceID` prop of AdMobBanner is deprecated. Test device IDs are now set globally. Use AdMob.setTestDeviceIDAsync instead.

Буду признателен, если вы поможете мне.

1 Ответ

5 голосов
/ 03 февраля 2020

У меня была такая же проблема, Они должны обновить информацию на сайте Экспо. Я считаю, что это должно работать и для баннера.

Импорт:

import {
  setTestDeviceIDAsync, //<--- I forgot this first time
  AdMobInterstitial
}from 'expo-ads-admob';

init после монтирования:

componentDidMount(){
  this.initAds().catch((error) => console.log(error));
}

initAds = async () => {
 AdMobInterstitial.setAdUnitID('ca-app-pub-3940256099942544/1033173712') //test id
 await setTestDeviceIDAsync('EMULATOR');
}

Запуск этой функции с помощью кнопки или чего-либо еще Вам нравится:

_openInterstitial = async () => {
  try {
    this.setState({ disableInterstitialBtn: true })
    await AdMobInterstitial.requestAdAsync()
    await AdMobInterstitial.showAdAsync()
  } catch (error) {
    console.error(error)
  } finally {
    this.setState({ disableInterstitialBtn: false })
  }
}
...