小程序的功能不断的增加,但是旧版本的QQ客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容。

开发者可以通过以下方式进行低版本的兼容:

1. 版本号比较

QQ客户端和小程序基础库的版本号风格为 Major.Minor.Patch(主版本号.次版本号.修订版本号)。

文档中会在组件,API等页面描述中带上各个功能所要求的最低基础库版本号。

开发者可以在小程序中通过调用 qq.getSystemInfo或者 qq.getSystemInfoSync 获取到当前小程序运行的基础库的版本号。通过版本号比较的方式进行运行低版本兼容逻辑。

版本号比较适用于所有情况。部分场景下也可以使用后面提到的方法完成

注意:不要直接使用字符串比较的方法进行版本号比较。

版本号比较可以参考以下代码:

function compareVersion(v1, v2) {

v1 = v1.split('.')

v2 = v2.split('.')

const len = Math.max(v1.length, v2.length)

while (v1.length < len) {

v1.push('0')

}

while (v2.length < len) {

v2.push('0')

}

for (let i = 0; i < len; i++) {

const num1 = parseInt(v1[i])

const num2 = parseInt(v2[i])

if (num1 > num2) {

return 1

} else if (num1 < num2) {

return -1

}

}

return 0

}

compareVersion('1.11.0', '1.9.9') // 1

const version = qq.getSystemInfoSync().SDKVersion

if (compareVersion(version, '1.1.0') >= 0) {

qq.openBluetoothAdapter()

} else {

// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示

qq.showModal({

title: '提示',

content: '当前QQ版本过低,无法使用该功能,请升级到最新QQ版本后重试。'

})

}

2. API 存在判断

对于新增的 API,可以通过判断该API是否存在来判断是否支持用户使用的基础库版本。例如:

if (qq.openBluetoothAdapter) {

qq.openBluetoothAdapter()

} else {

// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示

qq.showModal({

title: '提示',

content: '当前QQ版本过低,无法使用该功能,请升级到最新QQ版本后重试。'

})

}

3. qq.canIUse

除了直接通过版本号判断,也可以通过 qq.canIUse 来判断是否可以在该基础库版本下直接使用。例如:

API 参数或返回值

对于 API 的参数或者返回值有新增的参数,可以判断用以下代码判断。

qq.showModal({

success(res) {

if (qq.canIUse('showModal.cancel')) {

console.log(res.cancel)

}

}

})

组件

对于组件,新增的组件或属性在旧版本上不会被处理,不过也不会报错。如果特殊场景需要对旧版本做一些降级处理,可以这样子做。

Page({

data: {

canIUse: qq.canIUse('cover-view')

}

})

play

canIUse 的数据文件随基础库进行更新,新版本中的新功能可能出现遗漏的情况,建议开发者在使用时提前测试。

设置最低基础库版本

需要 8.0.0 及以上版本QQ客户端支持

为便于开发者解决低版本基础库无法兼容小程序的新功能的问题,开发者可设置小程序最低基础库版本要求。

开发者可以登录QQ小程序管理后台,进入「设置 - 基本设置 - 基础库最低版本设置」进行配置。在配置前,开发者可查看近 30 天内访问当前小程序的用户所使用的基础库版本占比,以帮助开发者了解当前用户使用的情况。

设置后,若用户基础库版本低于设置值,则无法正常打开小程序,并提示用户更新客户端版本。

