Notiblast
HomeApp
HomeApp
  1. Push
  • API Key & Izin
  • Email
    • 1. Alur Email
    • 2. Domain & DNS
    • 3. Kirim Email
    • 4. Status Email
    • Messages
      • List Messages
      • Export Messages (CSV)
      • Detail Message
    • Send Email
      POST
  • Whatsapp
    • 1. Alur WhatsApp
    • 2. Hubungkan Nomor
    • 3. Setelah Nomor Terhubung
    • 4. Template Pesan
    • 5. Syarat Template Authentication
    • 6. Verifikasi Bisnis Meta
    • 7. Kirim & Status Pesan
    • Messages
      • List Messages
      • Detail Message
      • Export Messages (CSV)
    • Send WhatsApp
      POST
  • Reports
    • Overview (Dasbor)
      GET
    • Email Monitoring
      GET
    • WhatsApp Monitoring
      GET
    • Push Notification Monitoring
      GET
    • Deliverability Summary
      GET
  • Push
    • 1. Alur Push Notification
    • 2. Aplikasi Push & Firebase
    • 3. Pasang SDK
    • 4. List Penerima
    • 5. Kirim & Hasil Push
    • Devices
      • Register Device
      • Release Device
    • Messages
      • List Push Messages
      • Get Push Message
    • Lists
      • List Push Lists
      • List Push List Members
      • Add Push List Members
      • Remove Push List Members
    • Send Push Notification
      POST
  • Api Logs
    • List API Logs
    • Detail API Log
  • Webhooks
    • Webhook Events (Notiblast → Endpoint Anda)
  1. Push

3. Pasang SDK

Pasang SDK#

Perangkat didaftarkan oleh SDK NotiBlast yang Anda pasang di aplikasi. Pilih sesuai platform:
PlatformSDK
Web (React, Vue, Angular, Svelte, dll.)@notiblast/web
Android & iOS (Flutter)notiblast_sdk
Kedua SDK memakai id aplikasi push dari dasbor (Push Apps, detail aplikasi) sebagai appId.

Web#

npx notiblast init menyalin service worker ke folder publik Anda. File ini harus bisa diakses di root situs: https://situs-anda.com/notiblast-sw.js.
import { init, promptAndSubscribe, subscribe, identify, unsubscribe, permission } from '@notiblast/web'

// sekali, saat aplikasi dimuat
init({
  appId: 'APP_ID_DARI_DASBOR',
  firebase: { apiKey: '…', projectId: '…', messagingSenderId: '…', appId: '…' },
  vapidKey: 'WEB_PUSH_CERTIFICATE',
  externalUserId: user?.id, // biarkan undefined bila belum ada yang login
})

// di balik tombol, jangan saat halaman dimuat
const { outcome } = await promptAndSubscribe()
firebase dan vapidKey diambil dari project Firebase Anda: Project settings, General, Your apps, Web app untuk config; Cloud Messaging, Web Push certificates untuk key.
KapanPanggil
Setiap aplikasi dimuat, bila permission() bukan 'default'subscribe()
User loginidentify(user.id)
User logoutidentify(null)
User mematikan notifikasiunsubscribe()
Hal yang perlu dijaga:
Minta izin lewat tombol, jangan saat halaman dimuat. Browser hanya mengizinkan dialog izinnya muncul sekali.
externalUserId: null melepas ikatan user. Untuk pengunjung yang belum login, biarkan undefined.
Salin ulang service worker setelah npm update. Tambahkan "prebuild": "notiblast check" supaya build gagal bila salinannya tertinggal.
Di iOS, web push hanya berjalan setelah situs ditambahkan ke Home Screen. Cek dengan await isSupported().

Flutter#

Pasang paket notiblast_sdk sesuai petunjuk di halaman paketnya. Lalu siapkan Firebase di project Anda:
Android: google-services.json di android/app/, plugin com.google.gms.google-services, minSdk 21 ke atas.
iOS: GoogleService-Info.plist ditambahkan lewat Xcode, capability Push Notifications dan Background Modes (Remote notifications), serta APNs key (.p8) diunggah ke Firebase.
KapanPanggil
Setiap aplikasi dibuka, user sudah loginrequestPermission() lalu login(userId)
User logoutlogout()
User mematikan notifikasiNotifications.optOut()
User menyalakan lagi notifikasiNotifications.optIn()
Berlangganan topicNotifications.subscribeTopic('promo')
Hal yang perlu dijaga:
Panggil login() setiap aplikasi dibuka. Tanpanya, notifikasi untuk user itu tidak ditangani pada sesi tersebut.
logout() melepas ikatan user, tetapi perangkat tetap menerima kiriman ke semua perangkat. Untuk menghentikan semuanya, panggil juga optOut().
Simpan sendiri preferensi opt-out user, lalu panggil optOut() lagi setelah login() setiap aplikasi dibuka.
Notifikasi di latar depan hanya masuk ke addForegroundListener. Panggil notification.showNotification() untuk menampilkannya.

User id#

Nilai yang Anda berikan ke identify() (web) atau login() (Flutter) adalah external_id. Nilai ini dipakai server Anda saat mengirim ke user tertentu dan saat mengisi List Penerima.
Modified at 2026-10-21 05:05:14
Previous
2. Aplikasi Push & Firebase
Next
4. List Penerima
Built with