Guía de integración
Descripción de compatibilidad para usuarios en el extranjero de cada canal
| Tipo de canal | Usuarios en otras regiones | Usuarios de China continental | Nota |
|---|---|---|---|
| EngageLab | Compatible | Compatible | Compatible de forma predeterminada por el SDK |
| W3C | Compatible | Compatible | / |
Prueba rápida
Demostración de integración y ejemplos de EngageLab WebPush
Preparación previa a la integración
- Preparar un nombre de dominio para un servicio web HTTPS accesible donde se realizarán las pruebas y la depuración. Web Push no admite la depuración local ni el funcionamiento bajo un entorno que no sea HTTPS.
- Visitar EngageLab WebPush, configurar el dominio del sitio web en Integration Settings -> Web y completar el dominio del servicio web HTTPS preparado.

Consejos
Este artículo es un documento de guía de integración estándar para el Web SDK de MTpush.
Descripción
El Web SDK proporciona un marco de desarrollo push para aplicaciones web basado en las notificaciones del motor del navegador y WebSocket de cada navegador, y ofrece una interfaz API concisa para facilitar que aplicaciones de terceros integren rápidamente funciones push. Las notificaciones del motor del navegador son compatibles con navegadores convencionales como Edge, Chrome, Safari, Firefox y Opera; WebSocket es compatible con la mayoría de los navegadores principales.
El servicio EngageLab WebPush es compatible con notificaciones push de PWA. Debe utilizar el Web SDK proporcionado por EngageLab WebPush para integrar la funcionalidad Web Push en su aplicación PWA y seguir el código de ejemplo proporcionado en la documentación para registrar el Service Worker e inicializar la funcionalidad Web Push. Una vez completada la integración, se puede utilizar la API de EngageLab WebPush para enviar notificaciones push a los usuarios de su aplicación PWA.
Consultar la documentación para más detalles
Escenarios principales
Notificaciones y mensajes personalizados.
Contenido integrado del paquete comprimido
example- Esta es una página web que demuestra el uso básico del SDK de MTpush. Se puede utilizar como referencia.
Obtención de información de la aplicación
Crear una aplicación en la consola. Tras crear la aplicación, se genera automáticamente un AppKey para identificarla. Para más información, consultar Configuración de la aplicación.
Integrar el SDK
Visitar EngageLab WebPush y descargar el SDK. Configurar el archivo JS del SDK en la página web como se indica a continuación:
<script type="text/javascript" src="./webPushSdk.min.2.1.2.js"></script>
Tras integrar el archivo JS del SDK, se puede utilizar el objeto global MTpushInterface en window.
Consejos
The package includes sw.xxx.js. This file is a service worker file and is used to receive messages.
The SDK will load this file from the root directory by default.
The largest scope of service worker is the location of the worker (in other words, if the script sw.js is located in /js/sw.js, it can only control the URL under /js/ by default).
So please use the default configuration as much as possible and place it in the root directory of the website.
If there are special circumstances and it is stored in a third-party CDN, please use the Service-Worker-Allowed header on the server side to specify the maximum scope of the worker.
Inicialización del SDK
Generar user_str
Se recomienda utilizar la huella digital del navegador para generar un user_str único y evitar registros de usuarios no válidos:
// Omitted: Canvas, WebGL, and plugin fingerprint collection code (unchanged)
const visitorId = getFingerprint();
console.log('user_str', visitorId);
Código de ejemplo
// Register event listeners before initialization.
// Callback when the Aurora channel disconnects.
MTpushInterface.mtPush.onDisconnect(function () {
console.log("onDisconnect");
});
// Receive push messages (Web Push and browser vendor channels).
MTpushInterface.onMsgReceive((msgData) => {
// msgData structure: { data: { xxx }, type: 0 }; type 0 is the Aurora channel, and type 1 is the system channel.
console.log("Received push message:", msgData);
});
function initWebPush() {
const appkey = "your_appkey";
const userStr = visitorId;
if (!(appkey && userStr)) {
console.log("appkey and user_str cannot be empty");
return;
}
// Push initialization.
MTpushInterface.init({
appkey: appkey,
user_str: userStr,
fail(data) {
console.log("Online push setup failed", data);
},
success(data) {
console.log("Online push setup successful", data);
},
webPushcallback(code, tip) {
console.log("Status code and message", code, tip);
},
canGetInfo(data) {
// RegId is available here, and initialization config data can also be read from data.
console.log("Initialization config", data);
console.log("Obtained RegId", MTpushInterface.getRegistrationID());
},
custom: (requestPermission) => {
// For custom prompt settings, call requestPermission during an appropriate user action to request notification permission.
document.getElementById("subscribe")?.addEventListener("click", () => {
if (Notification.permission === "default") {
requestPermission();
} else if (Notification.permission === "denied") {
console.log("Notification permission is denied and cannot be requested");
} else {
console.log("Notification permission has already been granted");
}
});
},
});
}
initWebPush();
Más API
Para más información sobre cómo utilizar otras API, consultar la documentación de interfaces: API del Web SDK.
Ejecutar la demo
El ejemplo incluido en el paquete es una demo de la API. Se puede ejecutar directamente en el navegador para realizar pruebas.










