logoDocumentation
Rechercher

API de l'extension Chrome Web SDK

Initialiser le SDK

Description de l'interface

Pour éviter un grand nombre d'utilisateurs non valides, il est recommandé d'utiliser un user_str unique et cohérent lors de l'initialisation. Vous pouvez générer le user_str à partir de l'empreinte du navigateur.

Exemple d'appel

if (window.MTpushInterfaceExtension) { window.MTpushInterfaceExtension.initSdk({ appkey: '', user_str: '', }); }
              
              if (window.MTpushInterfaceExtension) {
  window.MTpushInterfaceExtension.initSdk({
    appkey: '',
    user_str: '',
  });
}

            
Afficher ce bloc de code dans la fenêtre flottante

Description des paramètres

interface InitType { appkey: string; // L'appkey de l'application enregistrée par le développeur sur la plateforme EngageLab. Obligatoire. user_str: string; // Identifiant utilisateur unique. Obligatoire. }
              
              interface InitType {
  appkey: string; // L'appkey de l'application enregistrée par le développeur sur la plateforme EngageLab. Obligatoire.
  user_str: string; // Identifiant utilisateur unique. Obligatoire.
}

            
Afficher ce bloc de code dans la fenêtre flottante

Obtenir les résultats

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { // Initialisation du SDK réussie case 'MTPUSH_INIT_SDK_SUCCESS': console.log(message.data); break; // Échec de l'initialisation du SDK case 'MTPUSH_INIT_SDK_FAIL': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    // Initialisation du SDK réussie
    case 'MTPUSH_INIT_SDK_SUCCESS':
      console.log(message.data);
      break;

    // Échec de l'initialisation du SDK
    case 'MTPUSH_INIT_SDK_FAIL':
      console.log(message.data);
      break;
  }
});

            
Afficher ce bloc de code dans la fenêtre flottante

La structure de message.data est la suivante :

interface MessageData { code: number; // Code d'état. 0 indique le succès, les autres indiquent un échec. Voir les codes d'erreur. message: string; // Description du résultat. content: string; // Retourne les informations d'échec lorsque l'inscription échoue avec le code d'erreur 1003. }
              
              interface MessageData {
  code: number; // Code d'état. 0 indique le succès, les autres indiquent un échec. Voir les codes d'erreur.
  message: string; // Description du résultat.
  content: string; // Retourne les informations d'échec lorsque l'inscription échoue avec le code d'erreur 1003.
}

            
Afficher ce bloc de code dans la fenêtre flottante

Si l'intégration de l'extension échoue en raison de l'expiration de l'essai gratuit ou de l'offre payante de l'application, le processus d'initialisation sera réessayé lors de l'ouverture d'une nouvelle page ou du rafraîchissement d'une page existante après 4 heures.

Obtenir le RegistrationID

Description de l'interface

Il n'est pas nécessaire d'appeler manuellement une API pour obtenir le regid. Après l'initialisation réussie du SDK, vous pouvez obtenir le regid à partir des informations retournées par l'événement MTPUSH_GET_MT_INIT_INFO.

Exemple d'appel

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_MT_INIT_INFO': console.log(message.data.regid); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_MT_INIT_INFO':
      console.log(message.data.regid);
      break;
  }
});

            
Afficher ce bloc de code dans la fenêtre flottante

Résultat retourné

interface MTInitInfo { website_push_id: string; code: number; master_secret: string; passwd: string; pull: number; regid: string; sess: string; tagalias: number; uid: number; vapid_pubkey: string; }
              
              interface MTInitInfo {
  website_push_id: string;
  code: number;
  master_secret: string;
  passwd: string;
  pull: number;
  regid: string;
  sess: string;
  tagalias: number;
  uid: number;
  vapid_pubkey: string;
}

            
Afficher ce bloc de code dans la fenêtre flottante

Arrêter les notifications push

Description de l'interface

Appelez cette API pour déconnecter la connexion push persistante établie avec le backend et arrêter de recevoir des messages push.

Exemple d'appel

window.MTpushInterfaceExtension.stopPush();
              
              window.MTpushInterfaceExtension.stopPush();

            
Afficher ce bloc de code dans la fenêtre flottante

Vérifier l'état du service push

Description de l'interface

Récupérez les informations d'état du service de notifications push.

Exemple d'appel

// À appeler après l'initialisation réussie du SDK window.MTpushInterfaceExtension.getPushAuthority(); // Écoutez les messages pour obtenir l'état du service push chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_PUSH_AUTHORITY': console.log('Statut du service push : ', message.data); break; } });
              
              // À appeler après l'initialisation réussie du SDK
window.MTpushInterfaceExtension.getPushAuthority();

// Écoutez les messages pour obtenir l'état du service push
chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_PUSH_AUTHORITY':
      console.log('Statut du service push : ', message.data);
      break;
  }
});

            
Afficher ce bloc de code dans la fenêtre flottante

Résultat retourné

