QQ小程序 數據預拉取
基礎庫 1.14.0 版本開始支持。
預拉取能夠在小程序冷啟動的時候通過QQ后臺提前向第三方服務器拉取業務數據,當代碼包加載完時可以更快地渲染頁面,減少用戶等待時間,從而提升小程序的打開速度。
使用流程
1. 配置數據下載地址
登錄小程序管理后臺,進入設置 -> 開發設置 -> 數據預拉取,點擊啟用,填寫數據下載地址,只支持 HTTPS。
2. 設置 TOKEN
第一次啟動小程序時,調用 qq.setBackgroundFetchToken() 設置一個 TOKEN 字符串,可以跟用戶態相關,會在后續 QQ 客戶端向開發者服務器請求時帶上,便于給后者校驗請求合法性。
示例:
App({
onLaunch() {
qq.setBackgroundFetchToken({
token: "xxx"
});
}
});
3. QQ 客戶端提前拉取數據
當用戶打開小程序時,QQ 服務器將向開發者服務器(上面配置的數據下載地址)發起一個 HTTP GET 請求,其中包含的 query 參數如下,數據獲取到后會將整個 HTTP body 緩存到本地。
屬性 | 類型 | 必填 | 說明 |
---|---|---|---|
appid | String | 是 | 小程序標識 |
token | String | 否 | 前面設置的 TOKEN |
code | String | 否 | 用戶登錄憑證,未設置 TOKEN 時由QQ側預生成,可在開發者后臺調用 auth.code2Session,換取 openid 等信息 |
timestamp | Number | 是 | 時間戳,QQ客戶端發起請求的時間 |
path | String | 否 | 打開小程序的路徑 |
query | String | 否 | 打開小程序的 query |
scene | Number | 否 | 打開小程序的場景值 |
query 參數會使用 urlencode 處理 token 和 code 只會存在一個,用于標識用戶身份 開發者服務器接口返回的數據類型應為字符串,且大小應不超過 256KB,否則將無法緩存數據
4. 讀取數據
用戶啟動小程序時,調用 qq.getBackgroundFetchData() 獲取已緩存到本地的數據。 示例:
App({
onLaunch() {
qq.getBackgroundFetchData({
fetchType: "pre",
success(res) {
console.log(res.fetchedData); // 緩存數據
console.log(res.timeStamp); // 客戶端拿到緩存數據的時間戳
console.log(res.path); // 頁面路徑
console.log(res.query); // query 參數
console.log(res.scene); // 場景值
}
});
}
});
5. 調試方法
暫不支持,開發者工具后續版本將進行更新
以上內容是否對您有幫助: