Topik ini menjelaskan cara menggunakan fitur pemantauan browser dari Application Real-Time Monitoring Service (ARMS) untuk memantau program mini yang sesuai dengan standar, tidak termasuk program mini DingTalk, Alipay, dan WeChat. Topik ini juga mencakup konfigurasi umum terkait, metode API, dan skenario lanjutan.
Penggunaan dasar
Untuk memantau program mini, Anda perlu melakukan langkah-langkah berikut: memperkenalkan dan menginisialisasi paket npm, melaporkan log, serta mengonfigurasi nama domain keamanan.
Perkenalkan dan inisialisasi paket npm.
Dalam proyek program mini Anda, perkenalkan paket npm bernama
@arms/js-sdkuntuk memudahkan pelaporan log.npm install @arms/js-sdkTambahkan informasi berikut ke file monitor.js di direktori /utils untuk menginisialisasi paket.
CatatanAnda dapat menentukan nama dan jalur penyimpanan file JavaScript (JS).
import MiniProgramLogger from '@arms/js-sdk/miniapp'; const Monitor = MiniProgramLogger.init({ pid: 'xxx', uid: 'userxxx', // ID pengguna, digunakan untuk mengumpulkan data pengunjung unik (UV). region: 'cn', // Wilayah tempat aplikasi diterapkan. Setel region ke cn jika aplikasi diterapkan di Tiongkok dan setel region ke sg jika aplikasi diterapkan di luar Tiongkok. Nilai default adalah cn. // Anda harus menentukan metode panggilan prosedur jarak jauh (RPC) untuk melakukan pemantauan browser program mini. Tulis metode implementasi. Metode E-App DingTalk digunakan dalam contoh berikut. sendRequest: (url, resData) => { // Cuplikan berikut harus dikonfigurasi oleh sisi bisnis. Metode GET atau POST didukung. // demo di dingding var method = 'GET'; var data; if (resData) { method = 'POST'; data = JSON.stringify(resData); } dd.httpRequest({ url: url, method: method, data: data, fail: function (error) { //... } }); }, // Masukkan secara manual metode untuk mendapatkan jalur halaman saat ini. Tulis metode implementasi. Metode E-App DingTalk digunakan dalam contoh berikut. getCurrentPage: () => { // Cuplikan berikut harus dikonfigurasi oleh sisi bisnis. if (typeof getCurrentPages ! == 'undefined' && typeof getCurrentPages === 'function') { var pages = (getCurrentPages() || []); var pageLength = pages.length; var currPage = pages[pageLength - 1]; return (currPage && currPage.route) || null; } } }); export default Monitor;CatatanUntuk informasi lebih lanjut tentang konfigurasi parameter, lihat Parameter SDK Umum.
Laporkan log.
Di app.js, gunakan salah satu metode berikut untuk melaporkan log:
Gunakan metode Monitor.hookApp(options) untuk menangkap log kesalahan secara otomatis. Parameter options adalah objek spesifik aplikasi.
import Monitor from '/utils/monitor'; App(Monitor.hookApp({ onError(err) { console.log('Trigger onError:', err); }, onLaunch() { console.log('Trigger onLaunch'); }, onShow(options) { }, onHide() { } }));Gunakan metode Monitor.error(err) untuk melaporkan log kesalahan secara manual.
import Monitor from '/utils/monitor'; App({ onError(err) { Monitor.error(err); console.log('Trigger onError:', err); }, onLaunch() { console.log('Trigger onLaunch'); }, onShow(options) { }, onHide() { } });
Di page.js, gunakan salah satu metode berikut untuk melaporkan log:
Gunakan metode Monitor.hookPage(options) untuk melaporkan tampilan halaman (PV) dan data kesehatan secara otomatis.
CatatanMetode ini tidak mendukung pelaporan otomatis permintaan API.
import Monitor from '/utils/monitor'; Page(Monitor.hookPage({ data: {}, onLoad(query) { }, onReady() { // Halaman dimuat. }, onShow() { }, onLoad(query) { }, onHide() { }, onUnload() { }, onTitleClick() { /** * Mengumpulkan data instrumen dan melakukan instrumen secara kustom. * @desc */ Monitor.sum('titleClick'); } }));
Konfigurasikan nama domain keamanan.
Jika region disetel ke
cn, tambahkanhttps://arms-retcode.aliyuncs.comke daftar nama domain valid.Jika region disetel ke
sg, tambahkanhttps://arms-retcode-sg.aliyuncs.comke daftar nama domain valid.
Metode API
Metode | Parameter | Catatan |
hookApp | {} | Masukkan parameter sumber aplikasi. Metode ini digunakan untuk secara otomatis melakukan instrumen selama siklus hidup aplikasi. |
hookPage | {} | Masukkan parameter sumber halaman. Metode ini digunakan untuk secara otomatis melakukan instrumen selama siklus hidup halaman. |
setCommonInfo | {[key: string]: string;} | Tetapkan field log dasar untuk skenario seperti rilis bertahap. |
setConfig | {[key: string]: string;} | Tetapkan field config. Untuk informasi lebih lanjut, lihat Referensi SDK. |
pageShow | {} | Laporkan data PV. |
pageHide | {} | Laporkan data kesehatan. |
error | String/Object | Laporkan log kesalahan. |
api | Untuk informasi lebih lanjut, lihat Metode SDK. | Laporkan log permintaan API. |
sum/avg | String | Laporkan log jumlah dan rata-rata kustom. |
Jika Anda ingin memanggil metode hookApp atau hookPage untuk instrumen dalam proyek pemantauan program mini, proyek tersebut harus sesuai dengan regulasi aplikasi dan halaman program mini standar. Proyek tersebut harus mendukung onError untuk aplikasi, serta onShow, onHide, dan onUnload untuk halaman. Untuk contoh metode, lihat Penggunaan Dasar.
Sebagian besar metode pelaporan log memiliki tujuan yang sama dengan SDK pemantauan browser. Bagian berikut menjelaskan cara memanggil metode lain:
Untuk mengirim data PV halaman saat ini, panggil pageShow() di bawah onShow halaman.
CatatanJangan panggil pageShow() bersamaan dengan hookPage(). Jika tidak, log PV dilaporkan berulang kali.
import Monitor from '/util/monitor'; Page({ onShow: function() { Monitor.pageShow(); } })Untuk mengirim data kesehatan seperti tingkat kesehatan dan waktu di halaman, panggil pageHide() di bawah onHide dan onUnload halaman.
CatatanJangan panggil pageHide() bersamaan dengan hookPage(). Jika tidak, log dilaporkan berulang kali.
import Monitor from '/util/monitor'; Page({ onHide: function() { Monitor.pageHide(); }, onUnload: function() { Monitor.pageHide(); } ... })
Skenario Lanjutan
Jika penggunaan dasar tidak dapat memenuhi kebutuhan Anda, lihat skenario lanjutan berikut:
Tetapkan uid untuk mengumpulkan data UV.
Jika Anda dapat memperoleh informasi pengguna sebelum SDK pemantauan diinisialisasi, Anda dapat menetapkan uid.
Jika Anda tidak dapat memperoleh informasi pengguna sebelum SDK pemantauan diinisialisasi, Anda dapat memperoleh informasi pengguna sebelum onShow dipicu untuk aplikasi, lalu panggil setCommonInfo({uid: 'xxx'}) untuk menetapkan uid.
Konfigurasikan informasi umum untuk program mini.
Panggil setCommonInfo untuk mengonfigurasi informasi umum untuk program mini. Pemantauan browser ARMS melakukan analisis statistik pada parameter berikut:
sr: ukuran layar
vp: bagian yang terlihat di jendela browser
dpr: rasio piksel layar
ul: bahasa dokumen
dr: referensi dokumen
ct: jenis koneksi jaringan, seperti Wi-Fi atau 3G
PeringatanJangan panggil setCommonInfo untuk mengonfigurasi parameter berlebihan sekaligus. Jika tidak, panjang permintaan mungkin melebihi batasan dan terjadi kegagalan permintaan.
Parameter SDK Umum
Pemantauan browser ARMS menyediakan serangkaian parameter SDK. Anda dapat mengonfigurasi parameter untuk memenuhi persyaratan tambahan. Tabel berikut menjelaskan parameter umum yang cocok untuk skenario yang dijelaskan dalam topik ini.
|
|
|
|
|
pid | String | ID unik proyek. Ini dibuat secara otomatis oleh ARMS saat membuat situs. | Ya | Tidak ada |
uid | String | ID pengguna. Nilainya adalah pengenal pengguna dan dapat digunakan untuk mencari pengguna. Anda dapat menentukan nilai kustom. Jika Anda tidak menentukan parameter ini, SDK akan dibuat secara otomatis dan diperbarui setiap enam bulan. | Tidak | Dibuat secara otomatis oleh SDK |
tag | String | Tag input. Setiap log membawa tag. | Tidak | Tidak ada |
release | String | Versi aplikasi. Kami sarankan Anda mengonfigurasi parameter ini untuk melihat informasi laporan versi yang berbeda. | Tidak |
|
environment | String | Bidang lingkungan. Nilai valid: prod, gray, pre, daily, dan local.
| Tidak |
|
sample | Integer | Konfigurasi pengambilan sampel log. Nilainya adalah bilangan bulat dari 1 hingga 100. Log kinerja dan log API sukses diambil sampelnya dengan rasio | Tidak |
|
behavior | Boolean | Menentukan apakah akan mencatat perilaku pengguna yang melaporkan kesalahan untuk mempermudah pemecahan masalah. | Tidak |
|
Pemantauan browser ARMS juga menyediakan parameter SDK lainnya. Untuk informasi lebih lanjut, lihat Referensi SDK.