logoDokumen
Cari

API Ekstensi Chrome Web SDK

Inisialisasi SDK

Deskripsi Antarmuka

Untuk mencegah banyaknya pengguna tidak valid, disarankan menggunakan user_str yang unik dan konsisten saat inisialisasi. Anda dapat menghasilkan user_str berdasarkan sidik jari browser.

Contoh Pemanggilan

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

            
Tampilkan blok kode ini di jendela mengambang

Deskripsi Parameter

interface InitType { appkey: string; // Appkey aplikasi yang didaftarkan developer di platform EngageLab. Wajib diisi. user_str: string; // Pengidentifikasi pengguna yang unik. Wajib diisi. }
              
              interface InitType {
  appkey: string; // Appkey aplikasi yang didaftarkan developer di platform EngageLab. Wajib diisi.
  user_str: string; // Pengidentifikasi pengguna yang unik. Wajib diisi.
}

            
Tampilkan blok kode ini di jendela mengambang

Mendapatkan Hasil

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

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

            
Tampilkan blok kode ini di jendela mengambang

Struktur message.data adalah sebagai berikut:

interface MessageData { code: number; // Kode status. 0 berarti sukses, selain itu gagal. Lihat kode error. message: string; // Deskripsi hasil. content: string; // Mengembalikan informasi kegagalan jika pendaftaran gagal dengan kode error 1003. }
              
              interface MessageData {
  code: number; // Kode status. 0 berarti sukses, selain itu gagal. Lihat kode error.
  message: string; // Deskripsi hasil.
  content: string; // Mengembalikan informasi kegagalan jika pendaftaran gagal dengan kode error 1003.
}

            
Tampilkan blok kode ini di jendela mengambang

Jika integrasi ekstensi gagal karena masa percobaan gratis atau paket berbayar aplikasi telah habis, proses inisialisasi akan dicoba ulang ketika halaman baru dibuka atau halaman yang ada di-refresh setelah 4 jam.

Mendapatkan RegistrationID

Deskripsi Antarmuka

Tidak perlu memanggil API secara manual untuk mendapatkan regid. Setelah SDK berhasil diinisialisasi, Anda dapat memperoleh regid dari informasi yang dikembalikan oleh event MTPUSH_GET_MT_INIT_INFO.

Contoh Pemanggilan

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

            
Tampilkan blok kode ini di jendela mengambang

Hasil Pengembalian

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

            
Tampilkan blok kode ini di jendela mengambang

Menghentikan Notifikasi Push

Deskripsi Antarmuka

Panggil API ini untuk memutus koneksi push yang terhubung secara terus-menerus ke backend dan menghentikan penerimaan pesan push.

Contoh Pemanggilan

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

            
Tampilkan blok kode ini di jendela mengambang

Memeriksa Status Layanan Push

Deskripsi Antarmuka

Ambil informasi status layanan push.

Contoh Pemanggilan

// Panggil setelah SDK berhasil diinisialisasi window.MTpushInterfaceExtension.getPushAuthority(); // Dengarkan pesan untuk mendapatkan status layanan push chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_PUSH_AUTHORITY': console.log('Status layanan push: ', message.data); break; } });
              
              // Panggil setelah SDK berhasil diinisialisasi
window.MTpushInterfaceExtension.getPushAuthority();

// Dengarkan pesan untuk mendapatkan status layanan push
chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_PUSH_AUTHORITY':
      console.log('Status layanan push: ', message.data);
      break;
  }
});

            
Tampilkan blok kode ini di jendela mengambang

Hasil Pengembalian

