首页 > 解决方案 > Admob 横幅广告在 Android 上显示白色、博览会

问题描述

除了白框外,我似乎无法让 Admob 横幅显示任何内容。我可以确认 adUnitID 正确且广告单元已启用。我的 app.json android 部分:

"android": {
  "config": {
    "googleMobileAdsAppId": "xxx"
  },
  "package": "xxx",
  "versionCode": 1
},

这是我的 app.js 中的 Admob 横幅组件:

<View style={styles.container}>
    {Platform.OS === 'ios' && <StatusBar barStyle="default" />}
    <AppNavigator />
    <View style={styles.adContainer}>
      <AdMobBanner
        bannerSize='fullBanner'
        adUnitId='xxx'
        onDidFailToReceiveAdWithError={() => console.log('error')}
        servePersonalizedAds
      />
    </View> 
 </View>

 const styles = StyleSheet.create({
   container: {
     flex: 1,
     backgroundColor: '#fff',
   },
   adContainer: {
     borderColor: 'red',
     borderWidth: 1,
   },
 });

查看日志,它实际上从未打印出“错误”。我在广告容器周围放置了边框以确认它正在显示,如果我更改bannerSize 道具,我可以看到它改变了大小,因此它为横幅分配了正确的空间。这是 Expo SDK 版本 37.0.10,我只在 Android 物理设备上进行了测试。当我创建一个 apk 时,它同样将横幅显示为白色。

标签: androidreact-nativeadmobexpo

解决方案


这就是我在世博会上添加横幅的简单方法

在 app.js 中

 import { AdMobBanner,} from 'expo-ads-admob';

 <AdMobBanner
  bannerSize="banner"
  adUnitID="ca-app-pub-yourKeyHere" 
  servePersonalizedAds={false}
  onDidFailToReceiveAdWithError={this.bannerError} />

在 app.json 中

 "android": {
 
      "config": {
        "googleMobileAdsAppId": "ca-app-pub-yourKeyHere"}

推荐阅读