QQ小程序 數(shù)據(jù)預(yù)拉取

2020-07-02 16:56 更新

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

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

使用流程

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

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

2. 設(shè)置 TOKEN

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

示例:

App({
  onLaunch() {
    qq.setBackgroundFetchToken({
      token: "xxx"
    });
  }
});

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

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

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

query 參數(shù)會使用 urlencode 處理 token 和 code 只會存在一個(gè),用于標(biāo)識用戶身份 開發(fā)者服務(wù)器接口返回的數(shù)據(jù)類型應(yīng)為字符串,且大小應(yīng)不超過 256KB,否則將無法緩存數(shù)據(jù)

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

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

App({
  onLaunch() {
    qq.getBackgroundFetchData({
      fetchType: "pre",
      success(res) {
        console.log(res.fetchedData); // 緩存數(shù)據(jù)
        console.log(res.timeStamp); // 客戶端拿到緩存數(shù)據(jù)的時(shí)間戳
        console.log(res.path); // 頁面路徑
        console.log(res.query); // query 參數(shù)
        console.log(res.scene); // 場景值
      }
    });
  }
});

5. 調(diào)試方法

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號