{ "mtPush": { "code": 1, // 1: Sukses, -1: Sedang inisialisasi, 0: Gagal "msg": "Inisialisasi channel MTpush berhasil!" }, "webPush": { "code": 1, // 0: Webpush tidak tersedia (tidak didukung), 1: Tersedia, 2: Tidak tersedia "msg": "Notifikasi tersedia" } }
              
              {
  "mtPush": {
    "code": 1, // 1: Sukses, -1: Sedang inisialisasi, 0: Gagal
    "msg": "Inisialisasi channel MTpush berhasil!"
  },
  "webPush": {
    "code": 1, // 0: Webpush tidak tersedia (tidak didukung), 1: Tersedia, 2: Tidak tersedia
    "msg": "Notifikasi tersedia"
  }
}

            
Tampilkan blok kode ini di jendela mengambang

Mengatur Tag dan Alias

Deskripsi Antarmuka

Developer dapat menggunakan antarmuka ini untuk mengatur dan menghapus tag pada alias tertentu. Antarmuka ini menggunakan logika overwrite. Mengatur tag dengan string kosong akan menghapus tag yang ada.

Contoh Pemanggilan

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

            
Tampilkan blok kode ini di jendela mengambang

Deskripsi Parameter

Parameter Tipe Deskripsi
tags string[] Wajib diisi. Maksimal panjang array 1000. Setiap elemen maksimal 40 karakter.
alias string Wajib diisi. Maksimal 40 karakter.

Hasil Pengembalian

Dengarkan pesan untuk mendapatkan hasil pengaturan antarmuka:

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS': console.log('Pengaturan berhasil'); break; case 'MTPUSH_SET_TAGS_ALIAS_FAIL': console.log('Pengaturan gagal', message.data); // Informasi kegagalan: string[] break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS':
      console.log('Pengaturan berhasil');
      break;

    case 'MTPUSH_SET_TAGS_ALIAS_FAIL':
      console.log('Pengaturan gagal', message.data); // Informasi kegagalan: string[]
      break;
  }
});

            
Tampilkan blok kode ini di jendela mengambang

Pelaporan Pesan Kustom

Deskripsi Antarmuka

Jika Anda perlu melaporkan pesan kustom untuk statistik data, gunakan antarmuka pelaporan kustom ini.

Contoh Pemanggilan

window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id adalah ID pesan kustom
              
              window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id adalah ID pesan kustom

            
Tampilkan blok kode ini di jendela mengambang

Callback Tampilan Pesan Push

Deskripsi Antarmuka

Setelah inisialisasi SDK selesai, dengarkan event MTPUSH_MSG_CALLBACK_DISPLAY untuk menerima informasi callback tampilan pesan push.

Contoh Penggunaan

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

            
Tampilkan blok kode ini di jendela mengambang

Deskripsi Parameter

Penjelasan parameter 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: Pesan channel Engagelab 1: Pesan channel sistem }
              
              {
  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: Pesan channel Engagelab   1: Pesan channel sistem
}

            
Tampilkan blok kode ini di jendela mengambang

Callback Klik Pesan Push

Deskripsi Antarmuka

Setelah inisialisasi SDK selesai, dengarkan event MTPUSH_MSG_CALLBACK_CLICK untuk menerima informasi callback klik pesan push.

Contoh Penggunaan

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

            
Tampilkan blok kode ini di jendela mengambang

Deskripsi Parameter

{ 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; // Posisi klik, 'msgBody' | ID tombol type: string; // 0: Pesan channel Engagelab 1: Pesan channel sistem }
              
              {
  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; // Posisi klik, 'msgBody' | ID tombol
  type: string; // 0: Pesan channel Engagelab   1: Pesan channel sistem
}

            
Tampilkan blok kode ini di jendela mengambang

Catatan: Pada channel EngageLab, parameter title dan content pada callback klik akan mengembalikan maksimal 30 karakter.

Kode Error

Kode Pesan Keterangan
0 success Pemanggilan berhasil
1000 unknown error Error tidak diketahui
1001 initing , please try again later Sedang inisialisasi, silakan coba lagi nanti
1002 invalid config Konfigurasi inisialisasi tidak valid
1003 init failed Inisialisasi gagal. Periksa log konsol untuk detail.
1004 init timeout Waktu inisialisasi habis
1005 network error Error jaringan. Tidak ada jaringan atau tidak dapat terhubung ke WebSocket
icon
Hubungi Sales