React native 分享 友盟分享SDK
APP項目中用到分享功能是很常見的,比如我本次項目中可能還要用到推送、統計相關,所以目前選擇了友盟SDK,本文主要是針對安卓。
首先放官方
集成文檔:https://developer.umeng.com/docs/66632/detail/67587#h1-u5DE5u7A0Bu914Du7F6E1 請手動復制打開,不明白csdn為啥要把umeng.com鏈接給斃掉…下面相關地址一樣的。
DEMO:https://github.com/umeng/React_Native_Compent
跟著集成文檔操作,目錄不明白的可以參考DEMO。用 https://developer.umeng.com/sdk/reactnative 的橋接文件(.java)(其中的js里的ShareUtil.js可以放到我們自己的組件components文件夾里,最后調用的時候會用到,用法就相當于封裝好的一個組件),用https://developer.umeng.com/sdk/android的最新jar,根據需要集成下載并放到對應的目錄。
只是分享的話,目錄大概是:(注意res文件夾里的文件也要復制過來,不然可能會閃退——缺少資源文件)
接下來要將上面一幅圖中新引進來的幾個橋接文件(.java)中引用包名的地方, com.umeng.soexample.invokenative 改成 (包名).invokenative,這時候應該就能看懂這個是怎么用的了吧,要靈活點哦,比如 WXEntryActivity.java 里應該是 (包名).wxapi,根據我的目錄結構,相對的之前的 MainActivity.java 就直接是 (包名)。還有我們暫時不用的東西要先注釋掉,比如 DplusReactPackage.java 里面的
// 因為這些的橋接文件.java和.jar目前沒有放進項目,直接用了會報錯 // modules.add(new PushModule(reactContext)); // 推送相關 // modules.add(new AnalyticsModule(reactContext)); // 統計接著文檔,在 MainActivity.java 、MainActivity.java里面加代碼,這個時候就應該結合DEMO里的相應文件來改了,因為添加方法之前肯定是需要引入(import)的,但文檔中沒有提。但也不是把DEMO里頭部的 import 都引進來,因為DEMO里是把推送和統計功能都做了,所以我們根據文檔里添加的方法和字段選擇性的復制過來(import中若有com.umeng.soexample,需換成包名。不在目錄內的不用換,如import com.umeng.socialize.PlatformConfig;),如果沒有引,運行的時候會報錯到相應方法。
到這里我們應該能調通微信分享了(打包后apk,未打包的會一閃而過,因為微信分享需要驗證包名+appid+appsecret),要想調通QQ等,需要跟著文檔Share-Android最后有個 “分享其它工程配置請參照分享工程配置”的入口,我們主要根據這個工程配置 http://dev.umeng.com/sdk_integate/android_sdk/android_share_doc#1_5 在 android/app/src/main/AndroidManifest.xml 里加一些東西:sdk中需要的Activity:新浪、QQ等,其中QQ請使用完整版(即使SDK引的是精簡版,測試精簡版Activity會報錯),當然這些也可以直接從DEMO里對應的文件讀取。
至此,重新編譯運行一下應該就能調用分享組件了,若報錯不能deleted…什么的,手動刪除 android / app / build 下的所有文件即可。
總結
以上是生活随笔為你收集整理的React native 分享 友盟分享SDK的全部內容,希望文章能夠幫你解決所遇到的問題。