QQ小游戲 數(shù)據(jù)預(yù)拉取

2020-07-15 15:49 更新

基礎(chǔ)庫 1.14.0 版本開始支持。

預(yù)拉取能夠在小程序冷啟動的時候通過 QQ 后臺提前向第三方服務(wù)器拉取業(yè)務(wù)數(shù)據(jù),當(dāng)代碼包加載完時可以更快地渲染頁面,減少用戶等待時間,從而提升小程序的打開速度。

使用流程

1. 配置數(shù)據(jù)下載地址

登錄小程序管理后臺,進(jìn)入設(shè)置 -> 開發(fā)設(shè)置 -\> 數(shù)據(jù)預(yù)拉取,點(diǎn)擊啟用,填寫數(shù)據(jù)下載地址,只支持 HTTPS。

2. 設(shè)置 TOKEN

第一次啟動小程序時,調(diào)用 qq.setBackgroundFetchToken() 設(shè)置一個 TOKEN 字符串,可以跟用戶態(tài)相關(guān),會在后續(xù) QQ 客戶端向開發(fā)者服務(wù)器請求時帶上,便于給后者校驗(yàn)請求合法性。

示例:

  1. App({
  2. onLaunch() {
  3. qq.setBackgroundFetchToken({
  4. token: "xxx"
  5. });
  6. }
  7. });

3. QQ 客戶端提前拉取數(shù)據(jù)

當(dāng)用戶打開小程序時,QQ 服務(wù)器將向開發(fā)者服務(wù)器(上面配置的數(shù)據(jù)下載地址)發(fā)起一個 HTTP GET 請求,其中包含的 query 參數(shù)如下,數(shù)據(jù)獲取到后會將整個 HTTP body 緩存到本地。

屬性 類型 必填 說明
appid String 小程序標(biāo)識
token String 前面設(shè)置的 TOKEN
code String 用戶登錄憑證,未設(shè)置 TOKEN 時由 QQ 側(cè)預(yù)生成,可在開發(fā)者后臺調(diào)用 auth.code2Session,換取 openid 等信息
timestamp Number 時間戳,QQ 客戶端發(fā)起請求的時間
path String 打開小程序的路徑
query String 打開小程序的 query
scene Number 打開小程序的場景值

query 參數(shù)會使用 urlencode 處理

token 和 code 只會存在一個,用于標(biāo)識用戶身份

開發(fā)者服務(wù)器接口返回的數(shù)據(jù)類型應(yīng)為字符串,且大小應(yīng)不超過 256KB,否則將無法緩存數(shù)據(jù)

4. 讀取數(shù)據(jù)

用戶啟動小程序時,調(diào)用qq.getBackgroundFetchData() 獲取已緩存到本地的數(shù)據(jù)。

示例:

  1. App({
  2. onLaunch() {
  3. qq.getBackgroundFetchData({
  4. fetchType: "pre",
  5. success(res) {
  6. console.log(res.fetchedData); // 緩存數(shù)據(jù)
  7. console.log(res.timeStamp); // 客戶端拿到緩存數(shù)據(jù)的時間戳
  8. console.log(res.path); // 頁面路徑
  9. console.log(res.query); // query 參數(shù)
  10. console.log(res.scene); // 場景值
  11. }
  12. });
  13. }
  14. });

5. 調(diào)試方法

暫不支持,開發(fā)者工具后續(xù)版本將進(jìn)行更新

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號