安卓qq去小程序版本号与服务器不符,QQ小程序 低版本兼容相关推荐

  1. 微信小程序获取小程序版本号与服务器不符,微信小程序版本号比较

    首先获取到当前版本号 : wx.getSystemInfo({ success (res) { console.log(res.model) //获取设备名:iPhone,Meizu...... co ...

  2. 安卓qq去小程序版本号与服务器不符,腾讯QQ竟然推出微信小程序版本 但是只能查看消息不能回复消息...

    腾讯QQ用户量不敌微信且逐年下降已经是不争的事实,越来越多的用户把微信当做日常通讯最主要的沟通工具. 腾讯QQ这边倒是也想着通过运营活动恢复昔日的辉煌,不过想要再次超过微信的话看起来也是不太可能的事儿 ...

  3. 微信第一个支持小程序版本号与服务器不符,微信功能又又又更新!第一个就让人不淡定…...

    原标题:微信功能又又又更新!第一个就让人不淡定- 微信又又又更新了 近日微信发布了7.0.5内测版本 朋友圈可以发30秒小视频了 本次7.0.5版本最大的亮点,就是朋友圈也可以发30秒小视频!发送方法 ...

  4. 微信第一个支持小程序版本号与服务器不符,解决微信小程序更新发布之后线上还是之前的老版本...

    微信小程序每次发布更新后线上还是之前的老版本,要删除后重新打开才会显示新版本,特烦. 不知道是不是太久没去看文档了,发现 api 中增加了更新 wx.getUpdateManager(),于是立马来试 ...

  5. 微信小程序、微信低版本兼容

    基础库低版本兼容 小程序的功能不断的增加,但是旧版本的微信客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容. 1版本号比较 js_getuserinfo() {// 4 13// 2.10. ...

  6. 小程序怎样和服务器交互,微信小程序与 Django服务器 数据流 交互通信

    Django服务器 解析小程序发送的json二进制字符串 https://blog.csdn.net/qq_25068917/article/details/81041048 http://www.c ...

  7. 微信小程序直播消耗服务器流量,微信小程序直播私域流量过程要用多久

    满足品牌长线的规划,从追逐流量走向运营私域流量.不过,醉终能不能实现这个过程,或者这个私域流量过程要用多久,还得看微X信 的速度了.小程序直播上线很长一段时间,还是有很多用户不会用,小编写下此文,希望 ...

  8. 微信登录小程序授权显示服务器出错,微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)...

    本文实例为大家分享了微信小程序授权登录解决方案的具体代码,供大家参考,具体内容如下 getUserInfoF:function(){ var that = this; wx.getSetting({ ...

  9. 小森生活一直服务器维护,《小森生活》怎么处理断线黑屏的问题 连接不上服务器解决办法...

    小森生活无可用网关服务器是最近出现的问题,该怎么解决这个不稳定造成的,一般是有多方面的问题,例如是服务器,例如自己的网络出现了问题,该怎么解决,看下面的教程.小森生活无可用网关服务器解决方法无可用网关 ...

最新文章

  1. 城市WiFi好看还应该好用
  2. winform combobox第12345行的数据_Python学习第109课--ndarray的创建和切分操作
  3. shell 中定义数组
  4. optee3.14中MMU页表查询的所需配置--深入解读
  5. Tensorflow get_variable和Varialbe的区别
  6. 利用js弹出select下拉选中option的内容
  7. alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第3部分)
  8. Endianness
  9. Windows系列服务器上配置JSP运行环境,以及网站上线
  10. JAVA商城项目(微服务框架)——第4天 乐优商城项目搭建
  11. 加入收藏 设为首页代码收藏本页的代码和收藏本站的代码设为首页代码
  12. 微信公众号开发(个人订阅号版)
  13. PHP写一个登录表单,并实现注册+登录功能
  14. 微信朋友圈附近推效果怎么样?
  15. 融云聊天--web SDK API
  16. 5款知乎高赞的超牛软件,你一定要知道
  17. uniapp设置router
  18. 北京大学计算机硕博连读5年,关于2018年北京大学硕博连读研究生选拔工作的通知-更新...
  19. 详解液晶面板制造全过程
  20. 计算机网络 直连网,计算机网络基础及局域网构建 静态路由和直连路由 静态路由和直连路由.doc...

热门文章

  1. 空战游戏的制作,(被人拿去出书的就是这个,无奈啊)
  2. 2022年重庆自考本科怎么报考,需要哪些条件?
  3. SYBASE移动云计算技术中心落户嘉兴
  4. 使用(SIFT特征KMeans聚类关键点训练SVM)实现自然图像中的logo商标识别和定位
  5. tire字符统计(字典树)
  6. 【报错:no more cluster attempts left,已解决】
  7. 电子行业MES管理系统需求分析
  8. 多测师_Python(简介)
  9. Java Excel导出复杂excel表格样式之ExcelUtil工具类
  10. 5G NR初始接入和移动性管理