Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Monitorar mini programas do WeChat

Última atualização: Jun 27, 2026

Quando seu mini programa do WeChat apresenta erros de JavaScript, respostas lentas de API ou degradação no desempenho das páginas, diagnosticar esses problemas sem instrumentação torna-se impreciso. O Browser Monitoring do Application Real-Time Monitoring Service (ARMS) oferece um SDK leve que coleta visualizações de página, erros de JavaScript, requisições de API, métricas de desempenho e dados de integridade dos mini programas do WeChat, proporcionando visibilidade em tempo real da experiência do usuário.

Este guia orienta você na instalação do SDK, instrumentação automática, configuração de domínios de segurança e opções avançadas de relatório.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um projeto de mini programa do WeChat. Para mais informações, consulte Mini programas do WeChat.

  • Um site do Browser Monitoring do ARMS com um pid válido. O ARMS gera o pid automaticamente ao criar o site.

Início rápido

Para usuários experientes, o trecho a seguir mostra a integração mínima. Para instruções detalhadas, consulte as seções passo a passo abaixo.

// 1. Copy https://retcode.alicdn.com/retcode/wl.js into /utils/wxLogger.js

// 2. Create /utils/monitor.js
import WXLogger from './wxLogger.js';
const Monitor = WXLogger.init({
    pid: '<your-pid>',       // From the ARMS console
    region: 'cn',            // cn: Chinese mainland | sg: nearest to Singapore
});
export default Monitor;

// 3. In app.js, hook the app lifecycle
import Monitor from '/utils/monitor';
App(Monitor.hookApp({
    onError(err) { console.log('onError:', err); },
    onLaunch() {},
    onShow() {},
    onHide() {}
}));

// 4. In each page.js, hook the page lifecycle
import Monitor from '/utils/monitor';
Page(Monitor.hookPage({
    data: {},
    onShow() {},
    onHide() {},
    onUnload() {}
}));

Após a configuração, adicione o domínio de relatório do ARMS à lista de permissões no console de administração do WeChat. Consulte Etapa 3: Adicionar domínios de segurança à lista de permissões.

Etapa 1: Instalar e inicializar o SDK

Baixar o SDK

  1. Crie um arquivo wxLogger.js na pasta /utils do seu projeto de mini programa.

  2. Copie o conteúdo do arquivo JS do SDK para wxLogger.js.

Nota

Você pode personalizar o nome do arquivo e o caminho de armazenamento.

Inicializar o SDK

Crie um arquivo monitor.js na pasta /utils e adicione o código de inicialização.

CommonJS (require):

const WXLogger = require('./wxLogger.js');
const Monitor = WXLogger.init({
    pid: '<your-pid>',       // Project ID from the ARMS console
    region: 'cn',            // cn: Chinese mainland | sg: nearest to Singapore
});
export default Monitor;

Módulo ES (import):

import WXLogger from './wxLogger.js';
const Monitor = WXLogger.init({
    pid: '<your-pid>',       // Project ID from the ARMS console
    region: 'cn',            // cn: Chinese mainland | sg: nearest to Singapore
});
export default Monitor;

Substitua <your-pid> pelo ID exclusivo do projeto encontrado no console do ARMS. O ARMS gera esse ID automaticamente ao criar um site.

Para obter a lista completa de parâmetros de inicialização, consulte Parâmetros do SDK.

Etapa 2: Adicionar hooks de instrumentação

O SDK utiliza dois métodos de hook para coletar automaticamente dados de PV, erros, API, desempenho e integridade em todo o mini programa.

Fazer hook do ciclo de vida do aplicativo

Em app.js, envolva a configuração do seu App com Monitor.hookApp(options) para capturar logs de erros automaticamente.

import Monitor from '/utils/monitor';

App(Monitor.hookApp({
    onError(err) {
        console.log('Trigger onError:', err);
    },
    onLaunch() {
        console.log('Trigger onLaunch');
    },
    onShow(options) {
    },
    onHide() {
    }
}));

Fazer hook dos ciclos de vida da página

Em cada page.js, envolva a configuração da sua Page com Monitor.hookPage(options) para relatar chamadas de API, visualizações de página e dados de integridade automaticamente.

import Monitor from '/utils/monitor';
// hookPage starts lifecycle-based instrumentation automatically.
Page(Monitor.hookPage({
    data: {},
    onLoad(query) {
    },
    onReady() {
        // The page is loaded.
    },
    onShow() {
    },
    onHide() {
    },
    onUnload() {
    }
}));

Requisitos dos métodos de ciclo de vida

Método de hook

Métodos de ciclo de vida obrigatórios

