微信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 22 Javascript
增强的 JavaScript 的 trim 函数的代码
Aug 13 Javascript
2007/12/23更新创意无限,简单实用(javascript log)
Dec 24 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
May 20 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
Dec 14 Javascript
深入探讨JavaScript String对象
Mar 09 Javascript
jQuery实现鼠标选文字发新浪微博的方法
Apr 02 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
Sep 24 Javascript
JavaScript输入框字数实时统计更新
Jun 17 Javascript
微信小程序 空白页重定向解决办法
Jun 27 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
详解tween.js 中文使用指南
Jan 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
PHP详细彻底学习Smarty
2008/03/27 PHP
php preg_replace替换实例讲解
2013/11/04 PHP
php组合排序简单实现方法
2016/10/15 PHP
Laravel实现表单提交
2017/05/07 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
setAttribute 与 class冲突解决
2008/02/17 Javascript
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
Python实现Linux下守护进程的编写方法
2014/08/22 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
python中实现控制小数点位数的方法
2019/01/24 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
德国排名第一的主题公园门票网站:Attraction Tickets Direct
2019/09/09 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
材料加工硕士生求职信
2013/10/10 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
春节晚会主持词
2014/03/24 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
总结Python常用的魔法方法
2021/05/25 Python