微信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中的Split使用方法与技巧
Mar 09 Javascript
JS window.opener返回父页面的应用
Oct 24 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
Oct 24 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 Javascript
js中for in的用法示例解析
Dec 25 Javascript
Javascript判断文件是否存在(客户端/服务器端)
Sep 16 Javascript
javascript获取flash版本号的方法
Nov 20 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
May 18 Javascript
Vue写一个简单的倒计时按钮功能
Apr 20 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
May 19 Javascript
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
详解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
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
原创javascript小游戏实现代码
2010/08/19 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
js设置默认时间跨度过程详解
2019/07/17 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
python多线程方式执行多个bat代码
2016/06/07 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
python中单下划线_的常见用法总结
2018/07/10 Python
python编程使用协程并发的优缺点
2018/09/20 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
python爬虫中多线程的使用详解
2019/09/23 Python
Python如何使用函数做字典的值
2019/11/30 Python
python 决策树算法的实现
2020/10/09 Python
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
中软Java笔试题
2012/11/11 面试题
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
协议书样本
2014/04/23 职场文书
药剂专业自荐书
2014/06/20 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
撤诉书怎么写
2015/05/19 职场文书
法定代表人身份证明书
2015/06/18 职场文书
师范生见习自我总结
2015/06/23 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS