{"id":22663184,"url":"https://github.com/puti94/react-native-puti-umeng-share","last_synced_at":"2025-04-12T07:22:23.884Z","repository":{"id":57339327,"uuid":"111076471","full_name":"puti94/react-native-puti-umeng-share","owner":"puti94","description":"[停止维护]由于分享登录模块平台众多,且众多平台库更新频繁，不利于维护。友盟官方已出了RN的插件，如需集成友盟的功能建议直接查看官方文档，按照文档进行配置。","archived":false,"fork":false,"pushed_at":"2017-12-19T10:45:02.000Z","size":10764,"stargazers_count":26,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T02:34:59.731Z","etag":null,"topics":["react-native","umeng-share"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/puti94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-17T08:14:00.000Z","updated_at":"2021-03-04T10:36:07.000Z","dependencies_parsed_at":"2022-09-14T05:32:02.739Z","dependency_job_id":null,"html_url":"https://github.com/puti94/react-native-puti-umeng-share","commit_stats":null,"previous_names":["puti94/react-native-umeng-share"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puti94%2Freact-native-puti-umeng-share","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puti94%2Freact-native-puti-umeng-share/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puti94%2Freact-native-puti-umeng-share/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puti94%2Freact-native-puti-umeng-share/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/puti94","download_url":"https://codeload.github.com/puti94/react-native-puti-umeng-share/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248531092,"owners_count":21119695,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["react-native","umeng-share"],"created_at":"2024-12-09T12:17:36.943Z","updated_at":"2025-04-12T07:22:23.855Z","avatar_url":"https://github.com/puti94.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-native-puti-umeng-share\n友盟分享登录的react-native模块，仅集成qq,微信,新浪微博,需要其它的自行参照代码集成。\n\n\n- 自动安装:\n   ```\n       //first\n       npm install react-native-puti-umeng-share --save\n       //then   android可自行导包，IOS由于静态库创建有问题，则需要手动集成\n       react-native link\n   ```\n- IOS 集成\n\n   - 第一步 前往node_module里的react-native-puti-umeng-share 文件夹下的ios-umeng-lib拷贝到工程目录下,并添加到项目中;\n   ![image](https://github.com/puti94/react-native-puti-umeng-share/blob/master/screenshot/QQ20171124-195428.png)\n   - 第二步 TARGET -\u003e General -\u003e Linked Frameworks and Libraries 添加 `libsqlite3.tbd` `CoreGraphics.framework` 系统库\n\n   - 第三步 在项目中的info.plist中加入应用白名单，右键info.plist选择source code打开(plist具体设置在Build Setting -\u003e Packaging -\u003e Info.plist File可获取plist路径) 请根据选择的平台对以下配置进行缩减：\n   ```\n   \u003ckey\u003eLSApplicationQueriesSchemes\u003c/key\u003e\n   \u003carray\u003e\n       \u003c!-- 微信 URL Scheme 白名单--\u003e\n       \u003cstring\u003ewechat\u003c/string\u003e\n       \u003cstring\u003eweixin\u003c/string\u003e\n\n       \u003c!-- 新浪微博 URL Scheme 白名单--\u003e\n       \u003cstring\u003esinaweibohd\u003c/string\u003e\n       \u003cstring\u003esinaweibo\u003c/string\u003e\n       \u003cstring\u003esinaweibosso\u003c/string\u003e\n       \u003cstring\u003eweibosdk\u003c/string\u003e\n       \u003cstring\u003eweibosdk2.5\u003c/string\u003e\n\n       \u003c!-- QQ、Qzone、TIM URL Scheme 白名单--\u003e\n       \u003cstring\u003emqqapi\u003c/string\u003e\n       \u003cstring\u003emqq\u003c/string\u003e\n       \u003cstring\u003emqqOpensdkSSoLogin\u003c/string\u003e\n       \u003cstring\u003emqqconnect\u003c/string\u003e\n       \u003cstring\u003emqqopensdkdataline\u003c/string\u003e\n       \u003cstring\u003emqqopensdkgrouptribeshare\u003c/string\u003e\n       \u003cstring\u003emqqopensdkfriend\u003c/string\u003e\n       \u003cstring\u003emqqopensdkapi\u003c/string\u003e\n       \u003cstring\u003emqqopensdkapiV2\u003c/string\u003e\n       \u003cstring\u003emqqopensdkapiV3\u003c/string\u003e\n       \u003cstring\u003emqqopensdkapiV4\u003c/string\u003e\n       \u003cstring\u003emqzoneopensdk\u003c/string\u003e\n       \u003cstring\u003ewtloginmqq\u003c/string\u003e\n       \u003cstring\u003ewtloginmqq2\u003c/string\u003e\n       \u003cstring\u003emqqwpa\u003c/string\u003e\n       \u003cstring\u003emqzone\u003c/string\u003e\n       \u003cstring\u003emqzonev2\u003c/string\u003e\n       \u003cstring\u003emqzoneshare\u003c/string\u003e\n       \u003cstring\u003ewtloginqzone\u003c/string\u003e\n       \u003cstring\u003emqzonewx\u003c/string\u003e\n       \u003cstring\u003emqzoneopensdkapiV2\u003c/string\u003e\n       \u003cstring\u003emqzoneopensdkapi19\u003c/string\u003e\n       \u003cstring\u003emqzoneopensdkapi\u003c/string\u003e\n       \u003cstring\u003emqqbrowser\u003c/string\u003e\n       \u003cstring\u003emttbrowser\u003c/string\u003e\n       \u003cstring\u003etim\u003c/string\u003e\n       \u003cstring\u003etimapi\u003c/string\u003e\n       \u003cstring\u003etimopensdkfriend\u003c/string\u003e\n       \u003cstring\u003etimwpa\u003c/string\u003e\n       \u003cstring\u003etimgamebindinggroup\u003c/string\u003e\n       \u003cstring\u003etimapiwallet\u003c/string\u003e\n       \u003cstring\u003etimOpensdkSSoLogin\u003c/string\u003e\n       \u003cstring\u003ewtlogintim\u003c/string\u003e\n       \u003cstring\u003etimopensdkgrouptribeshare\u003c/string\u003e\n       \u003cstring\u003etimopensdkapiV4\u003c/string\u003e\n       \u003cstring\u003etimgamebindinggroup\u003c/string\u003e\n       \u003cstring\u003etimopensdkdataline\u003c/string\u003e\n       \u003cstring\u003ewtlogintimV1\u003c/string\u003e\n       \u003cstring\u003etimapiV1\u003c/string\u003e\n\n   \u003c/array\u003e\n\n   ```\n\n   - 第四步 设置 URL Scheme URL Scheme是通过系统找到并跳转对应app的设置，通过向项目中的info.plist文件中加入URL types可使用第三方平台所注册的appkey信息向系统注册你的app，当跳转到第三方应用授权或分享后，可直接跳转回你的app。\n\n  ![image](https://github.com/puti94/react-native-puti-umeng-share/blob/master/screenshot/QQ20171124-200218.png)\n\n   - 第五步 在入口文件AppDelegate.m下设置回调\n   ```\n   #import \u003cReact/RCTLinkingManager.h\u003e\n\n   - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation\n   {\n     return [RCTLinkingManager application:application openURL:url\n                         sourceApplication:sourceApplication annotation:annotation];\n   }\n\n   - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary\u003cUIApplicationOpenURLOptionsKey, id\u003e *)options\n   {\n     return [RCTLinkingManager application:application openURL:url options:options];\n   }\n\n   ```\n\n\n\n- Android配置:\n   ```\n\n   //需要配置友盟APPKEY,否则分享不可用\n   \u003cmeta-data\n               android:name=\"UMENG_APPKEY\"\n               android:value=\"友盟APPKEY\" /\u003e\n\n\n   //微信配置\n   在包名目录下创建wxapi文件夹，新建一个名为WXEntryActivity的activity继承WXCallbackActivity。\n   并配置Android Manifest XML\n    \u003cactivity\n            android:name=\".wxapi.WXEntryActivity\"\n            android:exported=\"true\"\n            android:launchMode=\"singleTop\" /\u003e\n\n   \u003c!--配置QQ--\u003e\n   \u003cactivity\n               android:name=\"com.umeng.qq.tencent.AuthActivity\"\n               android:launchMode=\"singleTask\"\n               android:noHistory=\"true\" \u003e\n\n               \u003cintent-filter\u003e\n                   \u003caction android:name=\"android.intent.action.VIEW\" /\u003e\n                   \u003ccategory android:name=\"android.intent.category.DEFAULT\" /\u003e\n                   \u003ccategory android:name=\"android.intent.category.BROWSABLE\" /\u003e\n                   \u003cdata android:scheme=\"tencentQQID\" /\u003e\n               \u003c/intent-filter\u003e\n       \u003c/activity\u003e\n\n       \u003cactivity\n               android:name=\"com.umeng.qq.tencent.AssistActivity\"\n               android:screenOrientation=\"portrait\"\n               android:theme=\"@android:style/Theme.Translucent.NoTitleBar\"\n               android:configChanges=\"orientation|keyboardHidden|screenSize\"/\u003e\n\n\n\n\n    \u003c!--配置新浪微博--\u003e\n      \u003cactivity\n                android:name=\"com.umeng.socialize.media.WBShareCallBackActivity\"\n                android:configChanges=\"keyboardHidden|orientation\"\n                android:theme=\"@android:style/Theme.Translucent.NoTitleBar\"\n                android:exported=\"false\"\n                android:screenOrientation=\"portrait\" \u003e\n            \u003c/activity\u003e\n     \u003cactivity android:name=\"com.sina.weibo.sdk.web.WeiboSdkWebActivity\"\n                      android:configChanges=\"keyboardHidden|orientation\"\n                      android:exported=\"false\"\n                      android:windowSoftInputMode=\"adjustResize\"\u003e\n\n            \u003c/activity\u003e\n     \u003cactivity\n                android:theme=\"@android:style/Theme.Translucent.NoTitleBar.Fullscreen\"\n                android:launchMode=\"singleTask\"\n                android:name=\"com.sina.weibo.sdk.share.WbShareTransActivity\"\u003e\n                \u003cintent-filter\u003e\n                    \u003caction android:name=\"com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY\" /\u003e\n                    \u003ccategory android:name=\"android.intent.category.DEFAULT\" /\u003e\n                \u003c/intent-filter\u003e\n\n          \u003c/activity\u003e\n   ```\n\n\n- 使用:\n   ```\n       import UMShare from 'react-native-puti-umeng-share'\n\n        //是否开启调试\n        UMShare.debug(true)\n        //设置微信参数\n        UMShare.setWeixin(id,secret)\n        //设置微信参数\n        UMShare.setQQZone(id,key)\n        //设置新浪微博参数\n        UMShare.setSinaWeibo(key,secret,url)\n\n        //分享。\n        UMShare.share({\n                    platform: `${UMShare.QQ}\u0026${UMShare.WEIXIN}`,//分享平台,调用分享面板则使用\u0026拼接\n                    type: UMeng.UMWeb,  //分享类型\n                    title: '我是分享标题',\n                    url: 'https://www.baidu.com',\n                    desc: '我是分享描述',\n                    image: 'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3867393576,1410529218\u0026fm=27\u0026gp=0.jpg'\n                },res=\u003e{\n                if (res){\n                   alert('分享成功')\n                }else{\n                   alert('分享失败')\n                }\n              })\n\n         //登录\n         UMShare.login(UMShare.WEIXIN)\n                 .then((data) =\u003e {\n                             ToastAndroid.show(data, ToastAndroid.SHORT);\n                     }).catch(e =\u003e {\n                      ToastAndroid.show(e, ToastAndroid.SHORT);\n                     })\n\n          UMShare.isInstall(UMShare.WEIXIN)\n                 .then((isInstall) =\u003e {\n                            if (!isInstall) Toast('微信未安装')\n                     })\n\n   ```\n\n\n## Events\n| Event Name | Params | Notes | Example |\n|---|---|---|---|\n| debug | Bool | 是否开启debug模式| UMeng.debug(true)|\n| setWeixin |String,String  | 设置微信参数| UMeng.setWeixin('id','secret')|\n| setQQZone |String,String   | 设置QQ参数| UMeng.setQQZone('id','key')|\n| setSinaWeibo |String,String ,String  | 设置新浪微博参数| UMeng.setSinaWeibo('key','secret','url')|\n| share |Object  | 分享| UMeng.share({...})|\n| login | String | 登录| UMeng.login(UMeng.QQ).then().catch()|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fputi94%2Freact-native-puti-umeng-share","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fputi94%2Freact-native-puti-umeng-share","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fputi94%2Freact-native-puti-umeng-share/lists"}