唤起分享面板进行分享。
分享的默认内容为服务端根据一定的规则自动抓取的当前页面内容而生成。
可通过JSAPI入参传入onlySelectChannel的方式进行分享内容自定义,或通过meta标签进行自定义。
setToolbarMenu
接口进行自定义。目前已支持的分享渠道名分别为:
"ALPContact" : 支付宝好友
"ALPTimeLine" : 支付宝我的生活
"ALPCommunity" : 支付宝生活圈
"Weibo" : 新浪微博
"DingTalkSession" : 钉钉
"SMS" : 短信
"Weixin" : 微信
"WeixinTimeLine" : 微信朋友圈
"QQ" : QQ
"QQZone" : QQ空间
"OpenInSafari" : 在浏览器中打开 (不支持onlySelectChannel)
"Favorite" : 收藏 (不支持onlySelectChannel)
AlipayJSBridge.call("startShare",{
'bizType':'testShareBizType', // 业务标识,为空时将会显示默认的分享渠道列表。
'onlySelectChannel':["ALPContact","Weixin"] // 当用户选择该数组内指定的分享渠道时,仅返回渠道名,而不是真正开始分享
},function(data){
console.log(data)
});
<!--
//钱包9.0开始支持 -->
<meta name="Alipay:title" content="我是标题"/>
<!--
自定义图片
//钱包8.6开始支持-->
<meta name="Alipay:imgUrl" content="http://xxx/url/xxx.png"/>
<!--
自定义摘要
//钱包8.6开始支持-->
<meta name="Alipay:desc" content="我是摘要信息"/>
<!--
自定义链接
//钱包10.0.0开始支持-->
<meta name="Alipay:link" content="http://www.alipay.com"/>
<h1>请点击右上角。。。,然后分享到相关渠道</h1>
这种方法无法根据分享的渠道动态更换内容
<h1>请点击按钮进行测试不同渠道分享</h1>
<a href="javascript:void(0)" class="btn read">开始分享</a>
<script>
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
document.querySelector('.read').addEventListener('click', function() {
AlipayJSBridge.call("startShare", {
//当用户选择该数组内指定的分享渠道时,仅返回渠道名,而不是真正开始自动分享
'onlySelectChannel': ["Weibo", "ALPContact", "ALPTimeLine", "SMS", "Weixin", "WeixinTimeLine", "QQ", "QQZone","DingTalkSession", "OpenInSafari", "Favorite"]
}, function(data) {
console.log("当前用户点击的分享渠道名为:"+data.channelName);
//通过onlySelectChannel屏蔽掉自动分享功能后,自行调用shareToChannel接口进行单独分享
AlipayJSBridge.call("shareToChannel", {
name: data.channelName,
param: {
contentType: 'url', //选填,目前支持支持"auto",text","image","url"格式(android分享组件不支持auto)
title: '自定义分享的标题',
content: '自定义分享的内容',
iconUrl: 'https://zos.alipayobjects.com/rmsportal/CKajyImsyyUtTEkzEqcM.png',
imageUrl: 'https://zos.alipayobjects.com/rmsportal/CKajyImsyyUtTEkzEqcM.png',
captureScreen: false, //是否分享当前页面的截图
url: 'https://m.taobao.com',
otherParams: {
bizType: '申请的值',//吱口令独有参数
btn2: '去看看',//吱口令独有参数
btn2A: 'http://www.alipay.com'//吱口令独有参数
} //特定分享渠道的扩展参数
}
}, function(result) {
console.log(result)
});
});
});
});
</script>
AlipayJSBridge.call('startShare', {
bizType, onlySelectChannel
}, fn);
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 |
---|---|---|---|---|---|
bizType | string | 业务标识,为空时将会显示默认的分享渠道列表。 | N | 200000067 | |
onlySelectChannel | array | 当用户选择该数组内指定的分享渠道时,仅返回渠道名,而不是真正开始分享 | N | ||
fn | function | 选择渠道后的回调 | N |
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 |
---|---|---|---|---|---|
bizType | string | 吱口令业务名称,申请找@积羽 | Y | ||
shareTitle | string | 吱口令分享弹框标题 | N | ||
btn1 | string | 吱口令解析弹框左侧Button标题,通常为“取消” | N | ||
btn1A | string | 吱口令解析弹框左侧Button的跳转scheme | N | ||
btn2 | string | 吱口令解析弹框右侧Button的标题,通常为“确定”、“去看看”等 | Y | ||
btn2A | string | 吱口令解析弹框右侧Button的跳转scheme | Y | ||
preContent | string | 吱口令前接文案,如果传递,则不使用服务端返回的 | N | ||
endContent | string | 吱口令后接文案,如果传递,则不使用服务端返回的 | N |
关于bizType
1、需要单独申请:路由有特殊要求 或者 结果要回调业务添加签名 或者 分享量较大需要分开管理。
2、其他的都可以用通用bizType:COMMON_CONFIG。
回调函数带入的参数result: {channelName, shareResult}
名称 | 类型 | 描述 | 版本 |
---|---|---|---|
channelName | string | 用户选择的渠道名称 | 9.6 |
shareResult | bool | 分享的结果 | 9.6 |