1.下載所需的jar,下載地址https://developer.umeng.com/sdk/reactnative?spm=a211g2.211692.0.0.28967d238GW6mC
2.將以下jar放入,你的android/app/libs中,(這里可以參考我之前分享的集成友盟統計的流程:https://www.cnblogs.com/songdongdong/p/10684327.html)
3.在你的DplusReactPackage.java中添加ShareModule
@Override public List<NativeModule> createNativeModules( ReactApplicationContext reactContext) { List<NativeModule> modules = new ArrayList<>(); modules.add(new ShareModule(reactContext)); modules.add(new PushModule(reactContext)); modules.add(new AnalyticsModule(reactContext)); return modules; }
4.在你的java/com/cp/invokenative下,添加ShareModule.java,這個下載jar的時候會有,這里用的是我自己的路徑,(修改為你自己的路徑即可)
5.將ShareModule.java的包名修改為你自己的包名
6.在你的MainActive.java中做如下修改
import android.content.Intent; //增加 // 分享平台配置 import com.umeng.socialize.PlatformConfig; //增加 // 分享模塊 import com.jingcai.cp.invokenative.ShareModule; //增加 import com.umeng.socialize.UMShareAPI;//增加 ......... protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 配置微信 PlatformConfig.setWeixin("微信AppId", "AppSecret");//增加 // 注意:如果您已經在AndroidManifest.xml中配置過appkey和channel值,可以調用此版本初始化函數。 UMConfigure.init(this, "Appkey", "Umeng", UMConfigure.DEVICE_TYPE_PHONE, "push的secret"); UMConfigure.setLogEnabled(true); UMConfigure.setProcessEvent(true); MobclickAgent.setSessionContinueMillis(30000); //初始化分享sdk ShareModule.initSocialSDK(this);//增加 } ......... //增加 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); } ......... .........
7.在你的js文件中新建ShareUtil.js
var { NativeModules } = require('react-native');
module.exports = NativeModules.UMShareModule;
8.使用
ShareUtile.share(text,img,url,title,platform,(code,message) =>{ this.setState({result:message}); }); text 為分享內容 img 為圖片地址,可以為鏈接,本地地址以及res圖片(如果使用res,請使用如下寫法:res/icon.png) url 為分享鏈接,可以為空 title 為分享鏈接的標題 platform為平台id,id對照表與授權相同 callback中code為錯誤碼,當為0時,標記成功。message為錯誤信息