#react-native-umeng-share
目前支持分享到:微信好友、微信朋友圈、微信收藏、QQ、QQ空间、微博、邮件、短信
##安装
npm install --save react-native-umeng-share@https://github.com/HADB/react-native-umeng-share.git
##手动添加到XCode
-
在XCode project navigator 中右键单击 Libraries -> Add Files to [你的项目名称] 进入 node_module/react-native-umeng-share/ios 将 .xcodeproj 文件添加进来,并点击[你的项目名称] -> Build Phases 添加 Link Binary libRCTUmengshare.a
-
TARGETS->BUILD SETTING->Framework Search Paths 添加 $(SRCROOT)/../node_modules/react-native-umeng-share/ios/RCTUmengShare/UmengSocial/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI
-
在
Appdelegate.m
中添加如下代码... #import "RCTUmengShare.h" ... - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; UIViewController *rootViewController = [UIViewController new]; rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; [RCTUmengShare setRootController:rootViewController]; //加入这行代码 }
-
在XCode project navigator 中右键单击 [你的项目名称] ->Add Files to [你的项目名称]添加第三方分享的依赖文件
平台名称 文件路径 微信 node_module/react-native-umeng-share/ios/RCTUumengShare/UmengSocial/UMSocial_Sdk_Extra_Frameworks/Wechat/libSocialWechat.a 和 libWeChatSDK.a 微博 node_module/react-native-umeng-share/ios/RCTUumengShare/UmengSocial/UMSocial_Sdk_Extra_Frameworks/SinaSSO/libSocialSinaSSO.a libWeiboSDK.a 和 WeiboSDK.bundle QQ node_module/react-native-umeng-share/ios/RCTUumengShare/UmengSocial/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/libSocialQQ.a TencentOpenApi_IOS_Bundle.bundle 和 TencentOpenAPI.framework -
配置
info.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> ... <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLName</key> <string>weixin</string> <key>CFBundleURLSchemes</key> <array> <string>你的微信appId</string> </array> </dict> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>eqianzhuang</string> </array> </dict> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>tencent'你的qq APPid'</string> </array> </dict> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>sina.54535988fd98c5f10000726d</string> </array> </dict> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>QQ41D42AF9</string> </array> </dict> </array> <key>LSApplicationQueriesSchemes</key> <array> <string>wechat</string> <string>weixin</string> <string>sinaweibohd</string> <string>sinaweibo</string> <string>sinaweibosso</string> <string>weibosdk</string> <string>weibosdk2.5</string> <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>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>mqzoneopensdk</string> </array> ... </dict> </plist>
-
在
android/setting.gradle
中添加include ':react-native-umeng-share' project(':react-native-umeng-share').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-umeng-share/android')
-
在
android/app/build.gradle
中的添加dependencies { ... compile project(':react-native-umeng-share') ... }
-
在
android/build.gradle
中添加project.ext.manifestPlaceholders:allprojects { ... project.ext { manifestPlaceholders = [UmengAppKey: "", QQAppId : "" ] } ... }
-
在
android/app/src/main/java/[...]/MainActivity.java
中 -
文件顶部添加
import net.monkeyrun.umengshare.*;
-
在
getPackages()
方法中添加new UmengSharePackage()
##示例
import UmengShare from 'react-native-umeng-share'
...
UmengShare.setAppKey(UmengAppKey)
//ios
//url:默认分享的链接
UmengShare.setWXAppId(appId,appSecret,url)
//supportWebView:是否支持web分享
UmengShare.setQQWithAppId(appId,appSecret,url,supportWebView)
//shareData示例
const shareData={
url:'http://www.umeng.com',
content:'分享的文字内容',
title:'分享的标题',
imageSource:require('../someAssetImage.png')
//或者
imageSource:require('../someInternetImage.png')
}
//设置分享内容
UmengShare.setQQData(shareData)
UmengShare.setQzoneData(shareData)
UmengShare.setWechatSessionData(shareData)
UmengShare.setWechatTimelineData(shareData)
//只更改分享内容和图片,并弹出分享页面
UmengShare.presentSnsIconSheetView(content,require('../someAssetImage.png'))
UmengShare.presentSnsIconSheetView(content,{uri:'http://....someInternetImage.png'})
...
//android
UmengShare.setWXAppId(appId,appSecret)
UmengShare.setQQZone(appId,appSecret)
//弹出分享页面
UmengShare.openShareAction(content,title,url,require('../someAssetImage.png'))
UmengShare.openShareAction(content,title,url,{uri:'http://....someInternetImage.png'})