Panduan Integrasi SDK Web Push untuk Toko Shopify
Ringkasan
Panduan ini menjelaskan cara mengintegrasikan SDK Web Push ke toko berbasis Shopify untuk mengaktifkan notifikasi push browser.
Prasyarat
- Akses admin toko Shopify
- File SDK Web Push (webSdk.produce.min.3.3.4.js, sw.produce.min.3.3.4.js)
- Dasar pengeditan tema Shopify
Langkah integrasi
Tambah melalui editor tema Shopify (disarankan)
1. Unggah file SDK ke Shopify
- Masuk ke admin Shopify
- Buka Toko Online > Tema
- Pada tema yang dipakai, klik Tindakan > Edit kode
- Di folder Aset, klik Tambah aset baru
- Unggah
webSdk.produce.min.3.3.4.js(file SDK utama) - Unggah
sw.produce.min.3.3.4.js(file Service Worker untuk push) - Catat URL aset (mis.
{{ 'webSdk.produce.min.3.3.4.js' | asset_url }}dan{{ 'sw.produce.min.3.3.4.js' | asset_url }})
Penting:
sw.produce.min.3.3.4.jsadalah file Service Worker yang menangani pesan push di latar belakang. Path-nya harus dikonfigurasi dengan benar saat inisialisasi SDK.
2. Tambah skrip SDK dan inisialisasi
- Di editor tema, buka file
theme.liquid - Tambahkan kode berikut sebelum tag
</head>:
<script>
(function() {
function initializeSDK() {
const visitorId = getFingerprint();
if (typeof window.MTpushInterface !== 'undefined') {
MTpushInterface.mtPush.onDisconnect(function () {
console.log("onDisconnect");
});
MTpushInterface.onMsgReceive((msgData) => {
console.log("Pesan push diterima:", msgData);
});
MTpushInterface.init({
appkey: "",
user_str: visitorId,
fail(err) {
console.log("Inisialisasi push gagal", err);
},
success(data) {
console.log("Inisialisasi push berhasil", data);
},
webPushcallback(code, tip) {
console.log("Kode dan pesan", code, tip);
},
swUrl: '{{ "sw.produce.min.3.3.4.js" | asset_url }}',
});
}
}
window.MTpushInterfaceReady = initializeSDK;
})();
</script>
{{ 'webSdk.produce.min.3.3.4.js' | asset_url | script_tag }}
<script>
(function() {
function initializeSDK() {
const visitorId = getFingerprint();
if (typeof window.MTpushInterface !== 'undefined') {
MTpushInterface.mtPush.onDisconnect(function () {
console.log("onDisconnect");
});
MTpushInterface.onMsgReceive((msgData) => {
console.log("Pesan push diterima:", msgData);
});
MTpushInterface.init({
appkey: "",
user_str: visitorId,
fail(err) {
console.log("Inisialisasi push gagal", err);
},
success(data) {
console.log("Inisialisasi push berhasil", data);
},
webPushcallback(code, tip) {
console.log("Kode dan pesan", code, tip);
},
swUrl: '{{ "sw.produce.min.3.3.4.js" | asset_url }}',
});
}
}
window.MTpushInterfaceReady = initializeSDK;
})();
</script>
{{ 'webSdk.produce.min.3.3.4.js' | asset_url | script_tag }}
Tampilkan blok kode ini di jendela mengambang
Verifikasi
1. Cek apakah SDK ter-load
- Buka halaman toko
- Klik kanan > Periksa atau F12
- Di Konsol, cek pesan muat SDK
- Ketik
window.MTpushInterfaceuntuk memastikan terdefinisi
2. Uji push
- Situs harus diakses lewat HTTPS (wajib untuk web push)
- Cek apakah browser menampilkan permintaan izin push (jika diaktifkan)
3. Cek registrasi Service Worker
- Buka DevTools (F12)
- Tab Application
- Di sisi kiri, Service Workers
- Pastikan
sw.produce.min.3.3.4.jsterdaftar - Jika ada error, cek Konsol
Pemecahan masalah
Masalah umum dan solusi
Q1: SDK tidak ter-load
- Path: Pastikan
asset_urlbenar - Jaringan: Pastikan file JS terunduh
- Aset: File tersedia di Aset Shopify
Q2: Inisialisasi gagal
- Urutan: Skrip SDK harus dijalankan sebelum kode init
- HTTPS: Web push hanya di HTTPS
- Browser: Cek dukungan web push
- swUrl: Set dengan benar dan pastikan file SW dapat diakses
- Aset: Pastikan
sw.produce.min.3.3.4.jsdiunggah di Aset
Q4: Registrasi Service Worker gagal
- swUrl: Gunakan
{{ 'sw.produce.min.3.3.4.js' | asset_url }}untuk URL yang benar - Akses: Buka URL Service Worker di browser dan pastikan file terunduh
- Application > Service Workers: Cek status registrasi
- HTTPS: Service Worker memerlukan HTTPS (kecuali localhost)
