JS-SDKupdateAppMessageShareData安卓不能⾃定义分
享详解
最近开发⼀个项⽬时,有H5⽹页⾃定义分享功能,使⽤了JS-SDK的分享到好友和分享到朋友圈功能。
开发⽂档这样写的
⾃定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)
wx.updateAppMessageShareData({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页⾯对应的JS安全域名⼀致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
});
⾃定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)
wx.updateTimelineShareData({
title: '', // 分享标题
link: '', // 分享链接,该链接域名或路径必须与当前页⾯对应的JS安全域名⼀致
imgUrl: '', // 分享图标
success: function () {
/
/ 设置成功
}
});
看起来很简单,直接加⼊到H5⽹页⾥⾯了
debug: true, // 开启调试模式,调⽤的所有api的返回值会在客户端alert出来,若要查看传⼊的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: '', // 必填,的唯⼀标识
timestamp: , // 必填,⽣成签名的时间戳
nonceStr: '', // 必填,⽣成签名的随机串
signature: '',// 必填,签名
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData'
安卓软件签名工具] // 必填,需要使⽤的JS接⼝列表
});
其他参数参考根据⾃⼰情况填写,并设置debug: true
测试环境:
Web开发者⼯具,测试接⼝,ok
苹果X,查看debug的弹出信息,⼀切ok;
分享测试,⼀切ok
⼤⼯搞成。咦,等下,好像漏了什么。。。。。。安卓呢?
结果果然漏了,安卓测试分享朋友圈和发送给好友,⾃定义分享功能都⽆效,仅仅分享为⼀个链接⽽已。
这个问题苹果⼿机好的,安卓不⾏,并且web开发者⼯具测试接⼝都是好的,那问题应该不是接⼝调⽤(后台数据都是⼀样的),应该是和客户端有关,但⼜不到相关资料。
百思不得其,困惑了好久,各种度娘也没有到正确答案。某天突发奇想,新的接⼝不⾏,那旧的接⼝呢?
于是乎测试开始:
加⼊两个旧分享接⼝onMenuShareAppMessage和onMenuShareTimeline,然后写了个测试⽅法
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage', //旧的接⼝,即将废弃
'onMenuShareTimeline' //旧的接⼝,即将废弃
]// 必填,需要使⽤的JS接⼝列表
获取“分享给朋友”按钮点击状态及⾃定义分享内容接⼝(即将废弃)
title: 'test', // 分享标题
desc: 'test_desc', // 分享描述
link: 'www.jianshu', // 分享链接,该链接域名或路径必须与当前页⾯对应的JS安全域名⼀致
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// ⽤户点击了分享后执⾏的回调函数
}
});
然后随便写了个测试发现居然成!功!了! 不过⾃定义分享内容还是新接⼝updateAppMessageShareData定义的。删除旧接⼝定义再测试,发现仅仅在jsApiList加⼊旧接⼝声明也是可以的!
问题解决,这个真的是JS-SDK的⼀个坑。这篇⽂章希望能帮助到遇到相似问题的同学。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论