官方文档 :开发者中心
U-Share为开发者提供了不同种类的分享样式,分享目前支持的类型有:
分享样式支持
U-Share为开发者提供了不同种类的分享样式,分享目前支持的类型有:
-
网页链接(网页H5链接)
-
小程序(包括微信小程序和QQ小程序两种)
-
图片
-
纯文本
-
多图(多图要包含文字描述)
-
视频
-
音乐
-
表情(GIF图片,即Emotion类型,只有微信支持)
-
图片视频混合(仅抖音)
以下是不同分享样式的具体实现代码:
分享网页链接
分享网页链接可以使用UMWeb进行分享:
javascript
UMWeb web =newUMWeb(Defaultcontent.url);
web.setTitle("This is music title");//标题
web.setThumb(thumb);//缩略图
web.setDescription("my description");//描述
然后调用将这个参数设置到ShareAction中:
newShareAction(ShareActivity.this)
.withMedia(web)
.share();
重要
集成U-Share能够实现从App分享H5页面到微信/QQ等平台,如想实现从微信等回流到App,统计分享带来了多少的新老用户以及自动绑定邀请关系,请集成U-Link产品,可在U-Share产品后台查看分享回流次数、分享新增用户等指标。
分享小程序
小程序类型支持分享微信小程序和QQ小程序,其中微信小程序只支持分享到微信好友。朋友圈,微信收藏暂不支持,以下是微信小程序分享代码:
UMMin umMin =newUMMin(Defaultcontent.url);
//兼容低版本的网页链接
umMin.setThumb(imagelocal);
// 小程序消息封面图片
umMin.setTitle(Defaultcontent.title);
// 小程序消息title
umMin.setDescription(Defaultcontent.text);
// 小程序消息描述
umMin.setPath("pages/page10007/xxxxxx");
//小程序页面路径
umMin.setUserName("gh_xxxxxxxxxxxx");
// 小程序原始id,在微信平台查询
newShareAction(ShareDetailActivity.this)
.withMedia(umMin)
.setPlatform(share_media)
.setCallback(shareListener).share();
以下是QQ小程序分享代码:
// QQ小程序分享样例代码,位于官方Demo工程 ShareDetailActivity.java中
publicvoid shareQQMiniApp(){
UMQQMini qqMini =newUMQQMini(Defaultcontent.url);
qqMini.setThumb(newUMImage(this,Defaultcontent.imageurl));// 缩略图支持网络图片和本地图片
qqMini.setTitle(Defaultcontent.title);
qqMini.setDescription(Defaultcontent.text);
qqMini.setMiniAppId("1110429485");
qqMini.setPath("pages/index/index");
newShareAction(ShareDetailActivity.this)
.withMedia(qqMini)
.setPlatform(share_media)
.setCallback(shareListener).share();
}
分享图片
在使用ShareAction的时候,调用withMedia可以设置一个UMImage(图片分享),UMImage的构建有如下几种形式
UMImage image =newUMImage(ShareActivity.this,"imageurl");//网络图片
UMImage image =newUMImage(ShareActivity.this, file);//本地文件
UMImage image =newUMImage(ShareActivity.this, R.drawable.xxx);//资源文件
UMImage image =newUMImage(ShareActivity.this, bitmap);//bitmap文件
UMImage image =newUMImage(ShareActivity.this,byte[]);//字节流
推荐使用网络图片和资源文件的方式,平台兼容性更高。对于部分平台,分享的图片需要设置缩略图,缩略图的设置规则为:
UMImage thumb =newUMImage(this, R.drawable.thumb);
image.setThumb(thumb);
用户设置的图片大小最好不要超过250k,缩略图不要超过18k,如果超过太多(最好不要分享1M以上的图片,压缩效率会很低),图片会被压缩。用户可以设置压缩的方式:
image.compressStyle =UMImage.CompressStyle.SCALE;//大小压缩,默认为大小压缩,适合普通很大的图
image.compressStyle =UMImage.CompressStyle.QUALITY;//质量压缩,适合长图的分享
压缩格式设置
image.compressFormat =Bitmap.CompressFormat.PNG;//用户分享透明背景的图片可以设置这种方式,但是qq好友,微信朋友圈,不支持透明背景图片,会变成黑色
创建好UMImage之后调用分享即可,如下所示:
newShareAction(ShareActivity.this).withText("hello").withMedia(image).share();
U-Share从v7.2.2 SDK后支持调用系统分享能力实现分享图片到微信功能,详情见下文
官方文档:开发者中心