虽然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将被忽略;
分享图文 | text | imagePath |
imageUrl | ||
imageData | ||
分享本地视频 | FilePath("/sdcard/video.MP4") | text("文本") |
腾讯微博
腾讯微博支持分享文字、本地图片、网络图片和经纬度信息 参数说明 text:最多140个字字符 image:图片最大4M
分享文本 | text | latitude(可选) | longitude(可选) | |
分享图文 | text | imagePath | latitude(可选) | longitude(可选) |
imageUrl ImageArray |
2.5.0以后的版本新增分享多张图片的功能ImageArray。 由于腾讯微博分享网络图片并不属于高级接口,因此imageUrl优先级高于imagePath,这就是说,如果imagePath和imageUrl同时存在,imagePath将被忽略。
QQ空间
提示:必须需要QQ客户端才可以分享
QQ空间支持分享文字和图文 参数说明 title:最多200个字符 text:最多600个字符
分享视频 | FilePth("/sdcard/视频.mp4") | ShareType(platform.SHARE_VIDEO) | |||
分享文本 | text | ShareType(platform.SHARE_TEXT) | |||
分享网页 | text | imagePath | title | titleUrl | ShareType(platform.SHARE_WEBPAGE) |
imageUrl | |||||
分享图片 | imagePath | ShareType(platform.SHARE_IMAGE) | |||
imageUrl |
微信(好友、朋友圈、收藏)
提示:
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的签名一致,否则无法分享;
分享文本 | shareType(Platform.SHARE_TEXT) | text | |||||
分享图片 | shareType(Platform.SHARE_IMAGE) | text(设置了不会显示,可选参数) | imagePath | ||||
imageUrl | |||||||
imageData | |||||||
分享音乐 | shareType(Platform.SHARE_MUSIC) | title | text(朋友圈不显示此字段) | imagePath | musicUrl | url(消息点击后打开的页面) | |
imageUrl | |||||||
imageData | |||||||
分享视频 | shareType(Platform.SHARE_VIDEO) | title | text(朋友圈不显示此字段) | imagePath | url(视频网页地址) | ||
imageUrl | |||||||
imageData | |||||||
分享网页 | shareType(Platform.SHARE_WEBPAGE) | title | text(朋友圈不显示此字段) | imagePath | url | ||
imageUrl | |||||||
imageData | |||||||
分享文件 | shareType(Platform.SHARE_FILE) | title | text(不显示此字段) | filePath | |||
分享小程序 | shareType(Platform.SHARE_WXMINIPROGRAM) | title | setWxUserName("小程序原始ID") | setWxPath("小程序页面路径") | url | text | imagePath |
imageUrl | |||||||
imageData |
微信并无实际的分享网络图片和分享bitmap的功能,如果设置了网络图片,此图片会先下载会本地,之后再当作本地图片分享,因此延迟较大。bitmap则好一些,但是由于bitmap并不知道图片的格式,因此都会被当作png编码,再提交微信客户端。
注意:分享小程序说明,详细分享流程点击这里查看:
目前只支持分享微信好友,分享小程序必须配置小程序的原始ID和分享小程序页面的路径;配置方法有两种;
第一种:在方法中配置,如上表所示加上setWxUserName和setWxPath;
第二种:在ShareSDK.xml文件中配置上特殊参数,如下所示:userName是小程序的原始ID,path是小程序内的页面路径;而且必须保证微信开放平台与微信公众/小程序绑定才可以分享;
<Wechat
Id="4"
SortId="4"
AppId="wx4868b35061f87885"
AppSecret="64020361b8ec4c99936c0e3999a9f249"
userName="gh_afb25ac019c9"
path="/page/API"
BypassApproval="false"
Enable="true" />
提示:微信客户端版本从6.7.2以上开始,取消分享提示分享成功;即取消分享和分享成功都返回成功事件;
QQ分享
QQ分享支持图文和音乐分享 参数说明 title:最多30个字符 text:最多40个字符 QQ分享图文和音乐,在PC版本的QQ上可能只看到一条连接,因为PC版本的QQ只会对其白名单的连接作截图,如果不在此名单中,则只是显示连接而已. 如果只分享图片在PC端看不到图片的,只会显示null,在手机端会显示图片和null字段。
分享图片 | ImageUrl | |||||||
imagePath | ||||||||
分享链接 | title | titleUrl | text | imagePath | ||||
imageUrl | ||||||||
分享音频 | title | titleUrl | text | imagePath | musicUrl | |||
imageUrl | ||||||||
分享QQ小程序 | shareType(Platform.QQ_MINI_PROGRAM) | text | title | titleUrl | imageUrl | setQQMiniProgramAppid("小程序appid") | setQQMiniProgramPath("小程序页面路径") | setQQMiniProgramType("")(小程序类型:develop/trial/release) |
打开QQ小程序 | shareType(Platform.OPEN_QQMINIPROGRAM) | text | title | titleUrl | imageUrl | setQQMiniProgramAppid("小程序appid") | setQQMiniProgramPath("小程序页面路径") | setQQMiniProgramType("")(小程序类型:develop/trial/release) |
(3.1.0版本之后,包含3.1.0)QQ绕过审核形式支持分享多图(BypassApproval="true"),ImageArray String类型图片数组,可传手机本地图片路径和图片链接
绕过审核分享多图 | text(可不传) | imageArray |
人人网
人人网支持分享文字和图文 参数说明 title:最多30个字符 text:最多200个字符 comment:最多500个字符 image:支持bmp,png,gif,jpg格式
分享文本 | text | |
分享链接 | text | url |
分享图文 | comment | imagePath |
imageUrl |
与QQ空间一样,人人网不直接分享本地图片,如遇本地图片,会先将其发送到ShareSDK的文件服务器以后取得网络地址,再行分享
开心网
开心网可以分享文字和图片,其中图片可以支持网络图片和本地图片 参数说明 text:最多140个字符或者280个英文字母字符 image:最大10M,支持jpg/jpeg/gif/png/bmp格式
分享文本 | text | |
分享图文 | text | imagePath |
imageUrl |
豆瓣
豆瓣支持分享文字和图文 参数说明 image:支持JPEG,GIF,PNG格式,最大3M
(注:近期豆瓣api正在维护,ApiKey暂时不对个人开放申请,如有企业合作相关要求,请发邮件到bd-team@douban.com,将有负责同事尽快与您联系)
分享文本 | text | |
分享图文 | text | imagePath |
imageUrl |
有道云笔记
有道云笔记事实上不是分享,而是创建一个笔记,当前可以发图片和图文笔记:
分享文本 | title | notebook(可选) | address(可选) | text | url(可选) | |
分享图文 | title | notebook(可选) | address(可选) | text | imagePath | url(可选) |
imageUrl |
易信(好友和朋友圈)
提示:必须需要客户端才可以分享
易信的接口与微信的类似,但是易信暂时不支持分享文件和表情 参数说明 title:不能超过512个字 text:不能超过10240个字 imageData:不能超过10485760个字节 imagePath:不能超过10485760个字节 imageUrl:URL长度不能超过10240个字节
分享文本 | shareType(SHARE_TEXT) | title | text | |||
分享图片 | shareType(SHARE_IMAGE) | title | text | imagePath | ||
imageUrl | ||||||
imageData | ||||||
分享音乐 | shareType(SHARE_MUSIC) | title | text | imagePath | musicUrl | url(消息点击后打开的页面) |
imageUrl | ||||||
imageData | ||||||
分享视频 | shareType(SHARE_VIDEO) | title | text | imagePath | url(视频网页地址) | |
imageUrl | ||||||
imageData | ||||||
分享网页 | shareType(SHARE_WEBPAGE) | title | text | imagePath | url | |
imageUrl | ||||||
imageData |
明道
明道支持分享文本或图文 参数说明 text:最多为2080个字符
注:明道限制分享网络图片的话必须要用https的图片链接,并且明道分享出去之后不给显示图片;
分享文本 | text | url | |
分享网页 | text | url | imagePath |
imageUrl |
明道本身只支持分享网络图片,如果打算分享imagePath,需要先将文件上传到ShareSDK的文件服务器,之后再将得到的地址当作网络图片分享。由于imagePath更耗流量,因此imageUrl优先级更高
支付宝
提示:生活圈只支持分享网页、必须需要客户端才可以分享
分享文本 | shareType(SHARE_TEXT) | title | text | ||
分享图片 | shareType(SHARE_IMAGE) | title | text | imagePath | |
imageUrl | |||||
imageData | |||||
分享网页 | shareType(SHARE_WEBPAGE) | title | text | imagePath | url(消息点击后打开的页面) |
imageUrl | |||||
imageData |
钉钉
提示:必须需要客户端才可以分享
分享文本 | shareType(SHARE_TEXT) | title | text | ||
分享图片 | shareType(SHARE_IMAGE) | title | text | imagePath | |
imageUrl | |||||
imageData | |||||
分享网页 | shareType(SHARE_WEBPAGE) | title | text | imagePath | url(消息点击后打开的页面) |
imageUrl | |||||
imageData |
美拍
提示:美拍是调用系统客户端分享的,必须需要客户端才可以分享,没有准确的回调,点击调用客户端即默认提示分享成功
分享视频 | FilePath(/sdcard/视频.mp4) |
分享图片 | FilePath(/sdcard/图片.jpg) |
抖音
注意:目前分享图片只支持本地图片分享,建议直接保存到手机相册路径下分享,否则抖音可能无法找到图片;分享内容带水印可能会受到限制或被删除,请勿携带水印。
要求:
视频:
- 1、时长必须符合要求,最大不能超过1小时,最小值抖音动态配置;
- 2、必须是mp4文件,并且支持解析;
- 3、画面比例,最大边/最小边 要小于4
- 4、画幅尺寸最大边要小于1100px
- 5、多段视频拼接数不超过12个
图片:
- 1、宽高大于360
- 2、宽高比符合要求(需1/2.2<=宽高比<=2.2)
- 3、多图不超过12张
分享多图 | shareType(SHARE_IMAGE) | imageArray(String[] AVATARS(多个或单个本地图片路径)) | title(选填) | hashtags(参数为数组格式,选填) | hashtag(title中加tag,选填) | tagPositio(插入标题的位置索引,参数为int类型,eg:1表示title第一个字符之后 插入,选填) | stack(贴纸,选填) | setActivity //适配9.0系统 |
分享视频 | shareType(SHARE_VIDEO) | VideoPathArray(String[] AVATARS(多个或单个本地视频路径)) | title(选填) | hashtags(参数为数组格式,选填) | hashtag(title中加tag,选填) | tagPositio(插入标题的位置索引,参数为int类型,eg:1表示title第一个字符之后 插入,选填) | stack(贴纸,选填) | setActivity //适配9.0系统 |
图片+视频混合分享(3.9.6及之后版本支持) | shareType(Platform.DY_MIXFILE) | ViDYMixFileArray(new String[]{本地图片绝对地址,本地视频绝对地址})(合成后顺序为传入顺序) | title(选填) | hashtag(参数为数组格式,选填) | hashtags(title中加tag,选填) | tagPositio(插入标题的位置索引,参数为int类型,eg:1表示title第一个字符之后 插入,选填) | stack(贴纸,选填) | setActivity //适配9.0系统 |
ShareSDK 3.10.0及之后版本支持分享内容至好友列表,分享参数为:
分享图片 | shareType(SHARE_DYIM_IMG) | imagePath(本地图片路径)) | setActivity //适配9.0系统 | ||
分享链接 | shareType(SHARE_DYIM_WEBPAGE) | imageUrl(网络图片地址,选填)) | title | url(网络链接,链接需要在抖音后台认证) | setActivity //适配9.0系统 |
企业微信
** 提示:必须需要客户端才可以分享 **
分享文本 | shareType(Platform.SHARE_TEXT) | text | |||
分享文件 | shareType(Platform.SHARE_FILE) | text | filepath | ||
分享图片 | shareType(Platform.SHARE_IMAGE) | text | imagePath | ||
分享视频 | shareType(Platform.SHARE_VIDEO) | text | filepath | ||
分享网页 | shareType(Platform.SHARE_WEBPAGE) | title | text | imagePath | url |
imageUrl |
西瓜视频
** 提示:必须需要客户端才可以分享,只支持分享网络视频 **
分享视频 | shareType(Platform.SHARE_VIDEO) | videoUri | setActivity //适配9.0系统 |
快手
** 提示:必须需要客户端才可以分享,只支持分享网络视频 **
** ShareSDK的3.8.2 版本适配快手原生SDK具体可以点击这里查看**
分享视频 | setShareType(Platform.SHARE_VIDEO) | setVideoUri | setActivity //适配9.0系统 |
分享图片 | setShareType(Platform.SHARE_IMAGE) | setImagePath | setActivity //适配9.0系统 |
小红书
** 提示:必须需要客户端才可以分享,只支持分享网络视频 **
分享视频 | setShareType(Platform.SHARE_VIDEO) | setVideoUri | setActivity //适配9.0系统 |
分享图片 | setShareType(Platform.SHARE_IMAGE) | setImagePath | setActivity //适配9.0系统 |
绿洲
** 提示:必须需要客户端才可以分享 **
分享图片 | title | comment | imageUriList(本地图片uri参数) |
imageUrlList(本地图片绝对路径分享) | |||
分享网页 | title | comment | videoUriOasis(本地视频uri参数) |
videoPathOasis(本地视频绝对路径分享) |
国外平台
分享参数说明 image:至少200x200像素
注: 1.Facebook分享链接,所展示的图片、文字自动从分享的url中自动获取;
2.加载Facebook原生SDK的方法具体可以点击这里查看;
3.web引文分享(在web上方可以展示文字显示)-->Quote;
4.话题分享(在移动端点击分享出去的话题可进行评论等)-->Hashtag
分享网页 | Url | Quote("测试web引文分享") |
分享图片 | Hashtag("测试话题分享") | imagePath |
imageUrl | ||
分享视频 | FilePth("/sdcard/视频.mp4") | |
分享多图 | ImagePath("/sdcard/图片.jpg") | setImageArray(AVATARS) |
注意:分享多图内是传一个string数组,内部必须传sdcard目录下的本地图片,而已图片不能相同
Facebook提供了一种分享链接,卡片式的效果, 具体可以点击这里查看
Twitter支持文字和图文分享
分享文本 | text | |
分享图文 | text | imagePath |
imageUrl | ||
ImageArray(分享多图) | ||
分享视频 | FilePth("/sdcard/视频.mp4") | ShareType(platform.SHARE_VIDEO) |
Twitter提供了一种分享链接,卡片式的效果, 具体可以点击这里查看 Twitter平台比较特殊分享之前必须授权,授权时,Twitter平台会有一个界面提示用户会用到哪些权限,而Twitter 的App权限分级过于粗糙,分享动作必需的读写权限会申请过多权限,关于这个情况,我们在3.8.2版本进行了适配,具体可以点击这里查看
印象笔记
提示:印象笔记最新版本,分享成功后不直接回调,需要按返回键才可以,并且返回取消操作分享也成功的,也提示成功的回调。
印象笔记可以支持文字和图文的分享,也支持利用客户端分享,只要在ShareSDL.xml中配置就行
分享文字 | title | notebook(可选) | stack(可选) | publish(可选,表示是否公开) | text | tags(可选) | |
分享图文 | title | notebook(可选) | stack(可选) | publish(可选,表示是否公开) | text | imagePath/imageUrl | tags(可选) |
分享视频 | text(可选) | FilePath | ShareType(Platform.SHARE_VIDEO) |
Linked-in
Linked-in支持分享文字或图文 分享参数说明 title:最多200个byte text:最多256个byte comment:最多700个byte
分享链接(仅支持web端分享) | title | LinkedinDescription("描述") | text | url("分享链接") |
分享文本 | text | ShareType(Platform.SHARE_TEXT) | ||
分享图片 (仅支持客户端分享) | imageUrl("网络图片地址") | ShareType(Platform.SHARE_IMAGE) |
Linked-in本身并不支持分享本地图片,因此本地图片会先上传到ShareSDK文件服务器以后,再将返回图片链接进行分享。由于上传图片更耗流量,因此imageUrl的优先级高于imagePath。
FourSquare
FourSquare可以分享图文,但是分享时需要携带位置信息
分享文字 | text | venueName | venueDescription | latitude | longitude | |
分享图文 | text | venueName | venueDescription | latitude | longitude | imagePath |
imageUrl |
提示:Pinterest必须用客户端才可分享,直接调用系统客户端分享,所以无法获取准确回调,点击调用Pinterest就默认提示成功。
分享图文 | text | url | imagePath |
imageUrl |
Flickr
Flickr一般用来分享图文
分享图文 | title | isPublic(可选,是否公开) | isFriend(可选,是否朋友可见) | isFamily(可选,是否家人可见) | safetyLevel(可选,安全级别) | contentType(可选,内容级别) | hidden(可选,可见级别) | text | imagePath/imageUrl | tags(可选) |
Tumblr
Tumblr支持文字和图文分享,ShareSDK 3.9.2新增链接、音乐、视频分享
分享文本 | ShareType(Platform.SHARE_TEXT) | text | title | ||||
分享图文 | ShareType(Platform.SHARE_IMAGE) | text | url | imagePath | |||
imageUrl | |||||||
分享连接 | ShareType(Platform.SHARE_WEBPAGE) | text(可选) | title(可选) | author(可选) | quote(可选) | imageUrl(可选) | url |
分享音乐 | ShareType(Platform.SHARE_MUSIC) | title(可选) | musicUrl(音乐地址url) | ||||
filepath(limit 10MB)) | |||||||
分享视频 | ShareType(Platform.SHARE_VIDEO) | title(可选) | url(视频地址url)) | ||||
filepath(limit 100MB)) |
Dropbox
理论上dropbox可以分享任何东西,只是当前的接口不提供直接分享文字的功能,图片分享则会被放到dropbox指定的图片目录下。dropbox一般用来分享文件,而不是图文分享
分享视频 | filePath(/sdcard/视频.mp4) | ShareType(Platform.SHARE_VIDEO) |
分享图片 | imagePath/imageUrl | |
分享文件 | filePath |
VK
VK支持分享文字和图文
分享文字链接 | gropuId(可选,指定分享的组) | url | friendsOnly(可选,是否仅朋友可见) | text | latitude(可选) | longitude(可选) | |
分享图文链接 | gropuId(可选,指定分享的组) | url | friendsOnly(可选,是否仅朋友可见) | text | imagePath | latitude(可选) | longitude(可选) |
imageUrl |
提示:Instagram必须用客户端才可分享,直接调用系统客户端分享,所以无法获取准确回调,点击调用Instagram就默认提示成功。
分享图片 | text(不显示) | ImagePath | |
imageUrl | |||
分享视频 | text(不显示) | FilePath(/sdcard/视屏文件) | ShareType(Platform.SHARE_VIDEO) |
Line
提示:Line必须用客户端才可分享,直接调用系统客户端分享,所以无法获取准确回调,点击调用Line就默认提示成功。
Line支持分享文本或图片,但两者不能同时分享 参数说明
分享文本 | text |
分享图片 | imagePath |
imageUrl |
KakaoStory
提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。
分享链接(网络图片) | imageUrl |
分享本地图片 | imagePath |
KakaoTalk
提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。ShareSDK的3.7.5 版本适配Kakao原生SDK具体可以点击这里查看
分享信息 | text(文本) |
分享图片 | imagePath |
imageUrl |
提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。
分享文本 | text | title(可选) |
分享图片 | imagePath | imageUrl |
分享视频 | filePath(视频本地sdcard地址) | |
打开聊天界面 | address(联系人电话号码) |
Instapaper
分享网页 | url | title(可选) | text(可选) |
FacebookMessenger
提示:无法返回准确回调,取消分享也会提示成功回调。
分享图片 | ShareType(Platform.SHARE_IMAGE) | ImageUrl |
imagePath |
** 3.9.1及以上版本增加系统分享功能,设置bypassApproval=true,既可以使用,系统分享支持的分享内容如下: **
分享文本 | ShareType(Platform.SHARE_TEXT) | text |
分享图片 | ShareType(Platform.SHARE_IMAGE) | imagePath |
imageUrl | ||
分享多图 | ShareType(Platform.SHARE_IMAGE) | imageArray |
分享视频 | ShareType(Platform.SHARE_VIDEO) | filePath |
Youtube
分享视频 | FilePath("/sdcard/视频.mp4") |
Telegram
提示:调用系统客户端分享,所以无法返回准确回调,取消分享也会提示成功回调。
分享文字 | text |
分享图片 | imagePath("/sdcard/abc.png") |
imageUrl("网路图片链接") |
分享文本 | ShareType(Platform.SHARE_TEXT) | text("需要分享的内容") | title | Subreddit("分享的版块") | ||
分享链接 | ShareType(Platform.SHARE_WEBPAGE) | text | title | url("分享的链接") | Subreddit("分享的版块") | |
分享图片 | ShareType(Platform.SHARE_IMAGE) | text | title | url("分享的链接") | Subreddit("分享的版块") | imageUrl("网路图片链接") |
TikTok
分享多图 | shareType(SHARE_IMAGE) | imageArray(String[] AVATARS(多个或单个本地图片路径)) | hashtags(参数为数组格式) | setActivity //适配9.0系统 |
分享视频 | shareType(SHARE_VIDEO) | VideoPathArray(String[] AVATARS(多个或单个本地视频路径)); | hashtags(参数为数组格式) | setActivity //适配9.0系统 |
系统平台
邮件
提示:邮件调用的系统默认的邮件客户端,没有准确回调,点击默认提示成功;
邮件分享调用手机上的邮件客户端,如果没有客户端,将不能分享邮件
分享文本 | address | title | text | |
分享图文 | address | title | text | imagePath |
imageUrl | ||||
分享视频 | FilePath("/sdcard/视频.mp4") | ShareType(Platform.SHARE_VIDEO) |
信息
提示:信息调用的系统默认的邮件客户端,没有准确回调,点击默认提示成功;
信息分短信和彩信,如果设置了标题或者图片,会直接当作彩信发送。发送信息的时候使用手机的信息软件
分享文本 | address | title | text | |
分享图文 | address | title | text | imagePath |
imageUrl | ||||
分享视频 | FilePath("/sdcard/视频.mp4") | ShareType(Platform.SHARE_VIDEO) |