首页 > 学院 > 开发设计 > 正文

ReactNative添加广告SDK

2019-11-09 17:41:21
字体:
来源:转载
供稿:网友
package com.reactnative;import android.app.Activity;import com.adlefee.adview.AdLefeeBannerView;import com.adlefee.util.AdLefeeLayoutPosition;import com.facebook.react.bridge.ReactapplicationContext;import com.facebook.react.bridge.ReactContextBasejavaModule;import com.facebook.react.bridge.ReactMethod;/** * Created by Administrator on 2017/1/16. */public class TestAD extends ReactContextBaseJavaModule {    Activity b;    public TestAD(ReactApplicationContext reactContext) {        super(reactContext);    }    @Override    public String getName() {        return "testad";    }    @ReactMethod    public void showBanner(String message, int duration) {        if (b == null) {            ReactApplicationContext a = getReactApplicationContext();            b = a.getCurrentActivity();        }        b.runOnUiThread(new Runnable() {            @Override            public void run() {                AdLefeeBannerView adlefeeLayoutCode = new AdLefeeBannerView(b, "28FA6AE77", AdLefeeLayoutPosition.CENTER_BOTTOM);            }        });    }}
package com.reactnative;import com.adlefee.adview.AdLefeeBannerView;import com.adlefee.util.AdLefeeLog;import com.facebook.react.uimanager.SimpleViewManager;import com.facebook.react.uimanager.ThemedReactContext;/** * Created by Administrator on 2017/1/23. */public class TestViewManager extends SimpleViewManager<AdLefeeBannerView> {    @Override    public String getName() {//组件名称        return "AdLefeeBannerView";    }    @Override    PRotected AdLefeeBannerView createViewInstance(ThemedReactContext reactContext) {        AdLefeeLog.debug_Develop = true;        final AdLefeeBannerView adlefeeLayoutCode = new AdLefeeBannerView(reactContext.getCurrentActivity(), "28FA6AE77");        return adlefeeLayoutCode;    }}
package com.reactnative;import com.facebook.react.ReactPackage;import com.facebook.react.bridge.JavaScriptModule;import com.facebook.react.bridge.NativeModule;import com.facebook.react.bridge.ReactApplicationContext;import com.facebook.react.uimanager.ViewManager;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;/** * Created by Administrator on 2017/1/16. */public class AppReactPackage implements ReactPackage {    @Override    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {        List<NativeModule> modules=new ArrayList<>();        modules.add(new TestAD(reactContext));        return modules;    }    @Override    public List<Class<? extends JavascriptModule>> createJSModules() {        return Collections.emptyList();    }    @Override    public List<ViewManager> createViewManagers(            ReactApplicationContext reactContext) {        return Arrays.<ViewManager>asList(                new TestViewManager()        );    }}
package com.reactnative;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    protected boolean getUseDeveloperSupport() {      return BuildConfig.DEBUG;    }    @Override    protected List<ReactPackage> getPackages() {      return Arrays.<ReactPackage>asList(              new MainReactPackage(),new AppReactPackage());    }  };  @Override  public ReactNativeHost getReactNativeHost() {    return mReactNativeHost;  }  @Override  public void onCreate() {    super.onCreate();    SoLoader.init(this, /* native exopackage */ false);  }}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表