我在我的 React Native 应用程序中使用 expo 和 admob 实现了广告,但我想在没有加载广告时摆脱空白/阻塞空间。还没有找到任何例子。 (除了横幅之外,我在该页面上有一个标题和滚动视图)。
这就是 Admob 横幅的实现方式:
// Display a banner
<AdMobBanner
bannerSize="fullBanner"
adUnitID="ca-app-pub-3940256099942544/6300978111" // Test ID, Replace with your-admob-unit-id
testDeviceID="EMULATOR" />
我对此问题的解决方案是将 admob 组件包装在视图中,并将高度设置为零。当您收到广告时。然后更新样式以在视图中显示横幅
export class AdContainer extends React.Component {
constructor() {
super();
this.state = { height: 0 };
}
bannerError(e) {
console.log('banner error: ');
console.log(e);
}
adReceived() {
console.log('banner ad received: ');
this.setState({
...this.state,
hasAd: true
});
}
adClicked() {
console.log('banner ad clicked: ');
}
render() {
return (
<View style={!this.state.hasAd ? { height: 0 } : {}}>
<View>
<AdMobBanner
bannerSize="smartBannerPortrait" // "largeBanner" "fullBanner"
adUnitID={BANNER_ID}
testDeviceID="EMULATOR"
onDidFailToReceiveAdWithError={this.bannerError}
onAdViewDidReceiveAd={this.adReceived.bind(this)}
onAdViewWillPresentScreen={this.adClicked.bind(this)}
/>
</View>
</View>
);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)