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
pidválido. O ARMS gera opidautomaticamente 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
Crie um arquivo
wxLogger.jsna pasta/utilsdo seu projeto de mini programa.Copie o conteúdo do arquivo JS do SDK para
wxLogger.js.
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 |
|
|
|
|
|
|
|
Cada |
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 |
Domínio para adicionar à lista de permissões |
|
|
|
|
|
|
Etapa 4: Verificar a integração
Após concluir a configuração:
Compile e visualize seu mini programa no WeChat Developer Tools.
Abra o painel Network nas ferramentas de desenvolvedor.
Navegue por algumas páginas no mini programa.
Confirme se as requisições foram enviadas para o domínio de relatório do ARMS configurado (
arms-retcode.aliyuncs.comouarms-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 |
|
|
|
Defina campos básicos de log para casos de uso como canary releases. |
|
|
|
Defina campos de configuração do SDK. Para detalhes, consulte Referência do SDK. O parâmetro |
|
|
Nenhum |
Relata uma entrada de log de PV. |
|
|
Nenhum |
Relata uma entrada de log de integridade. |
|
|
|
Relata uma entrada de log de erro. |
|
|
Consulte Referência da API. |
Relata uma entrada de log de requisição de API. |
|
|
|
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:
Defina
disableHookcomotruena configuração do SDK para impedir o relatório automático de logs dewx.request.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:
Omita
hookAppemapp.jsehookPageempage.js.-
Relate visualizações de página chamando
pageShow()no métodoonShowde cada Page:ImportanteNão chame
pageShow()junto comhookPage(). Isso causa logs de PV duplicados.import Monitor from '/utils/monitor'; Page({ onShow: function() { Monitor.pageShow(); } }) -
Relate dados de integridade (incluindo tempo de navegação) chamando
pageHide()nos métodosonHideeonUnload:ImportanteNão chame
pageHide()junto comhookPage(). 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 |
|
|
String |
Sim |
Nenhum |
ID exclusivo do projeto. Gerado automaticamente quando o ARMS cria um site. |
|
|
String |
Não |
Gerado automaticamente pelo SDK |
Identificador do usuário. O SDK gera esse valor automaticamente e o atualiza a cada seis meses. |
|
|
String |
Não |
Nenhum |
Tag anexada a cada entrada de log desta instância. |
|
|
String |
Não |
|
Versão do aplicativo. Configure este parâmetro para visualizar relatórios por versão. |
|
|
String |
Não |
|
Ambiente de implantação. Valores válidos: |
|
|
Integer |
Não |
|
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/ |
|
|
Boolean |
Não |
|
Registra o comportamento do usuário anterior aos erros para solução de problemas. |
|
|
Boolean |
Não |
|
Ative o rastreamento de ponta a ponta. Para detalhes, consulte Usar o recurso de rastreamento de ponta a ponta para diagnosticar erros de API. |