虽然ShareSDK尽可能屏蔽了不同社交平台间接口api差异,但是分享接口需要传递的差异依然会因平台而异,本文将以列表的形式展示不同平台的分享参数(ShareParams)的字段要求,以方便开发者使用时翻阅。 注意没有标明可选的就是必填参数,不能为null或者空字符串,另一种情况是例如有imageUrl(”网络图片链接”)、imagePath(“/sdcard/abc.jpg”)、imageData(bitmap)是三选一。
国内平台
新浪微博
新浪微博支持分享文字、本地图片、网络图片
参数说明 text:140字符以内
image:web分享ShareSDK不做限制直接提交给微博处理,微博客户端分享图片不能大于2M,仅支持JPEG、GIF、PNG格式; 注:微博分享链接是将链接写到setText内:eg:setText(“分享文本 http://mob.com”);
ImageArray String类型图片数组,可传手机本地图片路径和图片链接,分享多图的时候需要将Url参数注释掉,否则会默认分享链接;
分享文本 text
注意:以下分享类型必须有新浪微博客户端才可以分享,如果imagePath和imageUrl同时存在,imageUrl将被忽略;
分享微博linkcard样式,效果如图下图所示,具体实现步骤可以点击查看这里;
腾讯微博
腾讯微博支持分享文字、本地图片、网络图片和经纬度信息 参数说明 text:最多140个字字符 image:图片最大4M
2.5.0以后的版本新增分享多张图片的功能ImageArray。 由于腾讯微博分享网络图片并不属于高级接口,因此imageUrl优先级高于imagePath,这就是说,如果imagePath和imageUrl同时存在,imagePath将被忽略。
QQ空间
提示:必须需要QQ客户端才可以分享
QQ空间支持分享文字和图文 参数说明 title:最多200个字符 text:最多600个字符
微信(好友、朋友圈、收藏)
提示:
1.必须需要客户端才可以分享;
2.微信客户端版本从6.7.2以上开始,取消分享提示分享成功;即取消分享和分享成功都返回成功事件;
3.Android11及之后的版本,微信分享图片不支持用imageData(bitmap)接口设置参数;
绕过审核只对微信好友、微信朋友圈有效 微信分享如果是绕过审核(配置信息BypassApproval属性设置为true为绕过审核),微信朋友圈可以分享单张图片或者图片与文字一起分享,微信好友可以进行文字或者单张图片进行分享,分享回调不会正确回调。 不绕过审核,微信三个平台中,好友的功能最完整,朋友圈不能分享应用,收藏不能分享应用,表格下以好友为例子: 参数说明 title:512Bytes以内 text:10KB以内 imageData:10M以内 imagePath:10M以内(传递的imagePath路径不能超过10KB) imageUrl:10KB以内 musicUrl:10KB以内 url:10KB以内(MobSDK没有对参数另做限制,参数限制详细情况可以参考微信官方的限制详情点击这里查看)
注意:微信分享分绕过审核和不绕过审核,不绕过审核必须保证微信后台配置的签名与您的app的签名一致,否则无法分享;
微信并无实际的分享网络图片和分享bitmap的功能,如果设置了网络图片,此图片会先下载会本地,之后再当作本地图片分享,因此延迟较大。bitmap则好一些,但是由于bitmap并不知道图片的格式,因此都会被当作png编码,再提交微信客户端。
注意:分享小程序说明,详细分享流程点击这里查看:
目前只支持分享微信好友,分享小程序必须配置小程序的原始ID和分享小程序页面的路径;配置方法有两种;
第一种:在方法中配置,如上表所示加上setWxUserName和setWxPath;
第二种:在ShareSDK.xml文件中配置上特殊参数,如下所示:userName是小程序的原始ID,path是小程序内的页面路径;而且必须保证微信开放平台与微信公众/小程序绑定才可以分享; 提示:微信客户端版本从6.7.2以上开始,取消分享提示分享成功;即取消分享和分享成功都返回成功事件; QQ分享支持图文和音乐分享 参数说明 title:最多30个字符 text:最多40个字符 QQ分享图文和音乐,在PC版本的QQ上可能只看到一条连接,因为PC版本的QQ只会对其白名单的连接作截图,如果不在此名单中,则只是显示连接而已. 如果只分享图片在PC端看不到图片的,只会显示null,在手机端会显示图片和null字段。 人人网支持分享文字和图文 参数说明 title:最多30个字符 text:最多200个字符 comment:最多500个字符 image:支持bmp,png,gif,jpg格式 开心网可以分享文字和图片,其中图片可以支持网络图片和本地图片 参数说明 text:最多140个字符或者280个英文字母字符 image:最大10M,支持jpg/jpeg/gif/png/bmp格式 (注:近期豆瓣api正在维护,ApiKey暂时不对个人开放申请,如有企业合作相关要求,请发邮件到[email protected],将有负责同事尽快与您联系) 有道云笔记事实上不是分享,而是创建一个笔记,当前可以发图片和图文笔记: 提示:必须需要客户端才可以分享 易信的接口与微信的类似,但是易信暂时不支持分享文件和表情 参数说明 title:不能超过512个字 text:不能超过10240个字 imageData:不能超过10485760个字节 imagePath:不能超过10485760个字节 imageUrl:URL长度不能超过10240个字节 明道支持分享文本或图文 参数说明 text:最多为2080个字符 注:明道限制分享网络图片的话必须要用https的图片链接,并且明道分享出去之后不给显示图片; 提示:美拍是调用系统客户端分享的,必须需要客户端才可以分享,没有准确的回调,点击调用客户端即默认提示分享成功 注意:目前分享图片只支持本地图片分享,建议直接保存到手机相册路径下分享,否则抖音可能无法找到图片;分享内容带水印可能会受到限制或被删除,请勿携带水印。 要求: 视频: 1、时长必须符合要求,最大不能超过1小时,最小值抖音动态配置; 1、宽高大于360 提示:必须需要客户端才可以分享,只支持分享网络视频 ShareSDK的3.8.2 版本适配快手原生SDK具体可以点击这里查看 Facebook 注: 1.Facebook分享链接,所展示的图片、文字自动从分享的url中自动获取; 2.加载Facebook原生SDK的方法具体可以点击这里查看; 3.web引文分享(在web上方可以展示文字显示)-->Quote; 4.话题分享(在移动端点击分享出去的话题可进行评论等)-->Hashtag Twitter支持文字和图文分享 提示:印象笔记最新版本,分享成功后不直接回调,需要按返回键才可以,并且返回取消操作分享也成功的,也提示成功的回调。 印象笔记可以支持文字和图文的分享,也支持利用客户端分享,只要在ShareSDL.xml中配置就行 Linked-in支持分享文字或图文 分享参数说明 title:最多200个byte text:最多256个byte comment:最多700个byte FourSquare可以分享图文,但是分享时需要携带位置信息 提示:Pinterest必须用客户端才可分享,直接调用系统客户端分享,所以无法获取准确回调,点击调用Pinterest就默认提示成功。 Tumblr支持文字和图文分享,ShareSDK 3.9.2新增链接、音乐、视频分享 理论上dropbox可以分享任何东西,只是当前的接口不提供直接分享文字的功能,图片分享则会被放到dropbox指定的图片目录下。dropbox一般用来分享文件,而不是图文分享 提示:Instagram必须用客户端才可分享,直接调用系统客户端分享,所以无法获取准确回调,点击调用Instagram就默认提示成功。 提示:Line必须用客户端才可分享,直接调用系统客户端分享,所以无法获取准确回调,点击调用Line就默认提示成功。 提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。 提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。ShareSDK的3.7.5 版本适配Kakao原生SDK具体可以点击这里查看 提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。 提示:无法返回准确回调,取消分享也会提示成功回调。 提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。 提示:邮件调用的系统默认的邮件客户端,没有准确回调,点击默认提示成功; 邮件分享调用手机上的邮件客户端,如果没有客户端,将不能分享邮件 提示:信息调用的系统默认的邮件客户端,没有准确回调,点击默认提示成功;Id="4"
SortId="4"
AppId="wx4868b35061f87885"
AppSecret="64020361b8ec4c99936c0e3999a9f249"
userName="gh_afb25ac019c9"
path="/page/API"
BypassApproval="false"
Enable="true" />
QQ分享
(3.1.0版本之后,包含3.1.0)QQ绕过审核形式支持分享多图(BypassApproval="true"),ImageArray String类型图片数组,可传手机本地图片路径和图片链接
绕过审核分享多图 text(可不传) imageArray人人网
与QQ空间一样,人人网不直接分享本地图片,如遇本地图片,会先将其发送到ShareSDK的文件服务器以后取得网络地址,再行分享开心网
豆瓣
豆瓣支持分享文字和图文 参数说明 image:支持JPEG,GIF,PNG格式,最大3M有道云笔记
易信(好友和朋友圈)
明道
明道本身只支持分享网络图片,如果打算分享imagePath,需要先将文件上传到ShareSDK的文件服务器,之后再将得到的地址当作网络图片分享。由于imagePath更耗流量,因此imageUrl优先级更高支付宝
钉钉
美拍
抖音
2、必须是mp4文件,并且支持解析;
3、画面比例,最大边/最小边 要小于4
4、画幅尺寸最大边要小于1100px
5、多段视频拼接数不超过12个
图片:
2、宽高比符合要求(需1/2.2<=宽高比<=2.2)
3、多图不超过12张
ShareSDK 3.10.0及之后版本支持分享内容至好友列表,分享参数为:企业微信
西瓜视频
快手
小红书
绿洲
国外平台
分享参数说明 image:至少200x200像素
注意:分享多图内是传一个string数组,内部必须传sdcard目录下的本地图片,而已图片不能相同
Facebook提供了一种分享链接,卡片式的效果, 具体可以点击这里查看Twitter
Twitter提供了一种分享链接,卡片式的效果, 具体可以点击这里查看 Twitter平台比较特殊分享之前必须授权,授权时,Twitter平台会有一个界面提示用户会用到哪些权限,而Twitter 的App权限分级过于粗糙,分享动作必需的读写权限会申请过多权限,关于这个情况,我们在3.8.2版本进行了适配,具体可以点击这里查看印象笔记
Linked-in
Linked-in本身并不支持分享本地图片,因此本地图片会先上传到ShareSDK文件服务器以后,再将返回图片链接进行分享。由于上传图片更耗流量,因此imageUrl的优先级高于imagePath。FourSquare
Pinterest
Flickr
Tumblr
Dropbox
VK
Instagram
Line
KakaoStory
KakaoTalk
WhatsApp
Instapaper
FacebookMessenger
3.9.1及以上版本增加系统分享功能,设置bypassApproval=true,既可以使用,系统分享支持的分享内容如下: Youtube
Telegram
Reddit
TikTok
系统平台
邮件
信息