AdMobBanner 的 `testDeviceID` 道具已弃用。测试设备 ID 现在是全局设置的。改用 AdMob.setTestDeviceIDAsync

봉승우*_*봉승우 4 admob react-native expo

我最近一直在以真实的本地方式制作应用程序。我还使用谷歌的admob 放置了一个广告横幅,直到几天前才出现曾经出现过的广告。设置下面的 admob 道具会导致错误。

<AdMobBanner
    bannerSize="banner"
    adUnitID="ca-app-pub-@@@@@@@" 
    testDeviceID="EMULATOR"
    servePersonalizedAds = {true}
    onDidFailToReceiveAdWithError={this.bannerError} 
/>
Run Code Online (Sandbox Code Playgroud)

错误如下。

The `testDeviceID` prop of AdMobBanner is deprecated. Test device IDs are now set globally. Use AdMob.setTestDeviceIDAsync instead.
Run Code Online (Sandbox Code Playgroud)

如果你能帮助我,我将不胜感激。

小智 6

我有同样的问题,他们应该更新世博会现场的信息。我相信这也适用于横幅广告。

进口:

import {
  setTestDeviceIDAsync, //<--- I forgot this first time
  AdMobInterstitial
}from 'expo-ads-admob';
Run Code Online (Sandbox Code Playgroud)

挂载后初始化:

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

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

从按钮或您喜欢的任何东西触发此功能:

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

  • 你好!我只是想澄清一下,因为我在文档中看不到它。一旦我为生产/游戏商店构建应用程序,我是否需要删除/替换“setTestDeviceIDAsync”?如果是的话,用什么来替代? (2认同)