Panduan Integrasi
Deskripsi Dukungan Pengguna Luar Negeri di Setiap Channel
| Tipe Channel | Pengguna di Luar Negeri | Pengguna di Tiongkok Daratan | Catatan |
|---|---|---|---|
| EngageLab | Didukung | Didukung | Didukung secara default oleh SDK |
| W3C | Didukung | Didukung | / |
Uji Coba Cepat
Demo integrasi dan contoh Engagelab WebPush
Persiapan Pra-Integrasi
- Siapkan nama domain layanan web https yang dapat diakses, untuk keperluan pengujian dan debugging. Web push tidak mendukung debugging lokal atau berjalan di non-https.
- Kunjungi Engagelab WebPush, atur domain situs web pada Pengaturan Integrasi -> web dan isi domain layanan web https yang telah disiapkan.

Tips
Dokumen ini adalah panduan integrasi standar untuk MTpush Web SDK.
Deskripsi
Web SDK menyediakan kerangka kerja pengembangan push untuk aplikasi web berbasis notifikasi kernel dan websocket dari browser, serta antarmuka API yang ringkas untuk memudahkan aplikasi pihak ketiga mengintegrasikan fungsi push dengan cepat. Notifikasi kernel browser mendukung browser utama seperti Edge, Chrome, Safari, Firefox, Opera, dan websocket mendukung sebagian besar browser utama.
Layanan EngageLab WebPush mendukung notifikasi push PWA. Anda perlu menggunakan Web SDK dari EngageLab WebPush untuk mengintegrasikan fungsi Web Push ke aplikasi PWA Anda dan mengikuti contoh kode pada dokumentasi untuk mendaftarkan Service Worker serta menginisialisasi Web Push. Setelah integrasi selesai, Anda dapat menggunakan API EngageLab WebPush untuk mengirim notifikasi push ke pengguna aplikasi PWA Anda.
Selengkapnya lihat dokumentasi
Skenario Utama:
Notifikasi dan pesan yang dapat dikustomisasi.
Isi Paket Terkompresi
- contoh
- Halaman web demo penggunaan dasar MTpush SDK. Dapat dijadikan referensi.
Mendapatkan Informasi Aplikasi
Buat aplikasi di konsol. Setelah aplikasi dibuat, AppKey akan otomatis dihasilkan sebagai identitas aplikasi. Info lebih lanjut: Pengaturan aplikasi.
Integrasi SDK
Kunjungi Engagelab WebPush dan unduh SDK. Konfigurasikan file sdk js seperti berikut di halaman web Anda:
<script type="text/javascript" src="./webPushSdk.min.2.1.2.js"></script>
Setelah file sdk js diintegrasikan, objek global MTpushInterface pada Window dapat digunakan.
Tips
Paket mencakup sw.xxx.js. File ini adalah service worker untuk menerima pesan.
SDK akan memuat file ini dari direktori root secara default.
Cakupan terbesar service worker adalah lokasi file worker (misal, jika skrip sw.js ada di /js/sw.js, hanya bisa mengontrol URL di bawah /js/).
Jadi, gunakan konfigurasi default sebisa mungkin dan letakkan di root situs web.
Jika harus disimpan di CDN pihak ketiga, gunakan header Service-Worker-Allowed di server untuk menentukan cakupan maksimal worker.
Inisialisasi SDK
Membuat user_str
Disarankan menggunakan fingerprint browser untuk menghasilkan user_str unik agar mencegah registrasi pengguna tidak valid:
// Dihilangkan: kode fingerprint Canvas, WebGL, dan plugin (tidak berubah)
const visitorId = getFingerprint();
console.log('user_str', visitorId);
Contoh Kode
// 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();
API Lainnya
Untuk detail penggunaan API lainnya, silakan lihat dokumentasi antarmuka: Web SDK API.
Menjalankan Demo
Contoh dalam paket adalah demo API. Anda dapat langsung menjalankannya di browser untuk pengujian.










