微信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 相关文章推荐
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
使用Math.floor与Math.random取随机整数的方法详解
May 07 Javascript
js读取配置文件自写
Feb 11 Javascript
js获取ajax返回值代码
Apr 30 Javascript
jQuery DateTimePicker 日期和时间插件示例
Jan 22 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 Javascript
从零开始搭建vue移动端项目到上线的步骤
Oct 15 Javascript
React+Antd+Redux实现待办事件的方法
Mar 14 Javascript
vue项目前端错误收集之sentry教程详解
May 27 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
Nov 01 Javascript
功能完善的小程序日历组件的实现
Mar 31 Javascript
Javascript设计模式之原型模式详细
Oct 05 Javascript
详解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
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
PDO::commit讲解
2019/01/27 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
Python 含参构造函数实例详解
2017/05/25 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
代码分析Python地图坐标转换
2018/02/08 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
给我一面国旗 python帮你实现
2019/09/30 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
python科学计算之narray对象用法
2019/11/25 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
外贸业务员求职信范文
2013/12/12 职场文书
信息专业学生学习的自我评价
2014/02/17 职场文书
过程装备与控制工程专业求职信
2014/07/02 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
英文投诉信格式
2015/07/03 职场文书
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS