logoDocumentación
Buscar

API de la extensión de Chrome del Web SDK

Inicializar el SDK

Descripción de la interfaz

Para evitar una gran cantidad de usuarios no válidos, se recomienda utilizar un user_str único y consistente durante la inicialización. Se puede generar user_str en función de la huella digital del navegador.

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Descripción de parámetros

interface InitType { appkey: string; // The appkey of the application registered by the developer on the EngageLab platform. Required. user_str: string; // Unique user identifier. Required. }
              
              interface InitType {
  appkey: string; // The appkey of the application registered by the developer on the EngageLab platform. Required.
  user_str: string; // Unique user identifier. Required.
}

            
Este bloque de código se muestra en una ventana flotante

Obtener resultados

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { // SDK initialization succeeded case 'MTPUSH_INIT_SDK_SUCCESS': console.log(message.data); break; // SDK initialization failed case 'MTPUSH_INIT_SDK_FAIL': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    // SDK initialization succeeded
    case 'MTPUSH_INIT_SDK_SUCCESS':
      console.log(message.data);
      break;

    // SDK initialization failed
    case 'MTPUSH_INIT_SDK_FAIL':
      console.log(message.data);
      break;
  }
});

            
Este bloque de código se muestra en una ventana flotante

La estructura de message.data es la siguiente:

interface MessageData { code: number; // Status code. 0 indicates success, others indicate failure. Refer to error codes. message: string; // Result description. content: string; // Returns failure information when registration fails with error code 1003. }
              
              interface MessageData {
  code: number; // Status code. 0 indicates success, others indicate failure. Refer to error codes.
  message: string; // Result description.
  content: string; // Returns failure information when registration fails with error code 1003.
}

            
Este bloque de código se muestra en una ventana flotante

Si la integración de la extensión falla debido a una prueba gratuita caducada o a un plan de pago caducado para la aplicación, el proceso de inicialización se reintentará cuando se abra una nueva página o se actualice una página existente tras 4 horas.

Obtener RegistrationID

Descripción de la interfaz

No es necesario llamar manualmente a una API para obtener el regid. Tras inicializarse el SDK correctamente, se puede obtener el regid a partir de la información devuelta por el evento MTPUSH_GET_MT_INIT_INFO.

Ejemplo de llamada

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;
  }
});

            
Este bloque de código se muestra en una ventana flotante

Resultado devuelto

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;
}

            
Este bloque de código se muestra en una ventana flotante

Detener notificaciones push

Descripción de la interfaz

Se debe llamar a esta API para desconectar la conexión push persistente establecida con el backend y dejar de recibir mensajes push.

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Comprobar el estado del servicio push

Descripción de la interfaz

Recuperar la información de estado del servicio push.

Ejemplo de llamada

// Call after the SDK initializes successfully window.MTpushInterfaceExtension.getPushAuthority(); // Listen for messages to get the push service status chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_PUSH_AUTHORITY': console.log('Push service status: ', message.data); break; } });
              
              // Call after the SDK initializes successfully
window.MTpushInterfaceExtension.getPushAuthority();

// Listen for messages to get the push service status
chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_PUSH_AUTHORITY':
      console.log('Push service status: ', message.data);
      break;
  }
});

            
Este bloque de código se muestra en una ventana flotante

Resultado devuelto

{ "mtPush": { "code": 1, // 1: Success, -1: Initializing, 0: Failure "msg": "MTpush channel initialization successful!" }, "webPush": { "code": 1, // 0: Webpush unavailable (unsupported), 1: Available, 2: Unavailable "msg": "Notification available" } }
              
              {
  "mtPush": {
    "code": 1, // 1: Success, -1: Initializing, 0: Failure
    "msg": "MTpush channel initialization successful!"
  },
  "webPush": {
    "code": 1, // 0: Webpush unavailable (unsupported), 1: Available, 2: Unavailable
    "msg": "Notification available"
  }
}

            
Este bloque de código se muestra en una ventana flotante

Establecer etiquetas y alias

Descripción de la interfaz

Los desarrolladores pueden utilizar esta interfaz para establecer y eliminar etiquetas bajo un alias específico. Esta interfaz utiliza una lógica de sobrescritura. Si se configura una cadena vacía para tags, se eliminarán las etiquetas existentes.

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Descripción de parámetros

Parámetro Tipo Descripción
tags string[] Obligatorio. La longitud máxima del array es 1000. Cada elemento puede tener hasta 40 caracteres.
alias string Obligatorio. Máximo 40 caracteres.

Resultado devuelto

Escuchar mensajes para obtener el resultado de la configuración de la interfaz:

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS': console.log('Setting successful'); break; case 'MTPUSH_SET_TAGS_ALIAS_FAIL': console.log('Setting failed', message.data); // Failure information: string[] break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS':
      console.log('Setting successful');
      break;

    case 'MTPUSH_SET_TAGS_ALIAS_FAIL':
      console.log('Setting failed', message.data); // Failure information: string[]
      break;
  }
});

            
Este bloque de código se muestra en una ventana flotante

Informe de mensajes personalizados

Descripción de la interfaz

Si es necesario enviar informes de mensajes personalizados para estadísticas de datos, se debe utilizar esta interfaz de informe personalizado.

Ejemplo de llamada

window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id is the ID of the custom message
              
              window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id is the ID of the custom message

            
Este bloque de código se muestra en una ventana flotante

Callback de visualización de mensajes push

Descripción de la interfaz

Una vez completada la inicialización del SDK, se debe escuchar el evento MTPUSH_MSG_CALLBACK_DISPLAY para recibir la información de callback de visualización del mensaje push.

Ejemplo de uso

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;
  }
});

            
Este bloque de código se muestra en una ventana flotante

Descripción de parámetros

Descripción del parámetro 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: Engagelab channel message 1: System channel message }
              
              {
  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: Engagelab channel message   1: System channel message
}

            
Este bloque de código se muestra en una ventana flotante

Callback de clic de mensajes push

Descripción de la interfaz

Una vez completada la inicialización del SDK, se debe escuchar el evento MTPUSH_MSG_CALLBACK_CLICK para recibir la información de callback de clic del mensaje push.

Ejemplo de uso

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;
  }
});

            
Este bloque de código se muestra en una ventana flotante

Descripción de parámetros

{ 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; // Click position, 'msgBody' | Button ID type: string; // 0: Engagelab channel message 1: System channel message }
              
              {
  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; // Click position, 'msgBody' | Button ID
  type: string; // 0: Engagelab channel message   1: System channel message
}

            
Este bloque de código se muestra en una ventana flotante

Nota: en el canal de EngageLab, los parámetros title y content del callback de clic devolverán como máximo 30 caracteres.

Códigos de error

Código Mensaje Observaciones
0 success Llamada correcta
1000 unknown error Error desconocido
1001 initing , please try again later Inicializando; inténtelo de nuevo más tarde
1002 invalid config Configuración de inicialización no válida
1003 init failed Error de inicialización. Consulte los registros de la consola para obtener detalles.
1004 init timeout Tiempo de espera de inicialización agotado
1005 network error Error de red. Sin red o no se puede conectar a WebSocket
Icon Solid Transparent White Qiyu
Contacto