- wx.getPrivacySetting相关的问题?
有几个问题: 1、wx.getPrivacySetting 官方写的基础库 2.32.3 开始支持 但是实际上一直返回的是false,改为3.0.0就正确了。 2、wx.getPrivacySetting需要做低版本兼容处理 我现在的做法是基础库直接最低版本3.0.0(也就是安卓8.0.39 ios8.0.38)这样就会导致很多微信不更新的用户 打开小程序就提示更新 体验不友好。 我的问题是 1、wx.getPrivacySetting 现在基础库3.0.0(也就是安卓8.0.39 ios8.0.38)是微信的最低版本 才能使用吗?如果微信用户的版本低于这两种是不是就用不了这个接口 2、有些手机的微信版本最新才8.0.38 没办法升级到8.0.39 [图片]
2023-08-25 - “小程序二维码”功能介绍与生成方式
产品简介:通过生成小程序二维码(又称太阳码或葵花码,后文简称小程序码),并将印有小程序码的物料铺设在线下场景,或通过线上分享等方式,引导用户扫码或长按识别二维码进入小程序,实现小程序引流;并可通过配置带参数的小程序码,监控各来源渠道的转化效果。 优势:低成本,易生成,易推广;用户习惯养成,扫码、识别码易用。 接入方式:普通小程序二维码无须开发,可在后台直接生成;带参数小程序码须开发。 关键词:小程序引流,数据跟踪与分析。 01 应用场景 在时尚零售行业,品牌可基于不同的业务场景,将小程序码印在商品、包装、宣传物料、门店展架等等,引导用户通过扫码快速进入小程序。 1)线下场景如: 将小程序码印在宣传物料上,引导用户扫码进入小程序; 将小程序码印到商品瓶身、包装、货架上,引导用户扫描进入小程序,享受扫码购服务; 将小程序码印在亚克力牌上,放置在店内如收银台等位置,引导用户扫描进入小程序,快速创建会员、填写服务问卷等。 2)线上场景如: 在小程序内提供个性化分享卡片的生成功能,用户可将卡片自主转发给好友,好友可长按识别卡片进入小程序,体验小程序内的商品购买、预约等服务。 02 生成方式 小程序码的生成有两种方式,分别为通过小程序后台生成链接统一的普通小程序码,以及通过开发生成带参数的小程序码。 1)普通小程序码: 我们推荐你通过小程序后台(mp.weixin.com)-设置-基本设置-小程序码及线下物料下载,完成小程序码的下载。 下载完成后,你可以将其打印并铺设到线下场景,或者直接附于海报中用于线上传播。 2)带参小程序码: 如须生成带参数的小程序码,为每个宣传物料配上独一无二的小程序码,智能跟踪来源于不同渠道的明细数据,可通过后台接口生成不限数量且永久有效的带参数小程序码。 开发指引内容较长,建议使用电脑详细查阅。点击打开文档 3)兼容普通二维码: 我们还提供了扫描普通二维码跳转小程序的能力。如线下已铺设有二维码,无须更换二维码,即可通过该能力在线下推广小程序。 开发指引内容较长,建议使用电脑详细查阅。点击打开文档 03 进阶应用-带参数码详细介绍 通过带参数二维码的灵活应用,可以监控各个渠道的用户来源、活动转化,调配资源提升营销运营效果,它的应用场景有: 1) 大数据营销: 在不同渠道投放不同参数的小程序码,可以精准记录客户来源,为营销决策提供依据。 2)线下助销: 通过给每个销售人员、每个店铺分配带有参数的小程序码进行佣金统计、计算销售奖励等。 3)一物一码: 让每个产品都拥有一个独一无二的小程序码,实现产品的差异化控制。
2020-01-14 - 微信内下载页面怎么弹出在浏览器打开的弹窗
[图片] 安卓-- 微信h5 这弹框‘即将离开微信,在浏览器打开’ 怎么实现的 文档中https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#22也没有说明,请官方或大佬告知一下
2023-07-11 - 小程序国外第三方工具埋点
你好 我想咨询下 小程序埋点的问题 目前我司期望使用一款国外的用户分析产品,希望知道如果我们在前端js框架的基础上加入这款国外的sdk以后,数据是能顺利发送到他们国外的服务器上?
2020-07-27 - 目前想在小程序所有页面进行埋点, 收集用户每个页面的停留时长?
请问有什么好的方案。
2020-01-03 - 小程序埋点?
小程序埋点只能在onHide,onShow中打印吗?在各个事件中如何做呢?
2020-10-12 - 自写小程序插件里面是否可以引入第三方埋点?
想在自己写的小程序插件里面引用第三方友盟埋点,小程序插件是否支持这种操作呢?
2023-05-05 - 埋点?数据统计?关闭浏览器前发送请求?看完这一篇搞定
点赞、收藏、评论,三连击,回家不迷路 故事是这样发生的,由于公司业务发展需要,产品需要对不同人访问做一个访问记录及访问时长,这个访问时长就很难了,从开始到结束这个过程,我们需要把时间上传服务器,如果正常埋点你会发现,还没发送完成就已经被中止了。<br> 于是我在百度上不停的查找方法,有时搜索手势不对,对收搜结果差别还是很大的,刚开始搜索我找到了一个叫[代码]onbeforeunload[代码]的事件,这是关闭浏览器前或者刷新浏览器会触发的事件,让我感觉希望的前线,具体如下: onbeforeunload 事件属性 [代码] windowwindow.onbeforeunload=function(e){ var e = window.event||e; e.returnValue=("确定离开当前页面吗?"); } [代码] 等你搬到你代码里面你会发现,确实可以阻拦浏览器关闭或者刷新,但是出现弹框后所以js都不会执行了,请求也会停留,这。。。不符合我的需求啊。onbeforeunload详情解析<hr> 无奈,我只能继续开始寻找,寻找一个适合需求的方法,几经查找几个小时,发现一个新的方法它叫[代码]navigator.sendBeacon[代码],刚开始我是一脸蒙逼的,内心不停的思索,这个玩意能满足我的需求?这么简单能发起请求?这东西怎么用,会不会很复杂?三连击连问。说实话能,解决三连问的问题 今日主角 navigator.sendBeacon(url, data) [代码]url[代码] [代码]url[代码] 参数表明 [代码]data[代码] 将要被发送到的网络地址。 [代码]data[代码] [代码]data[代码] 参数是将要发送的 [代码]ArrayBufferView[代码] 或 [代码]Blob[代码], [代码]DOMString[代码] 或者 [代码]FormData[代码] 类型的数据。 MDN文档更多详情解析 以下是几种格式传参方式: [代码]// 1. DOMString类型,该请求会自动设置请求头的 Content-Type 为 text/plain const reportData = (url, data) => { navigator.sendBeacon(url, data); }; // 2. 如果用 Blob 发送数据,这时需要我们手动设置 Blob 的 MIME type, // 一般设置为 application/x-www-form-urlencoded。 const reportData = (url, data) => { const blob = new Blob([JSON.stringify(data), { type: 'application/x-www-form-urlencoded', }]); navigator.sendBeacon(url, blob); }; // 3. 发送的是Formdata类型, // 此时该请求会自动设置请求头的 Content-Type 为 multipart/form-data。 var data = { name: '前端名狮子' , age: 20 }; const reportData = (url, data) => { const formData = new FormData(); Object.keys(data).forEach((key) => { let value = data[key]; if (typeof value !== 'string') { // formData只能append string 或 Blob value = JSON.stringify(value); } formData.append(key, value); }); navigator.sendBeacon(url, formData); }; [代码] [代码]// 监听网页关闭或刷新 window.addEventListener('unload', logData, false); function logData() { navigator.sendBeacon("/log", analyticsData); } [代码] 先讲解线上测试方法 判断是否发送成功线上测试地址 测试代码写法,如下: [代码]if ('sendBeacon' in navigator) { window.addEventListener('pagehide', function() { navigator.sendBeacon( 'https://putsreq.herokuapp.com/4GE2nVUuDoDGsNyKES2G', 'Sent by a beacon!2'); }, false); } [代码] 测试结果查看方法如下(可以结合图片): 可以查看[代码]Requests[代码]次数。 测试前,可以清空记录[代码]clear history[代码]。 查看发送请求头及内容[代码]Headers[代码]。 [图片] 可以利用浏览器自带保留请求接口或控制台输出的方法,刷新查看是否发送请求(这里需要注意几点) 1.接口查看需要先点击[代码]preserve log[代码],然后点击[代码]All[代码],在网络捉取才会出现,因为[代码]navigator.sendBeacon[代码]发送的请求类型不属于平时请求的[代码]XHR[代码]类型。 2.控制台查看需要先点击[代码]preserve log[代码],然后刷新就不会把之前输出的全部清空。 3.可以结合下面的图片进行操作,很方便。最后上传完可以叫后端查看数据是否提交成功了。 [图片] [图片] 浏览器兼容性 [图片] 本人掘金号 喜欢记得点个赞,谢谢
2021-08-04 - 在手机浏览器中,点击按钮可以拉起微信小程序内嵌的H5吗?
在手机浏览器中,点击按钮可以拉起微信小程序内嵌的H5吗?
2023-06-08