
小程序有哪些用处_React Native第三方平台分享的实
本文主要介绍了React Native第三方平台分享的实例(Android,IOS双平台),分享给大家,具体如下:
源码已开源到Github,地址请点击:【一行代码,双平台分享】
目前支持分享的平台有【QQ】【QQ空间】【微信】【朋友圈】【微博】【FaceBook】 欢迎大家star,fork.....
【 Android平台配置 】
1. app目录下创建 libs 文件夹,添加依赖文件【直接复制源码中 libs 目录即可】
2. app / src / main 目录下创建 jniLibs 目录,添加JNI文件【直接复制源码中 jniLibs 目录即可】
3. 包名目录下,引入所需交互代码【直接复制源码中 a凡科抠图hare、wxapi 、 WBShareActivity 、module 即可,注意import的路径是否正确】
4. 在AndroidMainfest.xml文件下添加权限【直接复制源码即可】
uses-permission android:name="android.permission.INTERNET" / uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" / uses-permission android:name="android.permission.ACCESS_WIFI_STATE" / uses-permission android:name="android.permission.READ_PHONE_STATE" / uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/ uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/ uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" / uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" / uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /
5. 在AndroidMainfest.xml文件下的 application /application 中添加分享平台【直接复制源码即可】
activity android:name=".WBShareActivity" android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" intent-filter action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" / category android:name="android.intent.category.DEFAULT" / /intent-filter /activity activity android:name="com.sina.ponent.WeiboSdkBrowser" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="adjustResize" android:exported="false" /activity service android:name="com.sina..DownloadService" android:exported="false" /service activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" / activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true" intent-filter action android:name="android.intent.action.VIEW" / category android:name="android.intent.category.DEFAULT" / category android:name="android.intent.category.BROWSABLE" / data android:scheme="tencent" / = 改为自己申请的QQkey /intent-filter /activity activity android:name="com.mon.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden|screenSize"/ activity android:name=".a凡科抠图hare.ShareEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" / meta-data android:name="UMENG_APPKEY" android:value="561cae6ae0f55abd990035bf" = 改为自己申请的友盟Key /meta-data
6. 使用【keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000】生成签名文件,并将签名文件放入app目录
7. 在gradle.properties文件下,添加签名信息【直接复制源码即可】
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-key-alias MYAPP_RELEASE_STORE_PASSWORD=123456(填写自己设置的密码) MYAPP_RELEASE_KEY_PASSWORD=123456 (填写自己设置的密码)
8. 在app / build.gradle 文件下的添加签名配置【直接复制源码即可】
android { ... defaultConfig { ... signingConfigs { release { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD buildTypes { release { ... signingConfig signingConfigs.release
9. 在MainApplication中初始化分享【直接复制源码即可】
@Override protected List ReactPackage getPackages() { return Arrays. ReactPackage asList( new MainReactPackage(), new SharePackage() = 添加引用 }
10. 在MainActivity中初始化分享回调【直接复制源码即可】
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ShareModule.initActivity(this); }
【 iOS平台配置 】
1. 将源码中 ios 目录下的UMSocial添加到工程,直接拖进即可
2. 选择TARGET下的项目,在Build Setting下找到Other Linker Flags加入-ObjC ,注意不要写为-Objc
3. 加入U-Share SDK依赖的系统库
依次添加如下依赖:
SystemConfiguration.framework
CoreGraphics.framework
CoreTelephony.framework
ImageIO.framework
libsqlite3.tbd
libc++.tbd
libz.tbd
4. 在Info.plist文件下配置SSO白名单【直接复制即可】
key LSApplicationQueriesSchemes /key array !-- 微信 URL Scheme 白名单-- string wechat /string string weixin /string !-- 新浪微博 URL Scheme 白名单-- string sinaweibohd /string string sinaweibo /string string sinaweibosso /string string weibosdk /string string weibosdk2.5 /string !-- QQ、Qzone、TIM URL Scheme 白名单-- string mqqapi /string string mqq /string string mqqOpensdkSSoLogin /string string mqqconnect /string string mqqopensdkdataline /string string mqqopensdkgrouptribeshare /string string mqqopensdkfriend /string string mqqopensdkapi /string string mqqopensdkapiV2 /string string mqqopensdkapiV3 /string string mqqopensdkapiV4 /string string mqzoneopensdk /string string wtloginmqq /string string wtloginmqq2 /string string mqqwpa /string string mqzone /string string mqzonev2 /string string mqzoneshare /string string wtloginqzone /string string mqzonewx /string string mqzoneopensdkapiV2 /string string mqzoneopensdkapi19 /string string mqzoneopensdkapi /string string mqqbrowser /string string mttbrowser /string string tim /string string timapi /string string timopensdkfriend /string string timwpa /string string timgamebindinggroup /string string timapiwallet /string string timOpensdkSSoLogin /string string wtlogintim /string string timopensdkgrouptribeshare /string string timopensdkapiV4 /string string timgamebindinggroup /string string timopensdkdataline /string string wtlogintimV1 /string string timapiV1 /string !-- Facebook URL Scheme 白名单-- string fbapi /string string fb-messenger-api /string string fbauth2 /string string fbshareextension /string /array
5. 配置URL Scheme
(3)在AppDelegate.m文件下添加如下代码,配置第三方平台【直接复制即可】
launchOptions:
/* 打开调试日志 */ [[UMSocialManager defaultManager] openLog:YES]; /* 设置友盟appkey */ [[UMSocialManager defaultManager] setUmSocialAppkey:@"59783b11f29d981b2f000984"]; [self configUSharePlatforms]; [self confitUShareSettings];
(4)设置回调【直接复制即可】
[objc] view plain copy - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation //6.3的新的API调用,是为了兼容国外平台(例如:新版facebookSDK,VK等)的调用[如果用6.2的api调用会没有回调],对国内平台没有影响 BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url sourceApplication:sourceApplication annotation:annotation]; if (!result) { // 其他如支付等SDK的回调 return result;
7. 将 ios 目录下【sharemodule.h】、【sharemodule.m】文件拖入你的项目即可
【 分享 】
import UShare from './share/share'; import SharePlatform from './share/SharePlatform';
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。
扫描二维码分享到微信