当前ShareSDK版本,iOS:v4.3.3、android:v3.8.5
ShareSDK是为iOS、Android的App提供社交分享功能的一个组件,开发者仅需10分钟即可集成到自己的App中,它不仅支持包括QQ、微信、新浪微博、腾讯微博、豆瓣、Facebook、Twitter、Google+等国内外40多家的主流社会平台,未来继续不断扩展。帮助开发者轻松实现社会分享、第三方登录、关注、获得用户资料、获取好友列表等主流的功能,还有强大的社会化统计分享分析管理后台,可以实时了解用户、分享量、回流率等数据,有效地指导移动App的日常运营与推广,同时为App引入更多的社会平台流量。
shareSDKPlus封装了ShareSDK,是对YonBuilder移动开发平台的支持,为YonBuilder移动开发开发的App提供社交分享功能的一个组件,支持包括QQ、微信、新浪微博等多家主流社会平台,帮助开发者轻松实现社会分享、第三方登录、关注、获得用户资料、获取好友列表等主流的功能。
如有问题请联系技术支持:
服务电话: 400-685-2216
节假日值班电话:
iOS: 185-1664-1951
Android: 185-1664-1950
电子邮箱: support@mob.com
市场合作: 021-54623189
开发者使用本插件之前需要先到Mob官网申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取AppKey和AppSecret,然后添加ShareSDK功能。
详情参考:快速集成获取apppkey和appSecret
使用此插件之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
1.配置config.xml文件 下面是配置各个平台urlScheme列子,开发者自行删减。下面的值都是sharesdk demo测试使用,开发者自行调整
<feature name="shareSDKPlus">
<param name="urlScheme" value="wx617c77c82218ea2c" />
<param name="urlScheme" value="wb568898243" />
<param name="urlScheme" value="tencent100371282" />
<param name="urlScheme" value="QQ05FB8B52" />
<param name="urlScheme" value="ap2017062107540437" />
<param name="urlScheme" value="fb1412473428822331" />
<param name="urlScheme" value="line3rdp.com.mob.product.ShareSDK" />
<param name="urlScheme" value="yx0d9a9f9088ea44d78680f3274da1765f" />
<param name="urlScheme" value="pdk4987008320438021391" />
<param name="urlScheme" value="kakao9c17eb03317e0e627ec95a400f5785fb" />
<param name="urlScheme" value="dingoabcwtuab76wy0kyzo" />
<param name="urlScheme" value="pocketapp1234" />
<param name="urlScheme" value="vk5312801" />
<param name="urlScheme" value="twitterkit-viOnkeLpHBKs6KXV7MPpeGyzE" />
<param name="urlScheme" value="rm226427com.mob.product.ShareSDK" />
<param name="urlScheme" value="ak1412473428822331" />
<param name="urlScheme" value="aw9ivykfjvi4hpwo" />
</feature>
字段描述:
urlScheme:用于实现应用间跳转及数据交换,跳转到第三方应用客户端进行分享或授权后,从第三方应用客户端平台跳回到当前应用。urlScheme的value值根据第三方平台规则设置。可以配置多个urlScheme。各个平台配置规范:
微信:微信开放平台获取的appid,URL scheme为wx+appid 如:wx617c77c82218ea2cQQ:填两个URL scheme: 一个是tencent + appId ; 一个是 QQ + appId 转换成的十六进制(如果appId转换的16进制数不够8位则在前面补0,如转换的是:5FB8B52,则最终填入为:QQ05FB8B52 注意:转换后的字母要大写),这里的 QQ 一定要是大写
新浪微博:新浪微博开放平台获取到的appkey,URL scheme为wb+appkey 如:wb568898243
Facebook:URL scheme为fb+appid 如:fb1412473428822331
2.配置 key.xml 文件
需要将第三方平台(微博、QQ、微信、twitter、facebook等)申请的appkey、appsecret、redirecturi等参数配置到 key.xml 文件中。
key.xml 配置详解:
key.xml 文件需要放在 widget://res 文件目录下,格式如下:
<?xml version="1.0" encoding="UTF-8" ?>
<security>
<item name="shareSDKPlus_SinaWei_AppKey" value="568898243" />
<item name="shareSDKPlus_SinaWei_AppSecret" value="38a4f8204cc784f81f9f0daaf31e02e3" />
<item name="shareSDKPlus_SinaWei_RedirectUri" value="http://www.sharesdk.cn" />
<item name="shareSDKPlus_QQ_AppKey" value="100371282" />
<item name="shareSDKPlus_QQ_AppSecret" value="aed9b0303e3ed1e27bae87c33761161d" />
<item name="shareSDKPlus_Wechat_AppKey" value="wx617c77c82218ea2c" />
<item name="shareSDKPlus_Wechat_AppSecret" value="c7253e5289986cf4c4c74d1ccc185fb1" />
<item name="shareSDKPlus_Wechat_AppUniversalLink" value="https://www.sandslee.com/" />
<item name="shareSDKPlus_Douyin_AppKey" value="aw9ivykfjvi4hpwo" />
<item name="shareSDKPlus_Douyin_AppSecret" value="42b4caa6bda60bd49f05f06d0a4956e1" />
<item name="shareSDKPlus_Facebook_AppKey" value="1412473428822331" />
<item name="shareSDKPlus_Facebook_AppSecret" value="a42f4f3f867dc947b9ed6020c2e93558" />
<item name="shareSDKPlus_Facebook_DisplayName" value="shareSDK" />
<item name="shareSDKPlus_Twitter_AppKey" value="viOnkeLpHBKs6KXV7MPpeGyzE" />
<item name="shareSDKPlus_Twitter_AppSecret" value="NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey" />
<item name="shareSDKPlus_Twitter_RedirectUri" value="http://mob.com" />
<item name="shareSDKPlus_Instagram_AppKey" value="ff68e3216b4f4f989121aa1c2962d058" />
<item name="shareSDKPlus_Instagram_AppSecret" value="1b2e82f110264869b3505c3fe34e31a1" />
<item name="shareSDKPlus_Instagram_RedirectUri" value="http://sharesdk.cn" />
<item name="shareSDKPlus_Google_AppKey" value="232554794995.apps.googleusercontent.com" />
<item name="shareSDKPlus_Google_AppSecret" value="PEdFgtrMw97aCvf0joQj7EMk" />
<item name="shareSDKPlus_Google_RedirectUri" value="http://localhost" />
<item name="shareSDKPlus_Line_AuthType" value="2" />
<item name="shareSDKPlus_AliPaySocial_AppKey" value="2017062107540437" />
<item name="shareSDKPlus_MeiPai_AppKey" value="1089867639" />
<item name="shareSDKPlus_DingTalk_AppKey" value="dingoabcwtuab76wy0kyzo" />
<item name="shareSDKPlus_DouBan_AppKey" value="02e2cbe5ca06de5908a863b15e149b0b" />
<item name="shareSDKPlus_DouBan_AppSecret" value="9f1e7b4f71304f2f" />
<item name="shareSDKPlus_DouBan_RedirectUri" value="http://www.sharesdk.cn" />
<item name="shareSDKPlus_TencentWeibo_AppKey" value="801307650" />
<item name="shareSDKPlus_TencentWeibo_AppSecret" value="ae36f4ee3946e1cbb98d6965b0b2ff5c" />
<item name="shareSDKPlus_TencentWeibo_RedirectUri" value="http://www.sharesdk.cn" />
<item name="shareSDKPlus_YinXiang_AppKey" value="46131514-6903" />
<item name="shareSDKPlus_YinXiang_AppSecret" value="08d7a6f3afcc888a" />
<item name="shareSDKPlus_YinXiang_Sandbox" value="1" />
<item name="shareSDKPlus_YouDaoNote_AppKey" value="dcde25dca105bcc36884ed4534dab940" />
<item name="shareSDKPlus_YouDaoNote_AppSecret" value="d98217b4020e7f1874263795f44838fe" />
<item name="shareSDKPlus_YouDaoNote_RedirectUri" value="http://www.sharesdk.cn/" />
<item name="shareSDKPlus_Mingdao_AppKey" value="97230F25CA5C" />
<item name="shareSDKPlus_Mingdao_AppSecret" value="A5DC29AF7C5A5851F28E903AE9EAC0" />
<item name="shareSDKPlus_Mingdao_RedirectUri" value="http://mob.com" />
<item name="shareSDKPlus_Kaixin_AppKey" value="358443394194887cee81ff5890870c7c" />
<item name="shareSDKPlus_Kaixin_AppSecret" value="da32179d859c016169f66d90b6db2a23" />
<item name="shareSDKPlus_Kaixin_RedirectUri" value="http://www.sharesdk.cn/" />
<item name="shareSDKPlus_Renren_AppId" value="226427" />
<item name="shareSDKPlus_Renren_AppKey" value="fc5b8aed373c4c27a05b712acba0f8c3" />
<item name="shareSDKPlus_Renren_AppSecret" value="f29df781abdd4f49beca5a2194676ca4" />
<item name="shareSDKPlus_Renren_AuthType" value="2" />
<item name="shareSDKPlus_YiXin_AppKey" value="yx0d9a9f9088ea44d78680f3274da1765f" />
<item name="shareSDKPlus_YiXin_AppSecret" value="1a5bd421ae089c3" />
<item name="shareSDKPlus_YiXin_RedirectUri" value="https://open.yixin.im/resource/oauth2_callback.html" />
<item name="shareSDKPlus_Kakao_AppKey" value="9c17eb03317e0e627ec95a400f5785fb" />
<item name="shareSDKPlus_Kakao_ApiKey" value="802e551a5048c3172fc1dedaaf40fcf1" />
<item name="shareSDKPlus_Kakao_RedirectUri" value="http://www.mob.com/oauth" />
<item name="shareSDKPlus_YouTube_AppKey" value="906418427202-jinnbqal1niq4s8isbg2ofsqc5ddkcgr.apps.googleusercontent.com" />
<item name="shareSDKPlus_YouTube_AppSecret" value="" />
<item name="shareSDKPlus_YouTube_RedirectUri" value="http://localhost" />
<item name="shareSDKPlus_Flickr_AppKey" value="cbed81d4a1bc7417693ab7865e354717" />
<item name="shareSDKPlus_Flickr_AppSecret" value="4c490343869091f2" />
<item name="shareSDKPlus_Dropbox_AppKey" value="us514wslpfojbxc" />
<item name="shareSDKPlus_Dropbox_AppSecret" value="w0nmp4os3ngo1ja" />
<item name="shareSDKPlus_Dropbox_RedirectUri" value="http://localhost" />
<item name="shareSDKPlus_Evernote_AppKey" value="46131514-6903" />
<item name="shareSDKPlus_Evernote_AppSecret" value="08d7a6f3afcc888a" />
<item name="shareSDKPlus_Evernote_Sandbox" value="1" />
<item name="shareSDKPlus_Pinterest_AppKey" value="4987008320438021391" />
<item name="shareSDKPlus_Pocket_AppKey" value="11496-de7c8c5eb25b2c9fcdc2b627" />
<item name="shareSDKPlus_Pocket_RedirectUri" value="pocketapp1234" />
<item name="shareSDKPlus_LinkedIn_AppKey" value="46kic3zr7s4n" />
<item name="shareSDKPlus_LinkedIn_AppSecret" value="RWw6WRl9YJOcdWsj" />
<item name="shareSDKPlus_LinkedIn_RedirectUri" value="http://baidu.com" />
<item name="shareSDKPlus_VKontakte_AppKey" value="5312801" />
<item name="shareSDKPlus_VKontakte_AppSecret" value="ZHG2wGymmNUCRLG2r6CY" />
<item name="shareSDKPlus_VKontakte_AuthType" value="2" />
<item name="shareSDKPlus_Instapaper_AppKey" value="4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA" />
<item name="shareSDKPlus_Instapaper_AppSecret" value="GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe" />
<item name="shareSDKPlus_Tumblr_AppKey" value="2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM" />
<item name="shareSDKPlus_Tumblr_AppSecret" value="3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo" />
<item name="shareSDKPlus_Tumblr_RedirectUri" value="http://sharesdk.cn" />
<item name="shareSDKPlus_SMS_CountryList" value="0" />
<item name="shareSDKPlus_CMCC_AppId" value="300011862498" />
<item name="shareSDKPlus_CMCC_AppKey" value="38D9CA1CC280C5F207E2C343745D4A4B" />
<item name="shareSDKPlus_CMCC_DisplayUI" value="1" />
<item name="shareSDKPlus_Telegram_BotToken" value="646009290:AAGSonNPZqyjl0MUER8MdM8pwSPritFVNgI" />
<item name="shareSDKPlus_Telegram_BotDomain" value="http://www.mob.com" />
<item name="shareSDKPlus_Reddit_AppKey" value="ObzXn50T7Cg0Xw" />
<item name="shareSDKPlus_Reddit_RedirectUri" value="https://www.mob.com/reddit_callback" />
<item name="shareSDKPlus_ESurfing_AppKey" value="8148612606" />
<item name="shareSDKPlus_ESurfing_AppSecret" value="mCltrhUqwshFa86egDTs0491ibaAulKA" />
<item name="shareSDKPlus_ESurfing_AppName" value="shareSDK" />
</security>
以上可能出现的全部各个平台的配置,根据开发者需要删减,另外部分特殊平台需要在Info.plist文件中配置
字段描述:
shareSDKPlus_SinaWei_AppKey: 从新浪微博开放平台获取的App Key.
shareSDKPlus_SinaWei_AppSecret: 从新浪微博开放平台获取的App Secret.
shareSDKPlus_SinaWei_RedirectUri: 从新浪微博开放平台创建应用时 自定义填写的回调url
其他也是都是各自开放平台获取
配置Info.plist文件 该文件含MOB平台MOBAppKey和MOBAppSecret、特殊平台appkey配置、白名单配置,将Info.plist放在widget://res文件目录下,文件内容:
<?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>MOBAppKey</key>
<string>moba6b6c6d6</string>
<key>MOBAppSecret</key>
<string>b89d2427a3bc7ad1aea1e1e8c1d36bf3</string>
<key>AccountKitClientToken</key>
<string>c30c08723aa8c48fbd5e01d1c3103891</string>
<key>FacebookAppID</key>
<string>1412473428822331</string>
<key>KAKAO_APP_KEY</key>
<string>9c17eb03317e0e627ec95a400f5785fb</string>
<key>LineSDKConfig</key>
<dict>
<key>ChannelID</key>
<string>1521201864</string>
</dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixinULAPI</string>
<string>kakaotalk-5.9.7</string>
<string>pinterestsdk.v1</string>
<string>vkauthorize</string>
<string>storylink</string>
<string>kakaolink</string>
<string>storykompassauth</string>
<string>kakaokompassauth</string>
<string>yixinfav</string>
<string>yixinoauth</string>
<string>yixinopenapi</string>
<string>yixin</string>
<string>pocket-oauth-v1</string>
<string>dingtalk-open</string>
<string>dingtalk</string>
<string>alipayshare</string>
<string>alipay</string>
<string>whatsapp</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>
<string>yixinoauth</string>
<string>yixin</string>
<string>sinaweibohd</string>
<string>sinaweibo</string>
<string>weibosdk2.5</string>
<string>weibosdk</string>
<string>weibo</string>
<string>sinaweibosso</string>
<string>weixin</string>
<string>youtube</string>
<string>mpsharesdk11</string>
<string>mpsharesdk10</string>
<string>mtmv</string>
<string>mqqopensdkapiV4</string>
<string>mqzone</string>
<string>mqqwpa</string>
<string>wtloginmqq2</string>
<string>mqzoneopensdkapiV2</string>
<string>mqzoneopensdkapi19</string>
<string>mqzoneopensdkapi</string>
<string>mqzoneopensdk</string>
<string>mqqopensdkapiV3</string>
<string>mqqopensdkapiV2</string>
<string>mqq</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqapi</string>
<string>lineauth</string>
<string>line</string>
<string>instagram</string>
<string>fbauth</string>
<string>fb-messenger-platform-20150714</string>
<string>fb-messenger</string>
<string>fbauth2</string>
<string>fbapi</string>
<string>fbapi20130214</string>
<string>twitterauth</string>
<string>tg</string>
<string>telegram</string>
<string>renrenapi</string>
<string>renrenios</string>
<string>renreniphone</string>
<string>douyinsharesdk</string>
<string>douyinopensdk</string>
</array>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>写入相册视频</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>从手机相册中选择</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
</dict>
MOBAppKey、MOBAppSecret:(必须配置)从mob平台创建应用后,申请的app Key和app Secret.
KAKAO_APP_KEY:从kaKao平台申请的 app Key,若iOS平台需要使用kaKaoTalk、kaKaoStory平台进行分享,必须添加此字段
LineSDKConfig:line平台配置
LSApplicationQueriesSchemes:白名单配置,用于判断是否安装第三方客户端及跳转到第三方客户端, 注意用到哪个就配置哪个,无用的可以不配置注意:
配置白名单,也可以在配置config.xml文件中,配置方法参考配置可被检测的URL Scheme。配置内容参考mob官网
配置ATS(App Transport Security),在Info.plist文件中,APP可以使用http协议访问。配置方法参考iOS修改Info.plist之配置ATS.
Android配置第三方平台的AppKey等信息遵循YonBuilder移动开发的惯例是在config.xml中配置。 在name为"shareSDKPlus"的
标签内,配置标签来填充AppKey等属性的值。 下面是配置各个平台AppKey、AppSecret、RedirectUrl的例子,实际的使用中需要开发者填写自己在第三方网站申请的值(只需要改变值,不要改变AppKey、AppSecret、RedirectUrl等名称,否则将会读取不到)
<feature name="shareSDKPlus">
<param name="Mob-AppKey" value="moba0b0c0d0" />
<param name="Mob-AppSecret" value="5713f0d88511f9f4cf100cade0610a34" />
<param name="WeChat-AppId" value="wx4868b35061f87885" />
<param name="WeChat-AppSecret" value="64020361b8ec4c99936c0e3999a9f249" />
<param name="WeChat-WithShareTicket" value="true" />
<param name="WeChat-BypassApproval" value="false" />
<param name="SinaWeibo-AppKey" value="568898243" />
<param name="SinaWeibo-AppSecret" value="38a4f8204cc784f81f9f0daaf31e02e3" />
<param name="SinaWeibo-ShareByAppClient" value="true" />
<param name="SinaWeibo-RedirectUrl" value="http://www.sharesdk.cn" />
<param name="QQ-AppId" value="100371282" />
<param name="QQ-AppKey" value="aed9b0303e3ed1e27bae87c33761161d" />
<param name="QQ-ShareByAppClient" value="true" />
<param name="QQ-BypassApproval" value="false" />
<param name="Google-ClientID" value="232554794995.apps.googleusercontent.com" />
<param name="Google-RedirectUri" value="http://localhost" />
<param name="Google-ShareByAppClient" value="true" />
<param name="Facebook-ConsumerKey" value="1412473428822331" />
<param name="Facebook-ConsumerSecret" value="a42f4f3f867dc947b9ed6020c2e93558" />
<param name="Facebook-RedirectUrl" value="https://mob.com" />
<param name="Facebook-ShareByAppClient" value="true" />
<param name="Twitter-ConsumerKey" value="viOnkeLpHBKs6KXV7MPpeGyzE" />
<param name="Twitter-ConsumerSecret" value="NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey" />
<param name="Twitter-CallbackUrl" value="http://mob.com" />
<param name="Twitter-ShareByAppClient" value="true" />
<param name="Twitter-BypassApproval" value="true" />
<param name="Instagram-ClientId" value="ff68e3216b4f4f989121aa1c2962d058" />
<param name="Instagram-ClientSecret" value="1b2e82f110264869b3505c3fe34e31a1" />
<param name="Instagram-RedirectUri" value="http://sharesdk.cn" />
<param name="Instagram-ShareByAppClient" value="true" />
<param name="Alipay-AppId" value="2015072400185895" />
<param name="Kakao-AppKey" value="48d3f524e4a636b08d81b3ceb50f1003" />
<param name="Telegram-AppKey" value="782826033" />
<param name="Telegram-RedirectUrl" value="http://www.mob.com" />
<param name="Line-ChannelID" value="1639219273" />
<param name="Line-ChannelSecret" value="58faad55ffce8bf8f63b59fe6fb702ae" />
<param name="Line-RedirectUri" value="https://www.mob.com/" />
<param name="Dingding-AppId" value="dingoanxyrpiscaovl4qlw" />
<param name="Dingding-BypassApproval" value="false" />
<param name="Dingding-RedirectUrl" value="http://localhost" />
</feature>
注意:shareSDKPlus插件在apicloud的插件库中添加,shareSDKPlus需要使用的其他第三方平台在gitHub上下载
插件名 | 备注 |
---|---|
shareSDKPlus | ShareSDK核心库,必须引入。 |
ShareSDKPlusQZone | qq空间插件 |
ShareSDKPlusInstagram | Instagram插件 |
ShareSDKPlusWhatsApp | WhatsApp插件 |
ShareSDKPlusGooglePlus | GooglePlus插件(因YonBuilder移动开发方不支持AndroidX,该平台不可用) |
ShareSDKPlusFacebook | Facebook插件 |
ShareSDKPlusTwitter | Twitter插件 |
ShareSDKPlusQQ | QQ插件,使用qq空间也必须引入此插件。(注意事项见附录) |
ShareSDKPlusSinaWeibo | 新浪微博插件 |
ShareSDKPlusWechat | 微信插件 |
ShareSDKPlusAlipay | 支付宝插件 |
ShareSDKPlusKakao | Kakao插件(暂不可用) |
ShareSDKPlusLine | Line插件 |
ShareSDKPlusDingding | 钉钉插件 |
接口 | 参数 | 释义 |
---|---|---|
init | 无 | 初始各平台信息化接口,需在使用SDK之前调用(Android Only) |
authorize | platform:对应平台的数值,平台数值对应表详见script/ShareSDK.js | 授权 |
cancelAuthorize | platform:对应平台的数值,平台数值对应表详见script/ShareSDK.js | 取消授权 |
getUserInfo | platform:对应平台的数值,平台数值对应表详见script/ShareSDK.js | 获取用户信息 |
shareContent | shareParams:分享参数 platform:对应平台的数值,平台数值对应表详见script/ShareSDK.js shareType:分享类型 |
分享 |
oneKeyShareContent | shareParams:分享参数 hiddenPlatformList:要隐藏的分享平台 |
一键分享 |
使用QQ空间时,QQ插件也必须引入,即ShareSDKPlusQZone和ShareSDKPlusQQ插件都需要引入。
使用QQ插件时,需要修改ShareSDKPlusQQ.zip内容。
步骤为:
1. 解压ShareSDKPlusQQ.zip
2. 修改解压出的ShareSDKPlusQQ/res文件夹下的AndroidManifest.xml文件中${QQ-AppKey}内容,把${QQ-AppKey}替换为自己应用的QQAPPkey
修改后的内容为:其中1234567则为自己QQ的appkey
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mob.sharesdkplusqq">
<application>
<activity
android:name="cn.sharesdk.tencent.qq.ReceiveActivity"
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="tencent1234567" />
</intent-filter>
</activity>
</application>
</manifest>
3. 修改完成,压缩ShareSDKPlusQQ文件夹,压缩方式选择标准。
首先添加一个ShareSDK.js内容如下:
/**
* 常量:分享类型,分享/授权平台,分享/授权结果状态
*/
function ShareSDK()
{
/**
* JSON字符串转换为对象
* @param string JSON字符串
* @returns {Object} 转换后对象
*/
JsonStringToObject = function (string)
{
try
{
return eval("(" + string + ")");
}
catch (err)
{
return null;
}
};
this.JsonStringToObject = function (string)
{
return JsonStringToObject(string);
}
/**
* 对象转JSON字符串
* @param obj 对象
* @returns {string} JSON字符串
*/
ObjectToJsonString = function (obj)
{
var S = [];
var J = null;
var type = Object.prototype.toString.apply(obj);
if (type === '[object Array]')
{
for (var i = 0; i < obj.length; i++)
{
S.push(ObjectToJsonString(obj[i]));
}
J = '[' + S.join(',') + ']';
}
else if (type === '[object Date]')
{
J = "new Date(" + obj.getTime() + ")";
}
else if (type === '[object RegExp]'
|| type === '[object Function]')
{
J = obj.toString();
}
else if (type === '[object Object]')
{
for (var key in obj)
{
var value = ObjectToJsonString(obj[key]);
if (value != null)
{
S.push('"' + key + '":' + value);
}
}
J = '{' + S.join(',') + '}';
}
else if (type === '[object String]')
{
J = '"' + obj.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '') + '"';
}
else if (type === '[object Number]')
{
J = obj;
}
else if (type === '[object Boolean]')
{
J = obj;
}
return J;
};
this.ObjectToJsonString = function (obj)
{
return ObjectToJsonString(obj);
}
/**
* 平台类型
* @type {object}
*/
this.PlatformID = {
Unknown : 0,
SinaWeibo : 1, //Sina Weibo
TencentWeibo : 2, //Tencent Weibo
DouBan : 5, //Dou Ban
QZone : 6, //QZone
Renren : 7, //Ren Ren
Kaixin : 8, //Kai Xin
Pengyou : 9, //Friends
Facebook : 10, //Facebook
Twitter : 11, //Twitter
Evernote : 12, //Evernote
Foursquare : 13, //Foursquare
GooglePlus : 14, //Google+
Instagram : 15, //Instagram
LinkedIn : 16, //LinkedIn
Tumblr : 17, //Tumblr
Mail : 18, //Mail
SMS : 19, //SMS
Print : 20, //Print
Copy : 21, //Copy
WeChat : 22, //WeChat Friends
WeChatMoments : 23, //WeChat Timeline
QQ : 24, //QQ
Instapaper : 25, //Instapaper
Pocket : 26, //Pocket
YouDaoNote : 27, //You Dao Note
Pinterest : 30, //Pinterest
Flickr : 34, //Flickr
Dropbox : 35, //Dropbox
VKontakte : 36, //VKontakte
WeChatFavorites : 37, //WeChat Favorited
YiXinSession : 38, //YiXin Session
YiXinTimeline : 39, //YiXin Timeline
YiXinFav : 40, //YiXin Favorited
MingDao : 41, //明道
Line : 42, //Line
WhatsApp : 43, //Whats App
KakaoTalk : 44, //KakaoTalk
KakaoStory : 45, //KakaoStory
FacebookMessenger : 46, //FacebookMessenger
Bluetooth : 48, //Bluetooth
Alipay : 50, //Alipay
AliPaySocialTimeline:51,//AliPaySocial Timeline
DingTalk:52, //DingTalk
YouTube:53, //youtube
MeiPai:54, //美拍
Cmcc : 55, //中国移动
Reddit : 56, //Reddit
ESurfing : 57, //天翼
Douyin : 58, //抖音
FacebookAccount : 58, //FacebookAccount
KakaoPlatform : 995, //Kakao Series
EvernotePlatform : 996, //Evernote Series
WechatPlatform : 997, //Wechat Series
QQPlatform : 998, //QQ Series
Any : 999 //Any Platform
};
/**
* 回复状态
* @type {object}
*/
this.ResponseState = {
Begin : 0, //开始
Success: 1, //成功
Fail : 2, //失败
Cancel : 3 //取消
};
/**
* 内容分享类型
* @type {object}
*/
this.ContentType = {
Auto : 0,
Text : 1,
Image : 2,
WebPage : 4,
Music : 5,
Video : 6,
App : 7,
File : 8,
Emoji : 9
};
};
var $sharesdk = new ShareSDK();
添加ShareSDK.js目的主要是提供平台号,回调状态等一些常量
var shareApi = api.require('shareSDKPlus');
初始各平台信息化接口,需在使用SDK之前调用(Android Only)
init(callback(ret, err))
ret:
{
state: 1 //数字类型,1:成功 2:失败
data:{} //json对象 授权后获取的用户信息
error:{ // state = 2时
error_code:, //错误码
error_msg: //错误信息
}
}
Android系统
可提供的1.4.3及更高版本
授权
authorize({params}, callback(ret, err))
platform:
ret:
{
state: 1 //数字类型,1:成功 2:失败 3:取消
data:{} //json对象 授权后获取的用户信息
error:{ // state = 2时
error_code:, //错误码
error_msg: //错误信息
}
}
var shareApi = api.require('shareSDKPlus');
shareApi.authorize({
"platform": $sharesdk.PlatformID.SinaWeibo
},function(ret, err){
var state = ret.state;
switch(state)
{
case $sharesdk.ResponseState.Success://1
api.toast({
msg: "授权成功",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Fail://2
api.toast({
msg: "授权失败",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Cancel://3
api.toast({
msg: "取消授权",
location: 'middle'
});
break;
default:
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
取消授权
cancelAuthorize({params}, callback(ret, err))
platform:
ret:
{
state: 1 //数字类型,1:成功 2:失败 3:取消
error:{ // state = 2时
error_code:, //错误码
error_msg: //错误信息
}
}
var shareApi = api.require('shareSDKPlus');
shareApi.cancelAuthorize({
"platform": $sharesdk.PlatformID.SinaWeibo
},function(ret, err){
var state = ret.state;
switch(state)
{
case $sharesdk.ResponseState.Success://1
api.toast({
msg: "成功",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Fail://2
api.toast({
msg: "失败",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Cancel://3
api.toast({
msg: "授权",
location: 'middle'
});
break;
default:
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取用户信息
getUserInfo({params}, callback(ret, err))
platform:
ret:
{
state: 1 //数字类型,1:成功 2:失败 3:取消
data:{} //json对象 获取的用户信息
error:{ // state = 2时
error_code:, //错误码
error_msg: //错误信息
}
}
var shareApi = api.require('shareSDKPlus');
shareApi.getUserInfo({
"platform": $sharesdk.PlatformID.SinaWeibo
},function(ret, err){
var state = ret.state;
switch(state)
{
case $sharesdk.ResponseState.Success://1
api.toast({
msg: "成功",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Fail://2
api.toast({
msg: "失败",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Cancel://3
api.toast({
msg: "取消",
location: 'middle'
});
break;
default:
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
分享
shareContent({params}, callback(ret, err))
platform:
shareParams:
ret:
{
state: 1 //数字类型,1:成功 2:失败 3:取消
data:{} //
error:{ // state = 2时
error_code:, //错误码
error_msg: //错误信息
}
}
var shareApi = api.require('shareSDKPlus');
var shareParams =
{
"text" : "测试的文字",
"imageUrl" : "http://download.sdk.mob.com/206/4f8/dfc9ea27dd8bc4abfec865c38d/800_450_156.2.jpg",
"title" : "测试的标题",
"titleUrl" : "http://www.mob.com",
"description" : "测试的描述",
"site" : "ShareSDK",
"siteUrl" : "http://www.mob.com",
"type" : $sharesdk.ContentType.Auto//ios端
};
shareApi.shareContent({
"platform": $sharesdk.PlatformID.SinaWeibo,
"shareType": $sharesdk.ContentType.Image,//安卓端
"shareParams": shareParams
},function(ret, err){
var state = ret.state;
switch(state)
{
case $sharesdk.ResponseState.Success://1
api.toast({
msg: "分享成功",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Fail://2
api.toast({
msg: "分享失败",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Cancel://3
api.toast({
msg: "取消分享",
location: 'middle'
});
break;
default:
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
一键分享/菜单分享 oneKeyShareContent({params}, callback(ret, err))
platforms:
shareParams:
ret:
{
state: 1 //数字类型,1:成功 2:失败 3:取消
data:{} //
error:{ // state = 2时
error_code:, //错误码
error_msg: //错误信息
}
}
var shareApi = api.require('shareSDKPlus');
var shareParams =
{
"text" : "测试的文字",
"imageUrl" : "http://download.sdk.mob.com/206/4f8/dfc9ea27dd8bc4abfec865c38d/800_450_156.2.jpg",
"title" : "测试的标题",
"titleUrl" : "http://www.mob.com",
"description" : "测试的描述",
"site" : "ShareSDK",
"siteUrl" : "http://www.mob.com",
"type" : $sharesdk.ContentType.Auto
};
var platforms =
[
$sharesdk.PlatformID.SinaWeibo,
$sharesdk.PlatformID.WeChat
];
shareApi.oneKeyShareContent({
"platforms": platforms, //为null时,显示全部可分享的平台(排除当前环境不可分享平台)
"shareParams": shareParams
},function(ret, err){
var state = ret.state;
switch(state)
{
case $sharesdk.ResponseState.Success://1
api.toast({
msg: "分享成功",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Fail://2
api.toast({
msg: "分享失败",
location: 'middle'
});
break;
case $sharesdk.ResponseState.Cancel://3
api.toast({
msg: "取消分享",
location: 'middle'
});
break;
default:
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
当前shareSDKPlus只支持微信、QQ、新浪微博、钉钉、支付宝、facebook、twitter、Instagram、line、WhatsApp等十个平台,如果想要支持其他平台应如何操作
###android方案 点击此处
###YonBuilder移动开发例子demo 点击此处