WebTracking 小程序端 JavaScript SDK
如果您需要收集和分析用戶(hù)在小程序的信息,例如用戶(hù)用的小程序、瀏覽行為記錄、購(gòu)買(mǎi)行為記錄,可以使用WebTracking JavaScript SDK將用戶(hù)日志直接上傳到Logstore。WebTracking JavaScript SDK從小程序端直接上傳日志,無(wú)需經(jīng)過(guò)業(yè)務(wù)服務(wù)器,降低服務(wù)器負(fù)載。本文介紹如何使用WebTracking JavaScript SDK上傳日志。
前提條件
已開(kāi)啟Logstore的WebTracking功能。WebTracking的功能介紹和開(kāi)啟步驟,請(qǐng)參見(jiàn)使用Web Tracking采集日志。
為了保障數(shù)據(jù)安全,各個(gè)小程序平臺(tái)要求開(kāi)發(fā)者事先在小程序的管理后臺(tái),配置被允許與小程序進(jìn)行網(wǎng)絡(luò)通信的服務(wù)器域名(request合法域名)。您需要在小程序的request合法域名中,添加日志服務(wù)WebTracking使用的安全通信域名,格式為
https://${project}.${host}
,project
和host
的含義請(qǐng)參見(jiàn)下文。
使用限制
使用WebTracking 小程序端 JavaScript SDK上傳日志,每次寫(xiě)入的日志數(shù)量上限為10 MB。關(guān)于WebTracking 小程序端 JavaScript SDK的更多信息,請(qǐng)參見(jiàn)SLS WebTracking JavaScript SDK。
WebTracking支持的小程序包括微信小程序、微信小游戲、支付寶小程序、字節(jié)跳動(dòng)小程序、釘釘小程序、QQ小程序、QQ小游戲、百度小程序。
步驟一:安裝和配置SDK
已安裝Node.js。
在服務(wù)器上運(yùn)行以下代碼,安裝依賴(lài)。
npm install --save @aliyun-sls/web-track-mini
在您的程序中添加以下代碼,配置SDK。
重要開(kāi)發(fā)快應(yīng)用(quickApp小程序)時(shí),創(chuàng)建SlsTracker對(duì)象前需要根據(jù)使用的請(qǐng)求模塊額外添加配置項(xiàng)。以使用requesttask模塊為例:
//定義quickappSDK對(duì)象,將請(qǐng)求API封裝成對(duì)象 const quickappSDK = { request: requesttask.request } const tracker = new SlsTracker({ ...opts, platformSDK: quickappSDK, platformRequestName: 'request', })
import SlsTracker from '@aliyun-sls/web-track-mini' const opts = { host: '${host}', // 所在地域的服務(wù)入口。例如cn-hangzhou.log.aliyuncs.com project: '${project}', // Project名稱(chēng)。 logstore: '${logstore}', // Logstore名稱(chēng)。 time: 10, // 發(fā)送日志的時(shí)間間隔,默認(rèn)是10秒。 count: 10, // 發(fā)送日志的數(shù)量大小,默認(rèn)是10條。 topic: 'topic',// 自定義日志主題。 source: 'source', tags: { tags: 'tags', }, } const tracker = new SlsTracker(opts) // 創(chuàng)建SlsTracker對(duì)象
參數(shù)名稱(chēng)
是否必填
說(shuō)明
host
是
日志服務(wù)所在地域的Endpoint。此處以杭州為例,其它地域請(qǐng)根據(jù)實(shí)際情況填寫(xiě)。更多信息,請(qǐng)參見(jiàn)服務(wù)入口。
project
是
Project名稱(chēng)。
logstore
是
Logstore名稱(chēng)。
time
否
發(fā)送日志的時(shí)間間隔,默認(rèn)值為10秒。
count
否
發(fā)送日志的數(shù)量大小,默認(rèn)值為10。
topic
否
日志主題。您可以自定義該字段,便于識(shí)別。
source
否
日志來(lái)源。您可以自定義該字段,以便于識(shí)別。
tags
否
日志標(biāo)簽信息。您可以自定義該字段,便于識(shí)別。
步驟二:上傳日志
上傳單條日志時(shí),每條日志單獨(dú)作為一個(gè)對(duì)象Object
。上傳多條日志時(shí),數(shù)據(jù)結(jié)構(gòu)是包含多個(gè)對(duì)象Object
的數(shù)組Array
。
單條日志上傳,類(lèi)型為
Object
,示例:tracker.send({ eventType:'view_product', productName: 'Tablet', price: 500 })
單條日志立即上傳(time和count參數(shù)不生效),類(lèi)型為
Object
,示例:tracker.sendImmediate({ eventType:'view_product', productName: 'Tablet', price: 500 })
批量日志上傳,類(lèi)型為
Array
,示例:tracker.sendBatchLogs([ { eventType: 'view_product', productName: 'Tablet', price: 500 }, { eventType: 'view_product', productName: 'Laptop', price: 1200 } ])
批量日志立即上傳(time和count參數(shù)不生效),類(lèi)型為
Array
,示例:tracker.sendBatchLogsImmediate([ { eventType:'view_product', productName: 'Tablet', price: 500 }, { eventType:'view_product', productName: 'Laptop', price: 1200 } ])
步驟三:查看上傳結(jié)果
日志上傳到Logstore后,必須創(chuàng)建索引才能進(jìn)行查詢(xún)分析。
快速查看
如果未創(chuàng)建索引,可以在Logstore的查詢(xún)分析頁(yè)面,單擊消費(fèi)預(yù)覽快速查看日志。
查詢(xún)分析日志
調(diào)用CreateIndex創(chuàng)建全文索引或字段索引,如果需要使用SELECT語(yǔ)句,必須創(chuàng)建字段索引。
調(diào)用GetLogsV2 - 查詢(xún)Logstore中的日志數(shù)據(jù),返回結(jié)果是日志數(shù)組Logs,每個(gè)元素就是一條日志。
相關(guān)文檔
在調(diào)用API接口過(guò)程中,若服務(wù)端返回結(jié)果中包含錯(cuò)誤信息,則表示調(diào)用API接口失敗。您可以參考API錯(cuò)誤碼對(duì)照表查找對(duì)應(yīng)的解決方法。更多信息,請(qǐng)參見(jiàn)API錯(cuò)誤處理對(duì)照表。
阿里云OpenAPI開(kāi)發(fā)者門(mén)戶(hù)提供調(diào)試、SDK、示例和配套文檔。通過(guò)OpenAPI,您無(wú)需手動(dòng)封裝請(qǐng)求和簽名操作,就可以快速對(duì)日志服務(wù)API進(jìn)行調(diào)試。更多信息,請(qǐng)參見(jiàn)OpenAPI開(kāi)發(fā)者門(mén)戶(hù)。
為滿(mǎn)足越來(lái)越多的自動(dòng)化日志服務(wù)配置需求,日志服務(wù)提供命令行工具CLI(Command Line Interface)。更多信息,請(qǐng)參見(jiàn)日志服務(wù)命令行工具CLI。