{ "mtPush": { "code": 1, // 1 : Succès, -1 : Initialisation en cours, 0 : Échec "msg": "Initialisation du canal MTpush réussie !" }, "webPush": { "code": 1, // 0 : Webpush non disponible (non supporté), 1 : Disponible, 2 : Indisponible "msg": "Notification disponible" } }
              
              {
  "mtPush": {
    "code": 1, // 1 : Succès, -1 : Initialisation en cours, 0 : Échec
    "msg": "Initialisation du canal MTpush réussie !"
  },
  "webPush": {
    "code": 1, // 0 : Webpush non disponible (non supporté), 1 : Disponible, 2 : Indisponible
    "msg": "Notification disponible"
  }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Définir les tags et alias

Description de l'interface

Les développeurs peuvent utiliser cette interface pour définir et supprimer des tags sous un alias spécifique. Cette interface utilise une logique d'écrasement. Définir une chaîne vide pour les tags supprimera les tags existants.

Exemple d'appel

window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });
              
              window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });

            
Afficher ce bloc de code dans la fenêtre flottante

Description des paramètres

Paramètre Type Description
tags string[] Obligatoire. Longueur maximale du tableau : 1000. Chaque élément peut contenir jusqu'à 40 caractères.
alias string Obligatoire. 40 caractères maximum.

Résultat retourné

Écoutez les messages pour obtenir le résultat de la configuration de l'interface :

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS': console.log('Configuration réussie'); break; case 'MTPUSH_SET_TAGS_ALIAS_FAIL': console.log('Échec de la configuration', message.data); // Informations d'échec : string[] break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS':
      console.log('Configuration réussie');
      break;

    case 'MTPUSH_SET_TAGS_ALIAS_FAIL':
      console.log('Échec de la configuration', message.data); // Informations d'échec : string[]
      break;
  }
});

            
Afficher ce bloc de code dans la fenêtre flottante

Rapport de message personnalisé

Description de l'interface

Si vous devez signaler des messages personnalisés à des fins de statistiques, utilisez cette interface de rapport personnalisé.

Exemple d'appel

window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id est l'ID du message personnalisé
              
              window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id est l'ID du message personnalisé

            
Afficher ce bloc de code dans la fenêtre flottante

Callback d'affichage des messages push

Description de l'interface

Après l'initialisation du SDK, écoutez l'événement MTPUSH_MSG_CALLBACK_DISPLAY pour recevoir les informations de callback d'affichage des messages push.

Exemple d'utilisation

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_MSG_CALLBACK_DISPLAY': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_MSG_CALLBACK_DISPLAY': 
      console.log(message.data);
      break;
  }
});

            
Afficher ce bloc de code dans la fenêtre flottante

Description des paramètres

Description du paramètre de callback message.data :

{ title: string; content: string; msg_id: string; ntf_or_msg: number; engagelab_appkey: string; engagelab_passwd: string; engagelab_uid: string; engagelab_url: string; type: string; // 0 : message du canal Engagelab 1 : message du canal système }
              
              {
  title: string;
  content: string;
  msg_id: string;
  ntf_or_msg: number;
  engagelab_appkey: string;
  engagelab_passwd: string;
  engagelab_uid: string;
  engagelab_url: string;
  type: string; // 0 : message du canal Engagelab   1 : message du canal système
}

            
Afficher ce bloc de code dans la fenêtre flottante

Callback de clic sur un message push

Description de l'interface

Après l'initialisation du SDK, écoutez l'événement MTPUSH_MSG_CALLBACK_CLICK pour recevoir les informations de callback de clic sur les messages push.

Exemple d'utilisation

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_MSG_CALLBACK_CLICK': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_MSG_CALLBACK_CLICK': 
      console.log(message.data);
      break;
  }
});

            
Afficher ce bloc de code dans la fenêtre flottante

Description des paramètres

{ title: string; content: string; msg_id: string; ntf_or_msg: number; engagelab_appkey: string; engagelab_passwd: string; engagelab_uid: string; engagelab_url: string; position: string; // Position du clic, 'msgBody' | ID du bouton type: string; // 0 : message du canal Engagelab 1 : message du canal système }
              
              {
  title: string;
  content: string;
  msg_id: string;
  ntf_or_msg: number;
  engagelab_appkey: string;
  engagelab_passwd: string;
  engagelab_uid: string;
  engagelab_url: string;
  position: string; // Position du clic, 'msgBody' | ID du bouton
  type: string; // 0 : message du canal Engagelab   1 : message du canal système
}

            
Afficher ce bloc de code dans la fenêtre flottante

Remarque : Sous le canal EngageLab, les paramètres title et content dans le callback de clic retourneront au maximum 30 caractères.

Codes d'erreur

Code Message Remarques
0 success Appel réussi
1000 unknown error Erreur inconnue
1001 initing , please try again later Initialisation en cours, veuillez réessayer plus tard
1002 invalid config Configuration d'initialisation invalide
1003 init failed Échec de l'initialisation. Consultez les logs de la console pour plus de détails.
1004 init timeout Délai d'initialisation dépassé
1005 network error Erreur réseau. Pas de réseau ou impossible de se connecter au WebSocket
icon
Contactez-nous