帮助与文档

> >

自定义UI界面分享,我们提供了两种方式:

一、放弃用ShareSDK的默认的九宫格界面

 

功能介绍:可以自己设计UI,不显示我们的分享菜单和编辑框,可以分两种事先方法:

分享形式a》可以调用快捷分享代码实现

设定自定义UI调用onekeyshare代码可参考帖子–不同平台分享不同内容,本帖子里有demo代码可下载下来参考

在设置的按钮下调用分享的代码:

 

分享形式b》指定单独平台的分享(无九宫格界面)

下面分别使用新浪微博和QQ空间作为例子,举例如何利用此方法实现分享功能。可以参考帖子:ShareSDK自定义界面+仿搜狐视频弹窗分享详解

1)新浪微博

2)QQ空间


具体各个平台具体所需参数可以参考不同平台的详细参数说明

ShareSDK的每一个平台都有自己的ShareParams,由于平台差异,不同平台之间的ShareParams字段数量不一样,但是同样名称的字段都表示相同的含义,下面是当前ShareSDK所有平台ShareParams的字段的名称和代表的含义:

字段名称 描述
 text  待分享的文本
 imagePath  待分享的本地图片。如果目标平台使用客户端分享,此路径不可以在/data/data下面
 filePath  待分享的文件路径。这个用在Dropbox和Wechat中
 title  分享内容的标题
 notebook  存放笔记的笔记本,如果不存在,会创建。一般用在印象笔记等“笔记类”平台中
 stack  印象笔记中的字段,用于归类笔记本
 resource  印象笔记中的字段,数组,暂时支持String类型和File类型的元素。如果想一次发送多个文本和图片,需要使用这个字段
 tags  标签,数组,部分平台支持为分享内容设置标签,可以使用这个字段
 isPublic  印象笔记和flickr的字段,表示是否公开
 isFriend  flickr和VK的字段,表示是否公开给自己的朋友
 isFamily  flickr的字段,表示是否公开给自己的家人
 safetyLevel  flickr的字段,表示安全级别:1为安全级、2为辅导级、3为限制级
 contentType  flickr的字段,表示相册类型:1为相片、2为屏幕截图、3为其他
 hidden  flickr的字段,表示是否隐藏图片
 venueName  foursquare的字段,表示分享位置的名称
 venueDescription  foursquare的字段,表示分享位置的描述
 latitude  分享位置的维度
 longitude  分享位置的经度
 imageUrl  待分享的网络图片
 comment  对分享内容的评价。区别于text,评论一般共应用的用户自己填写,部分平台支持此字段
 titleUrl  分享内容标题的链接地址
 url  分享内容的url、在微信和易信中也使用为视频文件地址
 address  邮箱地址或者短信电话号码,一般在邮箱或者短信中使用
 site  QQ空间的字段,标记分享应用的名称
 siteUrl  QQ空间的字段,标记分享应用的网页地址
 gropuId  VK的字段,表示图片所属的组ID。如果不设置此字段,ShareSDK会将组ID设置为ShareSDK所在的组
 extInfo  Wecaht的字段,分享应用时,可以选择分享二进制文件或者脚本,此字段用来设置分享应用中的脚本
 shareType  微信和易信的字段,分享内容的类型:
分别为Platform.SHARE_TEXT(分享文本),
Platform.SHARE_IMAGE(分享图片),
Platform.SHARE_WEBPAGE(分享网页,既图文分享),
Platform.SHARE_MUSIC(分享音频),
Platform.SHARE_VIDEO(分享视频),
Platform.SHARE_APPS(分享应用,仅微信支持),
Platform.SHARE_FILE(分享文件,仅微信支持)
Platform.SHARE_EMOJI(分享表情,仅微信支持)
 musicUrl  微信和易信的字段,分享音频时的音频文件网络地址
 imageData  微信和易信的字段,各类分享内容中的图片bitmap对象,可以替代imagePatd或者imageUrl
 autdor  有道云笔记的字段,表示分享内容的作者
 customFlag  自定义分享标签

上述字段中和本地路径有关的,全部使用“Path”结尾,如imagePath;和网络路劲有关的,使用“Url”结尾,如imageUrl。本地图片最好使用后缀名,否则POST文件时,可能无法正确计算文件的MIME值,从而导致发送失败。

3)人人网和QQ空间已经支持分享本地图片功能,可以通过imagePath字段为其设置本地图片。不过这些平台都需要特定的权限才能分享本地图片,因此请确保您的应用已经申请了足够的权限。请注意:对于人人网和QQ空间来说,imageUrl存在的时候,原来的imagePath将被忽略,但是新浪微博刚好相反,故须要特别注意。

注意:如果是传统jar包集成方式参考下这里,非maven集成方式

针对主流平台说明可以参考下面具体说明(非maven的集成方式)

– [新浪微博分享说明]
– [QQ分享说明]
– [微信分享说明]
– [Facebook分享说明]

二、简单修改ShareSDK的九宫格界面

1、修改九宫格界面图标的顺序

功能介绍:可任意调整分享菜单中的社交平台的排序功能介绍:将编辑框的标题栏颜色与您的APP统一风格

只需要手动更新数组的顺序即可,SortId属性控制平台图标的排列顺序,从“1”开始,越大越后面,九宫格按照左到右,上到下顺序排列,

 

2、隐藏分享图文编辑页面

功能介绍:进去编辑框自动分享,不显示分享菜单

在一键分享方法中添加代码并且修改下代码:

oks.setSilent(true);   隐藏编辑页面

oks.setSilent(false); 显示编辑页面

3、自定义分享菜单项

功能介绍:在分享菜单中加入自定义的按钮

快捷分享的九宫格列表提供添加自定义图标的功能,方法如下:


这样的代码可以多次使用,以添加任意数量的自定义图标。快捷分享默认会将自定义图标放在九宫格的最后位置,如果您需要放在它在其他地方,可以到PlatformGridView.PlatformAdapter中修改代码

注意:更多修改UI的说明参考这里

传统jar包集成SDK集成单独分享简单说明

单独分享(ShareSDKjar包集成老文档说明)

 

 

相关文档