微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解


Posted in Javascript onMarch 29, 2019

最近开发一个项目时,有微信H5网页自定义分享功能,使用了微信JS-SDK的分享到好友和分享到朋友圈功能。

微信开发文档这样写的

自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)

wx.ready(function () {  //需在用户可能点击分享按钮前就先调用
wx.updateAppMessageShareData({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
});

自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)

wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
wx.updateTimelineShareData({
title: '', // 分享标题
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
});

看起来很简单,直接加入到H5网页里面了

wx.config({
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接口列表

获取“分享给朋友”按钮点击状态及自定义分享内容接口(即将废弃)

wx.onMenuShareAppMessage({
title: 'test', // 分享标题
desc: 'test_desc', // 分享描述
link: 'www.jianshu.com', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户点击了分享后执行的回调函数
}
});

然后随便写了个测试发现居然成!功!了! 不过自定义分享内容还是新接口updateAppMessageShareData定义的。

删除旧接口定义再测试,发现仅仅在jsApiList加入旧接口声明也是可以的!

问题解决,这个真的是JS-SDK的一个坑。这篇文章希望能帮助到遇到相似问题的同学。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery里选择超链接的实现代码
May 22 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
Jquery给基本控件的取值、赋值示例
May 23 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
May 17 Javascript
基于easyui checkbox 的一些操作处理方法
Jul 10 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
Jul 15 Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 Javascript
css配合JavaScript实现tab标签切换效果
Oct 11 Javascript
vue3修改link标签默认icon无效问题详解
Oct 09 Javascript
vue结合el-upload实现腾讯云视频上传功能
Jul 01 Javascript
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
详解vue配置后台接口方式
Mar 29 #Javascript
微信小程序学习笔记之获取位置信息操作图文详解
Mar 29 #Javascript
点击按钮弹出模态框的一系列操作代码实例
Mar 29 #Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 #Javascript
微信小程序生成分享海报方法(附带二维码生成)
Mar 29 #Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
Mar 29 #Javascript
微信小程序生成二维码的示例代码
Mar 29 #Javascript
You might like
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
页面乱码问题的根源及其分析
2013/08/09 PHP
Yii分页用法实例详解
2014/12/04 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
js中键盘事件实例简析
2015/01/10 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
python 多线程应用介绍
2012/12/19 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
Python sys模块常用方法解析
2020/02/20 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
财务会计专业毕业生自荐信
2013/10/19 职场文书
个性婚礼策划方案
2014/05/17 职场文书
公司捐书倡议书
2015/04/27 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
通知怎么写?
2019/04/17 职场文书
Pandas数据结构之Series的使用
2022/03/31 Python
Python 全局空间和局部空间
2022/04/06 Python
利用Python实时获取steam特惠游戏数据
2022/06/25 Python