react native一键分享功能实现amp;原理和注意点(支持微信、qq、新浪微博等)
前言
目前使用一鍵分享比較主流的兩個SDK:ShareSDK、友盟;
又因為友盟功能比較多且比較全,比如說友盟統計、友盟推送等,所以本文重點介紹的是友盟分享功能在rn上的應用以及要注意的點。
?
react native綁定SDK兩種方案(一個原理):
1.自己去要綁定的SDK官網下載SDK包,按照SDK安裝指南分別在android/iOS上按步驟配置,然后在RN注冊Package和Module實現RN和原生之間的通訊;
2.使用別人已經寫過的Package和Module+SDK本身的配置,直接拿到rn項目中用;
總結:可以看出來第二種其實是比較偷懶的方式,但是可以實現功能,而且Package和Module的書寫幾乎一樣都是大同小異的代碼(除了Module暴露調用方法的順序不同之外),所以如果市面上已經有相應的綁定大可直接拿來使用。
?
一鍵分享實現方案
我們本文要使用的友盟分享庫是:react-native-share?
GitHub地址:https://github.com/songxiaoliang/react-native-share
配置詳見上面GitHub里README部分,這里不在重復,本文重點要說的是注意事項。
?
注意事項(Android部分)
除了上文GitHub里面的10個步驟之后,接下來的配置也是必不可少的.
1.需要在app目錄build.gradle文件dependencies里面添加如下配置:
dependencies { ... //友盟分享 compile files('libs/weiboSDKCore_3.1.4.jar') compile files('libs/wechat-sdk-android-with-mta-1.1.6.jar') compile files('libs/umeng_social_tool.jar') compile files('libs/umeng_social_net.jar') compile files('libs/umeng_social_api.jar') compile files('libs/SocialSDK_WeiXin_Full.jar') compile files('libs/SocialSDK_Sina_Full.jar') compile files('libs/SocialSDK_facebook.jar') compile files('libs/SocialSDK_QQ_Full.jar') compile files('libs/SocialSDK_alipay.jar') compile files('libs/open_sdk_r5781.jar') compile files('libs/libapshare.jar') compile 'com.android.support:multidex:' }2.需要注意修改apshare、module、wxapi、WBShareActivity.java里面的包名改成自己項目的包名;
3.MainActivity.java需要添加引用:
import com.umeng.analytics.MobclickAgent; import android.content.Intent; import android.os.Bundle; import com.umeng.socialize.UMShareAPI;4.MainApplication.java需要添加引用:
import com.xxx.module.SharePackage; //xxx為你的包名 import com.umeng.socialize.Config; import com.umeng.socialize.PlatformConfig; import com.umeng.socialize.UMShareAPI;5.以上配置完畢,運行依然報錯“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65935”
解決方案:
①.在項目的build.gradle文件的dependencies 節中添加分包設置:
dependencies { ... compile 'com.android.support:multidex:' ... }②.通過在defaultConfig節中設置multiDexEnabled標簽為true,開啟multi-dexing支持.
defaultConfig { ... multiDexEnabled true ... }?
總結
以上是生活随笔為你收集整理的react native一键分享功能实现amp;原理和注意点(支持微信、qq、新浪微博等)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重磅!阿里推出国产开源JDK!
- 下一篇: 自由职业半年,我又滚回职场了...