Intégrez le SDK de surveillance des applications mini-programmes WeChat pour superviser votre application avec ARMS Browser Monitoring. Cette rubrique explique comment obtenir et initialiser le SDK, activer l'instrumentation automatique et configurer le domaine de sécurité. Elle présente également les paramètres du SDK, les méthodes d'API disponibles et des cas d'utilisation avancés.
Contexte
Pour plus d'informations sur les applications mini-programmes WeChat, consultez la documentation des applications mini-programmes WeChat.
Utilisation de base
Pour surveiller une application mini-programme WeChat avec ARMS Browser Monitoring, suivez les trois étapes ci-dessous :
-
Obtenez le SDK de surveillance des applications mini-programmes WeChat et initialisez-le :
Dans le répertoire /utils de votre projet d'application mini-programme WeChat, créez un fichier nommé wxLogger.js. Copiez le contenu du fichier JS du SDK de surveillance et collez-le dans le fichier wxLogger.js.
-
Dans le répertoire /utils, créez un fichier nommé monitor.js et ajoutez le code suivant au fichier monitor.js pour initialiser le SDK.
RemarqueVous pouvez personnaliser les noms de fichiers et les emplacements de stockage.
-
Si votre projet utilise des modules Node.js (require), ajoutez le code suivant :
const WXLogger = require('./wxLogger.js'); const Monitor = WXLogger.init({ pid: 'xxx', region: 'cn', // Specify the deployment region: set to cn for China, or sg for regions near Singapore. }); export default Monitor; -
Si votre projet utilise des modules ES (import), ajoutez le code suivant :
import WXLogger from './wxLogger.js'; const Monitor = WXLogger.init({ pid: 'xxx', region: 'cn', // Specify the deployment region: set to cn for China, or sg for regions near Singapore. }); export default Monitor;
Définissez region sur la région de déploiement de votre application :
cnpour la Chine, ousgpour les régions hors de Chine proches de Singapour.RemarquePour connaître la configuration détaillée des paramètres, consultez les paramètres du SDK.
-
-
Activez l'instrumentation automatique pour collecter les données PV, les erreurs, les API, les performances et l'état de santé :
-
Dans app.js, utilisez la méthode Monitor.hookApp(options) pour capturer automatiquement les journaux d'erreurs. Le paramètre options correspond à la configuration Object de la couche App.
import Monitor from '/utils/monitor'; App(Monitor.hookApp({ onError(err) { console.log('Enter onError:', err); }, onLaunch() { console.log('Enter onLaunch'); }, onShow(options) { }, onHide() { } })); -
Dans le fichier JS de chaque page, utilisez la méthode Monitor.hookPage(options) pour signaler automatiquement les requêtes API, les PV et les données de santé.
import Monitor from '/utils/monitor'; // After you use hookPage, lifecycle APIs are automatically instrumented. Page(Monitor.hookPage({ data: {}, onLoad(query) { }, onReady() { // The page is loaded. }, onShow() { }, onHide() { }, onUnload() { } }));
-
-
Configurez le domaine de sécurité : ajoutez le domaine ARMS correspondant à votre valeur region à la liste des domaines de requête valides de votre application mini-programme WeChat.
Si region est défini sur
cn, ajoutezhttps://arms-retcode.aliyuncs.comà la liste des domaines de requête valides.Si region est défini sur
sg, ajoutezhttps://arms-retcode-sg.aliyuncs.comà la liste des domaines de requête valides.
Paramètres du SDK
ARMS Browser Monitoring propose des paramètres de configuration du SDK que vous pouvez définir pour répondre à des besoins supplémentaires. Le tableau suivant décrit les paramètres de configuration courants applicables aux applications mini-programmes WeChat.
| Parameter | Type | Description | Required | Default |
|
pid |
String |
The unique ID of the project. It is automatically generated by ARMS when it creates a site. |
Yes |
None |
|
uid |
String |
The ID of the user. The value is an identifier of the user and can be used to search for the user. You can specify a custom value. If you do not specify this parameter, the SDK is automatically generated and updated every six months. |
No |
Automatically generated by the SDK |
|
tag |
String |
The input tag. Each log carries a tag. |
No |
None |
|
release |
String |
The version of the application. We recommend that you configure this parameter to view the report information of different versions. |
No |
|
|
environment |
String |
The environment field. Valid values: prod, gray, pre, daily, and local.
|
No |
|
|
sample |
Integer |
The log sampling configuration. The value is an integer from 1 to 100. The performance logs and success API logs are sampled at the |
No |
|
|
behavior |
Boolean |
Specifies whether to record the user behavior that reports errors for easy troubleshooting. |
No |
|
|
enableLinkTrace |
Boolean |
For more information about back-to-back Tracing Analysis, see Diagnose API errors with front-to-back tracing. |
No |
|
ARMS Browser Monitoring propose également des paramètres de configuration SDK supplémentaires pour répondre à d'autres besoins. Pour plus d'informations, consultez les paramètres de configuration du SDK.
API d'instrumentation automatique
Le tableau suivant décrit les méthodes fournies par le SDK de surveillance des applications mini-programmes WeChat pour l'instrumentation automatique du cycle de vie.
| Method | Parameter | Parameter description | Behavior |
hookApp |
{} |
Pass the original App parameters. | Automatically instruments the App lifecycle. |
hookPage |
{} |
Pass the original Page parameters. | Automatically instruments the Page lifecycle. |
Pour utiliser hookApp et hookPage afin d'instrumenter le cycle de vie, votre application mini-programme doit respecter les spécifications standard App et Page. La couche App doit inclure
onError
, et la couche Page doit inclure
onShow
,
onHide
et
onUnload
. Pour des exemples d'utilisation, consultez l'utilisation de base.
Autres API de configuration
Le tableau suivant décrit les méthodes que vous pouvez appeler pour configurer le SDK de surveillance des applications mini-programmes WeChat et signaler des données.
| Method | Parameter | Description |
setCommonInfo |
{[key: string]: string;} |
Sets basic log fields. This method is useful in scenarios such as canary releases. |
setConfig |
{[key: string]: string;} |
Sets configuration fields. For more information, see SDK configuration parameters. |
pageShow |
{} |
Reports a Page Show event and sends PV data. |
pageHide |
{} |
Reports a Page Hide event and sends health data. |
error |
String/Object | Reports an error log. |
api |
See api method parameters. | Reports an API log. |
sum/avg |
String | Reports custom sum or average logs. |
Pour la méthode setConfig, le paramètre
uid
n'est pas pris en charge dans les applications mini-programmes. Vous pouvez utiliser
setUsername
à la place de
uid
pour identifier un utilisateur.
Cas d'utilisation avancés
Lorsque les méthodes d'instrumentation automatique décrites dans la section Utilisation de base ne répondent pas à vos besoins, utilisez l'une des configurations avancées suivantes :
-
Signalez manuellement les informations API au lieu d'utiliser l'instrumentation automatique :
Définissez disableHook sur
truepour désactiver la génération automatique de journaux pour les requêtes wx.request.Appelez manuellement la méthode api() pour signaler les informations API.
-
Désactivez l'instrumentation automatique et instrumentez vos pages manuellement :
N'utilisez pas les méthodes hookApp ou hookPage dans les fichiers JS de App et Page.
-
Pour envoyer les données PV de la page actuelle, appelez la méthode pageShow() dans la méthode onShow de la page.
RemarqueN'utilisez pas cette méthode conjointement avec
hookPage()
. Sinon, des données PV en double seront signalées.
import Monitor from '/utils/monitor'; Page({ onShow: function() { Monitor.pageShow(); } }) -
Pour envoyer les données de santé de la page actuelle, qui incluent l'état de santé de la page et le temps passé sur la page, appelez la méthode pageHide() dans les méthodes onHide et onUnload de la page.
RemarqueN'utilisez pas cette méthode conjointement avec
hookPage()
. Sinon, des données de santé en double seront signalées.
import Monitor from '/utils/monitor'; Page({ onHide: function() { Monitor.pageHide(); }, onUnload: function() { Monitor.pageHide(); } // Other lifecycle methods. })