Onde usar

hookApp

onError

app.js

hookPage

onShow, onHide, onUnload

Cada page.js

Esses métodos de ciclo de vida devem estar presentes no seu código para que a instrumentação funcione.

Etapa 3: Adicionar domínios de segurança à lista de permissões

O WeChat exige que todos os domínios de requisição de saída estejam em uma lista de permissões. Adicione o endpoint de relatório do ARMS à lista de domínios válidos do seu mini programa no console de administração do WeChat.

**Valor de region**

Domínio para adicionar à lista de permissões

cn

https://arms-retcode.aliyuncs.com

sg

https://arms-retcode-sg.aliyuncs.com

Etapa 4: Verificar a integração

Após concluir a configuração:

  1. Compile e visualize seu mini programa no WeChat Developer Tools.

  2. Abra o painel Network nas ferramentas de desenvolvedor.

  3. Navegue por algumas páginas no mini programa.

  4. Confirme se as requisições foram enviadas para o domínio de relatório do ARMS configurado (arms-retcode.aliyuncs.com ou arms-retcode-sg.aliyuncs.com).

Se houver requisições de saída bem-sucedidas para o domínio do ARMS, a integração do SDK está funcionando.

Métodos do SDK

Além da instrumentação automática, o SDK fornece métodos para relatórios manuais e configuração.

Método

Parâmetro

Descrição

setCommonInfo

{[key: string]: string;}

Defina campos básicos de log para casos de uso como canary releases.

setConfig

{[key: string]: string;}

Defina campos de configuração do SDK. Para detalhes, consulte Referência do SDK. O parâmetro uid não é suportado para mini programas. Use setUsername em vez disso.

pageShow

Nenhum

Relata uma entrada de log de PV.

pageHide

Nenhum

Relata uma entrada de log de integridade.

error

String ou Object

Relata uma entrada de log de erro.

api

Consulte Referência da API.

Relata uma entrada de log de requisição de API.

sum / avg

String

Relata entradas de log personalizadas de soma e média.

Cenários avançados

Relatar resultados de API manualmente

Para ter controle total sobre os relatórios de API:

  1. Defina disableHook como true na configuração do SDK para impedir o relatório automático de logs de wx.request.

  2. Chame api() para relatar resultados de API conforme necessário.

Rastrear manualmente sem hooks automáticos

Para lidar com todos os relatórios manualmente em vez de usar hookApp e hookPage:

  1. Omita hookApp em app.js e hookPage em page.js.

  2. Relate visualizações de página chamando pageShow() no método onShow de cada Page:

    Importante

    Não chame pageShow() junto com hookPage(). Isso causa logs de PV duplicados.

        import Monitor from '/utils/monitor';
        Page({
            onShow: function() {
                Monitor.pageShow();
            }
        })
  3. Relate dados de integridade (incluindo tempo de navegação) chamando pageHide() nos métodos onHide e onUnload:

    Importante

    Não chame pageHide() junto com hookPage(). Isso causa logs de integridade duplicados.

        import Monitor from '/utils/monitor';
        Page({
            onHide: function() {
                Monitor.pageHide();
            },
            onUnload: function() {
                Monitor.pageHide();
            }
        })

Parâmetros do SDK

A tabela a seguir lista os parâmetros comuns do SDK para monitoramento de mini programas do WeChat. Para a lista completa de parâmetros, consulte Referência do SDK.

Parâmetro

Tipo

Obrigatório

Padrão

Descrição

pid

String

Sim

Nenhum

ID exclusivo do projeto. Gerado automaticamente quando o ARMS cria um site.

uid

String

Não

Gerado automaticamente pelo SDK

Identificador do usuário. O SDK gera esse valor automaticamente e o atualiza a cada seis meses.

tag

String

Não

Nenhum

Tag anexada a cada entrada de log desta instância.

release

String

Não

undefined

Versão do aplicativo. Configure este parâmetro para visualizar relatórios por versão.

environment

String

Não

prod

Ambiente de implantação. Valores válidos: prod (online), gray (lançamento gradual), pre (staging), daily (diário), local (local).

sample

Integer

Não

1

Taxa de amostragem de log (1 a 100). Logs de desempenho e logs de API bem-sucedidos são amostrados na proporção de 1/sample. Para detalhes, consulte Métricas estatísticas.

behavior

Boolean

Não

false

Registra o comportamento do usuário anterior aos erros para solução de problemas.

enableLinkTrace

Boolean

Não

false

Ative o rastreamento de ponta a ponta. Para detalhes, consulte Usar o recurso de rastreamento de ponta a ponta para diagnosticar erros de API.