QQ小程序 低版本兼容

2020-07-08 09:13 更新

小程序的功能不斷的增加,但是舊版本的QQ客戶端并不支持新功能,所以在使用這些新能力的時候需要做兼容。 開發(fā)者可以通過以下方式進行低版本的兼容:

1. 版本號比較

QQ客戶端和小程序基礎庫的版本號風格為 Major.Minor.Patch(主版本號.次版本號.修訂版本號)。 文檔中會在組件,API等頁面描述中帶上各個功能所要求的最低基礎庫版本號。 開發(fā)者可以在小程序中通過調用 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 參數(shù)或返回值 對于 API 的參數(shù)或者返回值有新增的參數(shù),可以判斷用以下代碼判斷。

qq.showModal({
  success(res) {
    if (qq.canIUse('showModal.cancel')) {
      console.log(res.cancel)
    }
  }
})

組件

對于組件,新增的組件或屬性在舊版本上不會被處理,不過也不會報錯。如果特殊場景需要對舊版本做一些降級處理,可以這樣子做。

Page({
  data: {
    canIUse: qq.canIUse('cover-view')
  }
})

<video controls="{{!canIUse}}">
  <cover-view qq:if="{{canIUse}}">play</cover-view>
</video>

canIUse 的數(shù)據(jù)文件隨基礎庫進行更新,新版本中的新功能可能出現(xiàn)遺漏的情況,建議開發(fā)者在使用時提前測試。

設置最低基礎庫版本

需要 8.0.0 及以上版本QQ客戶端支持
為便于開發(fā)者解決低版本基礎庫無法兼容小程序的新功能的問題,開發(fā)者可設置小程序最低基礎庫版本要求。
開發(fā)者可以登錄QQ小程序管理后臺,進入「設置 - 基本設置 - 基礎庫最低版本設置」進行配置。在配置前,開發(fā)者可查看近 30 天內訪問當前小程序的用戶所使用的基礎庫版本占比,以幫助開發(fā)者了解當前用戶使用的情況。
設置后,若用戶基礎庫版本低于設置值,則無法正常打開小程序,并提示用戶更新客戶端版本。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號