为Android实现react-native UI模块后,我只能在屏幕上看到没有视图的空白区域。React-Native自定义Android用户界面模块:实现admob视图
我的onAdLoaded监听器确实被解雇了。但它只显示白色屏幕,并且在我的屏幕上不可见。
这是我的代码的一些片段。
public class ReactAdMobManager extends SimpleViewManager<AdView> {
private AdView mAdView;
@ReactProp(name = "src")
public void setSrc(AdView view, String src) {
Log.d("ReactAdMobManager", "inside set src");
}
public static final String REACT_CLASS = "RCTAdMobView";
@Override
public String getName() {
return REACT_CLASS;
}
@Override
public AdView createViewInstance(ThemedReactContext context) {
Log.d("ReactAdMobManager", "inside create view instance");
mAdView = new AdView(context);
mAdView.setAdSize(AdSize.FULL_BANNER);
mAdView.setAdUnitId("xxxxx");
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.d("ReactAdMobManager", "ad loaded");
}
});
// Create an ad request.
AdRequest adRequest = new AdRequest.Builder().addTestDevice("50AC32B853DA4B3E64C3B10BC26D0380").build();
//adRequest.
mAdView.loadAd(adRequest);
return mAdView;
}
}
我的反应代码AndroidAdmobView.js
var React = require('react-native');
var { requireNativeComponent } = React;
var AdmobView = React.createClass ({
render() {
return <RCTAdmob style={{flex:1, height:50}}/>;
}
})
AdmobView.propTypes = {
src: React.PropTypes.string
};
var RCTAdmob = requireNativeComponent('RCTAdMobView', AdmobView);
module.exports = AdmobView;
使用
var AdView = require('./AndroidAdmobView')
<AdView style={{height:50}} src="foo" />
我想我们需要看到你也回应本机代码,因为它有责任显示。确保这个函数返回期望的真正首先当然 –
也添加了我的反应代码,谢谢 –
你还可以显示RCTAdmob并确认它接收正确的数据吗? –