全部产品
Search
文档中心

Application Real-Time Monitoring Service:Memantau program mini lainnya

更新时间:Jul 06, 2025

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.

  1. Perkenalkan dan inisialisasi paket npm.

    1. Dalam proyek program mini Anda, perkenalkan paket npm bernama @arms/js-sdk untuk memudahkan pelaporan log.

      npm install @arms/js-sdk
    2. Tambahkan informasi berikut ke file monitor.js di direktori /utils untuk menginisialisasi paket.

      Catatan

      Anda 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;
      Catatan

      Untuk informasi lebih lanjut tentang konfigurasi parameter, lihat Parameter SDK Umum.

  2. Laporkan log.

    1. 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() {
              }
            });
    2. 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.

        Catatan

        Metode 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');
                }       
            }));
      • Panggil metode API untuk secara aktif melakukan instrumen.

        Catatan

        Untuk informasi lebih lanjut tentang metode API, lihat Metode API.

        import Monitor from './util/monitor';
        
            Page({
               data: {},
                onShow() {
                    Monitor.pageShow();
                },
                onHide() {
                    Monitor.pageHide();
                },
                onUnload() {
                    Monitor.pageHide();
                },
                onTitleClick() {
                    /**
                     * Mengumpulkan data instrumen dan melakukan instrumen secara kustom.
                     * @desc
                     */
                    Monitor.sum('titleClick');
                }       
            });
  3. Konfigurasikan nama domain keamanan.

    • Jika region disetel ke cn, tambahkan https://arms-retcode.aliyuncs.com ke daftar nama domain valid.

    • Jika region disetel ke sg, tambahkan https://arms-retcode-sg.aliyuncs.com ke 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.

Catatan

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.

    Catatan

    Jangan 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.

    Catatan

    Jangan 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

      Peringatan

      Jangan 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

undefined

environment

String

Bidang lingkungan. Nilai valid: prod, gray, pre, daily, dan local.

  • Nilai prod menunjukkan lingkungan online.

  • Nilai gray menunjukkan lingkungan rilis bertahap.

  • Nilai pre menunjukkan lingkungan staging.

  • Nilai daily menunjukkan lingkungan harian.

  • Nilai local menunjukkan lingkungan lokal.

Tidak

prod

sample

Integer

Konfigurasi pengambilan sampel log. Nilainya adalah bilangan bulat dari 1 hingga 100. Log kinerja dan log API sukses diambil sampelnya dengan rasio 1/sample. Untuk informasi lebih lanjut tentang metrik log kinerja dan log API sukses, lihat Metrik Statistik.

Tidak

1

behavior

Boolean

Menentukan apakah akan mencatat perilaku pengguna yang melaporkan kesalahan untuk mempermudah pemecahan masalah.

Tidak

false

Pemantauan browser ARMS juga menyediakan parameter SDK lainnya. Untuk informasi lebih lanjut, lihat Referensi SDK.