Javascript 在react native中创建UI组件时出错

Javascript 在react native中创建UI组件时出错,javascript,android,react-native,react-native-android,google-ad-exchange,Javascript,Android,React Native,React Native Android,Google Ad Exchange,我正在尝试用google创建一个react本地UI组件 但是,当应用程序呈现时,没有显示广告,当检查android logcat时,我注意到以下消息: W/未知:ViewManagerPropertyUpdater(21182):找不到生成的 com.adx.AdxViewManager类的setter 有人知道我哪里出错了吗 为了便于理解,我将我的代码放在我如何开发这个组件的下面 MainApplication.java index.android.js import React,{Compo

我正在尝试用google创建一个react本地UI组件

但是,当应用程序呈现时,没有显示广告,当检查android logcat时,我注意到以下消息:

W/未知:ViewManagerPropertyUpdater(21182):找不到生成的 com.adx.AdxViewManager类的setter

有人知道我哪里出错了吗

为了便于理解,我将我的代码放在我如何开发这个组件的下面

MainApplication.java

index.android.js

import React,{Component}来自'React';
从“/AdxBanner”导入AdxBanner;
从“react native”导入{AppRegistry,StyleSheet,Text,View};
导出默认类Adx扩展组件{
render(){
返回(
欢迎来到这里!
要开始,请编辑index.android.js
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
为内容辩护:“中心”,
对齐项目:“居中”,
背景颜色:“#F5FCFF”,
},
欢迎:{
尺寸:20,
textAlign:'中心',
差额:10,
},
说明:{
textAlign:'中心',
颜色:'#333333',
marginBottom:5,
},
});
AppRegistry.registerComponent('Adx',()=>Adx);
package com.adx;

import android.app.Application;

import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;

import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
          new AdxPackage()
      );
    }
  };
package com.adx;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;

import java.util.Collections;
import java.util.List;

public class AdxPackage implements ReactPackage {

    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
        return Collections.emptyList();
    }

    @Override
    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        return Collections.<ViewManager>singletonList(
                new AdxViewManager()
        );
    }
}
package com.adx;

import android.util.Log;

import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.annotations.ReactProp;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

public class AdxViewManager extends SimpleViewManager<AdView> {

    public static final String REACT_CLASS = "AdxBanner";

    @Override
    public String getName() {
        return REACT_CLASS;
    }

    @Override
    protected AdView createViewInstance(ThemedReactContext reactContext) {
        AdView adView = new AdView(reactContext);
        return adView;
    }

    @ReactProp(name = "adUnit")
    public void setAdUnit(AdView adView, String adUnit) {
        adView.setAdUnitId(adUnit);
    }

    @ReactProp(name = "size")
    public void setSize(AdView adView, String size) {

        Log.d(size, "setSize: ");

        adView.setAdSize(AdSize.BANNER);
        AdRequest adRequest = new AdRequest.Builder().build();
        adView.loadAd(adRequest);

        Log.d("Adx", "createViewInstance: OK");
    }
}
import React from "react";
import PropTypes from "prop-types";  
import { requireNativeComponent, View } from 'react-native';

var iface = { name: 'AdxBanner'}.propTypes =  { ...View.propTypes }

module.exports = requireNativeComponent('AdxBanner', iface);
import React, { Component } from 'react';
import AdxBanner from "./AdxBanner";
import { AppRegistry, StyleSheet, Text, View } from 'react-native';

export default class Adx extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit index.android.js
        </Text>
        <AdxBanner
           size="BANNER"
           adUnit="ca-app-pub-3940256099942544/6300978111"
           style={{height: 400, width: 400}}
         />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

AppRegistry.registerComponent('Adx', () => Adx);