SDK API

API Pengaturan Mode Debug (setDebug)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Panggil di AbilityStage(#onCreate)
  • Panggil sebelum init
  • Opsional

Definisi API

/** * Pengaturan debug log, default false * @param debug true untuk debug, false untuk non-debug */ setDebug(debug: boolean)
              
              /**
 * Pengaturan debug log, default false
 * @param debug true untuk debug, false untuk non-debug
 */
setDebug(debug: boolean)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.setDebug(true) // Aktifkan debug
              
              EPushInterface.setDebug(true) // Aktifkan debug

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • Jika debug bernilai true, log level debug akan dicetak. Jika false, hanya log level warning ke atas yang dicetak.

Konfigurasi EngageLab Appkey (setAppKey)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Panggil di AbilityStage(#onCreate)
  • Panggil sebelum init
  • Wajib

Definisi API

/** * Mengatur appkey * @param appKey appkey dari platform */ setAppKey(appKey: string)
              
              /**
 * Mengatur appkey
 * @param appKey appkey dari platform
 */
setAppKey(appKey: string)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.setAppKey("appKey_anda")
              
              EPushInterface.setAppKey("appKey_anda")

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • appKey harus didapat dari konsol EngageLab.

Konfigurasi Channel Unduhan (setChannel)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Konfigurasi channel (saluran unduhan paket aplikasi) secara dinamis.

  • Channel menunjukkan saluran unduhan paket aplikasi, untuk statistik per channel, nilai spesifik dapat Anda tentukan sendiri, seperti Huawei App Market, dll.
  • Panggil di AbilityStage(#onCreate)
  • Panggil sebelum init
  • Wajib

Definisi API

/** * Konfigurasi channel * @param channel Nama channel */ setChannel(channel: string)
              
              /**
 * Konfigurasi channel
 * @param channel Nama channel
 */
setChannel(channel: string)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.setChannel("Nama_Channel")
              
              EPushInterface.setChannel("Nama_Channel")

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • channel dapat dikustomisasi sesuai kebutuhan bisnis Anda.

Konfigurasi Jumlah Cache Pesan Kustom (setCustomMessageMaxCacheCount)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

API ini digunakan untuk push pesan kustom EngageLab (tidak berlaku untuk pesan notifikasi), untuk skenario bisnis aplikasi tertentu; misal: jika server Anda mengirimkan 100 pesan kustom ke pengguna tertentu, berdasarkan karakteristik atau performa bisnis Anda, Anda hanya ingin memproses dan menyimpan 10 pesan terbaru, maka Anda dapat menggunakan API ini.

  • Panggil di AbilityStage(#onCreate)
  • Panggil sebelum init

Definisi API

/** * Konfigurasi jumlah cache pesan backend kustom * @param maxCacheCount Jumlah cache */ setCustomMessageMaxCacheCount(maxCacheCount: number)
              
              /**
 * Konfigurasi jumlah cache pesan backend kustom
 * @param maxCacheCount Jumlah cache
 */
setCustomMessageMaxCacheCount(maxCacheCount: number)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.setCustomMessageMaxCacheCount(2)
              
              EPushInterface.setCustomMessageMaxCacheCount(2)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • maxCacheCount jumlah pesan yang akan disimpan di cache

Pengaturan Cara Permohonan Izin Notifikasi (setUserRequestNotificationPermission)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Mengatur apakah pengembang sendiri yang memanggil permohonan izin notifikasi. Jika diatur ke true, EngageLabSDK tidak akan otomatis meminta izin notifikasi, pengembang harus meminta izin notifikasi secara manual di kode mereka; jika diatur ke false, EngageLabSDK akan otomatis meminta izin notifikasi saat inisialisasi.

  • Panggil di AbilityStage(#onCreate)
  • Panggil sebelum init
  • Opsional

Definisi API

/** * Mengatur apakah pengguna sendiri yang memanggil permohonan izin notifikasi * @param applicationContext Konteks aplikasi * @param enable true: pengguna sendiri yang memanggil izin notifikasi, false: SDK yang memanggil izin notifikasi (default) */ setUserRequestNotificationPermission(applicationContext: common.ApplicationContext, enable: boolean)
              
              /**
 * Mengatur apakah pengguna sendiri yang memanggil permohonan izin notifikasi
 * @param applicationContext Konteks aplikasi
 * @param enable true: pengguna sendiri yang memanggil izin notifikasi, false: SDK yang memanggil izin notifikasi (default)
 */
setUserRequestNotificationPermission(applicationContext: common.ApplicationContext, enable: boolean)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

// Pengguna sendiri yang memanggil izin notifikasi EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true) // SDK yang memanggil izin notifikasi (default) EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)
              
              // Pengguna sendiri yang memanggil izin notifikasi
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true)

// SDK yang memanggil izin notifikasi (default)
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • enable true berarti pengembang sendiri yang meminta izin notifikasi, false berarti EngageLabSDK yang meminta izin notifikasi (default)

API Mengaktifkan Fitur Push (init)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Layanan push EngageLab, setelah memanggil API ini, layanan push Engagelab akan diaktifkan dan mulai mengumpulkan serta melaporkan informasi pribadi pengguna yang diperlukan untuk fungsi bisnis SDK.

  • Panggil saat aplikasi dijalankan

Definisi API

/** * Mengaktifkan fitur push * @param context Konteks */ init(context: common.UIAbilityContext | common.AbilityStageContext)
              
              /**
 * Mengaktifkan fitur push
 * @param context Konteks
 */
init(context: common.UIAbilityContext | common.AbilityStageContext)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.init(this.context)
              
              EPushInterface.init(this.context)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • context Pada AbilityStage gunakan common.AbilityStageContext, pada UIAbility gunakan common.UIAbilityContext

Penjelasan Penggunaan API

  • Jika pengembang secara aktif memanggil metode init, layanan push Engagelab akan diaktifkan.
  • Untuk kepatuhan aplikasi, pengembang wajib memanggil API ini setelah pengguna aplikasi menyetujui kebijakan privasi dan pengembang memastikan akan mulai menyediakan layanan push kepada pengguna aplikasi.
  • Untuk saran dan penjelasan kebijakan privasi aplikasi, silakan lihat Cara Menyusun Kebijakan Privasi yang Sesuai.

Mendapatkan RegistrationID (getRegistrationId)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Silakan init terlebih dahulu, jika tidak panggilan tidak berlaku

Definisi API

/** * Mengembalikan rid yang terdaftar */ getRegistrationId(): string
              
              /**
 * Mengembalikan rid yang terdaftar
 */
getRegistrationId(): string

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

let rid = EPushInterface.getRegistrationId()
              
              let rid = EPushInterface.getRegistrationId()

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • Tidak ada

Menghapus Token (clearToken)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Menghapus token push perangkat saat ini, digunakan untuk mendaftar ulang dan mendapatkan token baru.

  • Silakan init terlebih dahulu, jika tidak panggilan tidak berlaku

Definisi API

/** * Menghapus token */ clearToken()
              
              /**
 * Menghapus token
 */
clearToken()

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.clearToken()
              
              EPushInterface.clearToken()

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • Tidak ada

Mengatur Callback (setCallBackMsg)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

API ini digunakan untuk menerima data dari SDK, seperti: hasil registrasi, hasil login, hasil klik notifikasi, hasil operasi pengaturan tag/alias, dan lain-lain. Kelas penerima harus mengimplementasikan interface CallBackMsg, fungsi CallBackMsg dapat dilihat pada contoh kode.

  • Panggil di AbilityStage(#onCreate)
  • Panggil sebelum init
  • Wajib

Definisi API

/** * Memantau event callback dan data * @param callBackMsg */ setCallBackMsg(callBackMsg: CallBackMsg)
              
              /**
 * Memantau event callback dan data
 * @param callBackMsg 
 */
setCallBackMsg(callBackMsg: CallBackMsg)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

// ...lihat kode lengkap pada dokumen utama... EPushInterface.setCallBackMsg(new MyCallBackMsg(this.context))
              
              // ...lihat kode lengkap pada dokumen utama...
EPushInterface.setCallBackMsg(new MyCallBackMsg(this.context))

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • callBackMsg: Kelas penerima callback data SDK, harus mewarisi interface CallBackMsg

Detail Metode Callback

Lihat detail callback pada dokumen utama di atas.

Penerimaan Data Redirect Notifikasi (setClickWant)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Agar dapat menerima data callback yang sesuai setelah notifikasi diklik. Pada halaman redirect notifikasi UIAbility, panggil di onCreate atau onNewWant: masukkan want. Kemudian data akan dikembalikan melalui metode onClickMessage pada kelas CallBackMsg yang sudah diatur di atas.

  • Silakan setAppKey terlebih dahulu, jika tidak panggilan tidak berlaku

Definisi API

/** * Pada halaman redirect notifikasi UIAbility, panggil di onCreate/onNewWant: masukkan want dan context, data kustom akan dikembalikan melalui interface onClickMessage di atas * @param want want pada UIAbility * @param context konteks aplikasi, pada UIAbility gunakan this.context, pada AbilityStage gunakan context */ setClickWant(want: Want, context: common.ApplicationContext | common.AbilityStageContext): Promise<EMessage | undefined>
              
              /**
 * Pada halaman redirect notifikasi UIAbility, panggil di onCreate/onNewWant: masukkan want dan context, data kustom akan dikembalikan melalui interface onClickMessage di atas
 * @param want want pada UIAbility
 * @param context konteks aplikasi, pada UIAbility gunakan this.context, pada AbilityStage gunakan context
 */
setClickWant(want: Want, context: common.ApplicationContext | common.AbilityStageContext): Promise<EMessage | undefined>

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { this.setClickWant(want) } onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { super.onNewWant(want, launchParam) this.setClickWant(want) } private async setClickWant(want: Want) { let j:EMessage|undefined = await EPushInterface.setClickWant(want, this.context); hilog.info(0x0000, TAG, '%{public}s', 'setClickWant: '+JSON.stringify(j)); }
              
              onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    this.setClickWant(want)
}

onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
  super.onNewWant(want, launchParam)
  this.setClickWant(want)
}

private async setClickWant(want: Want) {
    let j:EMessage|undefined = await EPushInterface.setClickWant(want, this.context);
    hilog.info(0x0000, TAG, '%{public}s', 'setClickWant: '+JSON.stringify(j));
}

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • want: want pada UIAbility
  • context: konteks aplikasi, pada UIAbility gunakan this.context, pada AbilityStage gunakan context
  • return: EMessage jika sukses, undefined jika tidak ada data atau terjadi error

Menghentikan Notifikasi (stopPush)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Silakan init terlebih dahulu, jika tidak panggilan tidak berlaku

Definisi API

/** * Menghentikan notifikasi */ stopPush()
              
              /**
 * Menghentikan notifikasi
 */
stopPush()

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.stopPush()
              
              EPushInterface.stopPush()

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • Tidak ada

Melanjutkan Notifikasi (resumePush)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Silakan init terlebih dahulu, jika tidak panggilan tidak berlaku

Definisi API

/** * Melanjutkan notifikasi */ resumePush()
              
              /**
 * Melanjutkan notifikasi
 */
resumePush()

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.resumePush()
              
              EPushInterface.resumePush()

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • Tidak ada

Cek Status Notifikasi (isPushStopped)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Silakan init terlebih dahulu, jika tidak panggilan tidak berlaku

Definisi API

/** * Cek status notifikasi */ isPushStopped(): boolean | undefined
              
              /**
 * Cek status notifikasi
 */
isPushStopped(): boolean | undefined

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

let isPushStopped = EPushInterface.isPushStopped()
              
              let isPushStopped = EPushInterface.isPushStopped()

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • Nilai kembali: true berarti notifikasi dihentikan, false berarti normal, undefined berarti belum inisialisasi atau terjadi error

Menonaktifkan layanan push (turnOffPush)

Versi yang Didukung

Didukung mulai EPush HarmonyOS SDK v1.0.1.

Deskripsi

API ini menonaktifkan layanan push dan berbeda dari sakelar push sisi server stopPush. API menghapus Push Token sistem, mencegah koneksi ulang otomatis, menutup koneksi persisten, serta menghentikan pengumpulan dan pelaporan informasi klien. Data laporan baru saat push nonaktif akan dibuang dan tidak dikirim setelah pemulihan.

  • Pemanggilan berulang saat tugas penonaktifan berjalan akan menggunakan kembali tugas yang sama.
  • Pemanggilan setelah push sepenuhnya nonaktif langsung mengembalikan berhasil dan tidak menghapus Push Token sistem lagi.
  • turnOffPush dan turnOnPush dijadwalkan secara saling eksklusif. Jika dipanggil cepat bergantian, permintaan terakhir menentukan status akhir.

Definisi API

turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>
              
              turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

const result = await EPushInterface.turnOffPush(this.context) console.info(`turnOffPush code: ${result.code}, message: ${result.msg}`)
              
              const result = await EPushInterface.turnOffPush(this.context)
console.info(`turnOffPush code: ${result.code}, message: ${result.msg}`)

            
Tampilkan blok kode ini di jendela mengambang

Parameter

  • context: Context AbilityStage atau UIAbility.

Nilai Kembali

code Keterangan
0 Berhasil
1 Gagal menghapus Push Token sistem setelah semua percobaan ulang. SDK kembali ke status aktif, tetapi koneksi persisten tidak dibuat ulang secara otomatis. Panggil turnOnPush atau init kembali untuk memulihkannya
2 Operasi kehabisan waktu. Alur penonaktifan internal tetap dilanjutkan; panggil API ini kembali untuk mengonfirmasi hasil akhir
3 Gagal menyimpan status nonaktif lokal SDK setelah semua percobaan ulang. Panggil turnOffPush kembali
4 Permintaan nonaktif dalam antrean dibatalkan oleh turnOnPush yang lebih baru; tidak ada tindakan penghentian. Panggil kembali untuk mengonfirmasi
5 AppKey belum diatur atau context tidak valid; tidak ada tindakan penghentian. Perbaiki prasyarat lalu panggil kembali

Mengaktifkan kembali layanan push (turnOnPush)

Versi yang Didukung

Didukung mulai EPush HarmonyOS SDK v1.0.1.

Deskripsi

API ini memulihkan SDK, koneksi persisten, pengumpulan dan pelaporan informasi dengan AppKey yang ditentukan, lalu memperoleh dan mengunggah Push Token sistem baru. API langsung kembali tanpa callback hasil. Pantau hasil koneksi dan registrasi melalui callback onConnected, onRegister, dan log yang ada. Memanggil init kembali juga memulihkan layanan.

  • Operasi ini dijadwalkan secara saling eksklusif dengan turnOffPush. Jika dipanggil saat alur penonaktifan berjalan, operasi aktivasi akan masuk antrean dan tidak berjalan paralel dengan penghapusan Push Token sistem.
  • Permintaan berlawanan yang datang kemudian menggantikan operasi dalam antrean yang belum dijalankan.
  • RegistrationID tetap tidak berubah.

Definisi API

turnOnPush( context: common.UIAbilityContext | common.AbilityStageContext, appKey: string ): void
              
              turnOnPush(
  context: common.UIAbilityContext | common.AbilityStageContext,
  appKey: string
): void

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.turnOnPush(this.context, "your_app_key")
              
              EPushInterface.turnOnPush(this.context, "your_app_key")

            
Tampilkan blok kode ini di jendela mengambang

Parameter

  • context: Context AbilityStage atau UIAbility.
  • appKey: EngageLab AppKey yang akan diaktifkan, tidak boleh kosong.

Catatan Penggunaan

  • Selalu tersedia: turnOffPush, turnOnPush, init, konfigurasi lokal, callback, dan pengaturan log.
  • Tidak tersedia sementara: API RegistrationID, token, tag dan alias, badge, kueri status notifikasi (isPushStopped), serta pelaporan status pesan yang bergantung pada inisialisasi, jaringan push, atau identitas registrasi. Pemanggilan mengembalikan It must be init first.
  • API tersebut tersedia kembali setelah turnOnPush atau pemanggilan ulang init.

API Tag dan Alias

Menambah Tag (addTags)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Menghapus Tag (deleteTags)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Mengatur Tag (setTags)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Cek Status Binding Tag Tertentu (checkTagBindState)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Menghapus Semua Tag (cleanTags)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Mendapatkan Semua Tag (getTags)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Mengatur Alias (setAlias)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Mendapatkan Alias (getAlias)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Menghapus Alias (deleteAlias)

  • Lihat dokumen utama di atas untuk detail API Tag dan Alias serta contoh kode.

Pengaturan TCP SSL (setTcpSSl)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Mengatur apakah menggunakan koneksi TCP SSL terenkripsi.

  • Panggil sebelum init
  • Opsional

Definisi API

/** * Mengatur TCP SSL * @param b true: gunakan SSL, false: tidak gunakan SSL */ setTcpSSl(b: boolean)
              
              /**
 * Mengatur TCP SSL
 * @param b true: gunakan SSL, false: tidak gunakan SSL
 */
setTcpSSl(b: boolean)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.setTcpSSl(true) // Aktifkan SSL
              
              EPushInterface.setTcpSSl(true) // Aktifkan SSL

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • b true berarti menggunakan koneksi TCP SSL terenkripsi, false berarti tidak menggunakan SSL

Pengaturan Interval Heartbeat (setHeartbeatTime)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Mengatur interval heartbeat koneksi panjang, untuk menjaga koneksi tetap aktif.

  • Opsional

Definisi API

/** * Mengatur interval heartbeat koneksi panjang * @param heartbeatTime dalam detik, rentang [30,290] */ setHeartbeatTime(heartbeatTime: number)
              
              /**
 * Mengatur interval heartbeat koneksi panjang
 * @param heartbeatTime dalam detik, rentang [30,290]
 */
setHeartbeatTime(heartbeatTime: number)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.setHeartbeatTime(60) // Atur heartbeat ke 60 detik
              
              EPushInterface.setHeartbeatTime(60) // Atur heartbeat ke 60 detik

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • heartbeatTime interval heartbeat, dalam detik, rentang nilai 30 hingga 290 detik

Pengaturan Badge (setBadgeNumber)

Versi didukung: EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Silakan init terlebih dahulu, jika tidak panggilan tidak berlaku

Definisi API

/** * Mengatur badge * @param badgeNumber Nilai badge */ setBadgeNumber(badgeNumber: number)
              
              /**
 * Mengatur badge
 * @param badgeNumber Nilai badge
 */
setBadgeNumber(badgeNumber: number)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.setBadgeNumber(0)
              
              EPushInterface.setBadgeNumber(0)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • badgeNumber: Nilai badge

Menerima Pesan Kustom (customMessageBackgroundData)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Fungsi ini hanya menangani pesan kustom yang dikirim melalui HarmonyOS. Jika menggunakan pesan kustom, ikuti panduan integrasi: Konfigurasi Pesan Kustom.

Definisi API

/** * Integrasi pesan kustom * Menerima pesan kustom di latar belakang * @param data BACKGROUND pesan */ customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integrasi pesan kustom
     * Menerima pesan kustom di latar belakang
     * @param data BACKGROUND pesan
     */
    customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

import { UIAbility } from '@kit.AbilityKit'; import { EPushInterface } from '@engagelab/push'; import { pushCommon, pushService } from '@kit.PushKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility' export default class PushMessageAbility extends UIAbility { onCreate(): void { try { // Parameter receiveMessage harus BACKGROUND: pesan kustom di latar belakang pushService.receiveMessage('BACKGROUND', this, async (data: pushCommon.PushPayload) => { let jg = await EPushInterface.customMessageBackgroundData(data) if (jg) { //true berarti sudah diproses return } }); } catch (e) { hilog.info(0x0000, TAG, '%{public}s', 'BACKGROUND fail:'+JSON.stringify(e)); } }
              
              import { UIAbility } from '@kit.AbilityKit';
import { EPushInterface } from '@engagelab/push';
import { pushCommon, pushService } from '@kit.PushKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility'
export default class PushMessageAbility extends UIAbility {
  onCreate(): void {
    try { // Parameter receiveMessage harus BACKGROUND: pesan kustom di latar belakang
      pushService.receiveMessage('BACKGROUND', this, async (data: pushCommon.PushPayload) => {
        let jg = await EPushInterface.customMessageBackgroundData(data)
        if (jg) { //true berarti sudah diproses
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'BACKGROUND fail:'+JSON.stringify(e));
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • data
    • Parameter receiveMessage harus berupa data BACKGROUND, yaitu data latar belakang.
  • return
    • Nilai kembalian: true jika berhasil diproses; false jika data bukan dari EngageLab atau terjadi kesalahan.

Menerima Pesan Panggilan VoIP (voIPMessageBackgroundData)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

Definisi API

/** * Integrasi pesan panggilan VoIP * Menerima pesan panggilan VoIP * @param data VoIP pesan */ voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integrasi pesan panggilan VoIP
     * Menerima pesan panggilan VoIP
     * @param data VoIP pesan
     */
    voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

import { UIAbility } from '@kit.AbilityKit'; import { EPushInterface } from '@engagelab/push'; import { pushCommon, pushService } from '@kit.PushKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility' export default class PushMessageAbility extends UIAbility { onCreate(): void { try { pushService.receiveMessage('VoIP', this, async (data) => { let jg = await EPushInterface.voIPMessageBackgroundData(data) if (jg) { //true berarti sudah diproses return } }); } catch (e) { hilog.info(0x0000, TAG, '%{public}s', 'VoIP fail:'+JSON.stringify(e)); } } }
              
              import { UIAbility } from '@kit.AbilityKit';
import { EPushInterface } from '@engagelab/push';
import { pushCommon, pushService } from '@kit.PushKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility'
export default class PushMessageAbility extends UIAbility {
  onCreate(): void {
    try {
      pushService.receiveMessage('VoIP', this, async (data) => {
        let jg = await EPushInterface.voIPMessageBackgroundData(data)
        if (jg) { //true berarti sudah diproses
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'VoIP fail:'+JSON.stringify(e));
    }
  }


}

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • data
    • Parameter receiveMessage harus berupa data VoIP, yaitu pesan panggilan VoIP.
  • return
    • Nilai kembalian: true jika berhasil diproses; false jika data bukan dari EngageLab atau terjadi kesalahan.

Menerima Pesan Ekstensi Notifikasi Saat Proses Aktif (extraMessageBackgroundData)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Fungsi ini hanya menangani pesan ekstensi notifikasi yang dikirim melalui HarmonyOS. Jika menggunakan pesan ekstensi notifikasi, ikuti panduan integrasi: Konfigurasi Pesan Ekstensi Notifikasi.

Definisi API

/** * Integrasi pesan ekstensi notifikasi * Menerima pesan ekstensi notifikasi * @param data IM pesan */ extraMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integrasi pesan ekstensi notifikasi
     * Menerima pesan ekstensi notifikasi
     * @param data IM pesan
     */
    extraMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

import { UIAbility } from '@kit.AbilityKit'; import { EPushInterface } from '@engagelab/push'; import { pushCommon, pushService } from '@kit.PushKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility' export default class PushMessageAbility extends UIAbility { onCreate(): void { try { // Parameter receiveMessage harus IM: pesan ekstensi notifikasi pushService.receiveMessage('IM', this, async (data) => { let jg = await EPushInterface.extraMessageBackgroundData(data) if (jg) { //true berarti sudah diproses return } }); } catch (e) { hilog.info(0x0000, TAG, '%{public}s', 'IM fail:'+JSON.stringify(e)); } }
              
              import { UIAbility } from '@kit.AbilityKit';
import { EPushInterface } from '@engagelab/push';
import { pushCommon, pushService } from '@kit.PushKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility'
export default class PushMessageAbility extends UIAbility {
  onCreate(): void {
    try { // Parameter receiveMessage harus IM: pesan ekstensi notifikasi
      pushService.receiveMessage('IM', this, async (data) => {
        let jg = await EPushInterface.extraMessageBackgroundData(data)
        if (jg) { //true berarti sudah diproses
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'IM fail:'+JSON.stringify(e));
    }
}

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • data
    • Parameter receiveMessage harus berupa data IM, yaitu pesan ekstensi notifikasi.
  • return
    • Nilai kembalian: true jika berhasil diproses; false jika data bukan dari EngageLab atau terjadi kesalahan.

Menerima Pesan Ekstensi Notifikasi Saat Proses Tidak Aktif (receiveExtraDataMessage)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Fungsi ini hanya menangani pesan ekstensi notifikasi yang dikirim melalui HarmonyOS. Jika menggunakan pesan ekstensi notifikasi, ikuti panduan integrasi: Konfigurasi Pesan Ekstensi Notifikasi.

Definisi API

/** * Integrasi pesan ekstensi notifikasi * Menerima pesan ekstensi notifikasi * @param rNEAbility RemoteNotificationExtensionAbility yang terkait * @param data Data onReceiveMessage */ receiveExtraDataMessage(rNEAbility: RemoteNotificationExtensionAbility, remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<EMessageExtra | undefined>
              
                  /**
     * Integrasi pesan ekstensi notifikasi
     * Menerima pesan ekstensi notifikasi
     * @param rNEAbility RemoteNotificationExtensionAbility yang terkait
     * @param data Data onReceiveMessage
     */
    receiveExtraDataMessage(rNEAbility: RemoteNotificationExtensionAbility, remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<EMessageExtra | undefined>

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

import { pushCommon, RemoteNotificationExtensionAbility } from '@kit.PushKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { EPushInterface } from '@engagelab/push'; const TAG: string = 'ENGAGELAB-JLog-RemoteNotificationExtAbility' export default class RemoteNotificationExtAbility extends RemoteNotificationExtensionAbility { async onReceiveMessage(remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<pushCommon.RemoteNotificationContent> { hilog.info(0x0000, TAG, 'onReceiveMessage, remoteNotificationInfo: %{public}s', JSON.stringify(remoteNotificationInfo)); let eMessageExtra = await EPushInterface.receiveExtraDataMessage(this, remoteNotificationInfo); hilog.info(0x0000, TAG, 'onReceiveMessage eMessageExtra:' + JSON.stringify(eMessageExtra)); // Return the replaced message content. return {}//Kembalikan data jika ingin mengubah notifikasi } onDestroy(): void { hilog.info(0x0000, TAG, 'RemoteNotificationExtAbility onDestroy.'); } }
              
              import { pushCommon, RemoteNotificationExtensionAbility } from '@kit.PushKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { EPushInterface } from '@engagelab/push';

const TAG: string = 'ENGAGELAB-JLog-RemoteNotificationExtAbility'

export default class RemoteNotificationExtAbility extends RemoteNotificationExtensionAbility {
  async onReceiveMessage(remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<pushCommon.RemoteNotificationContent> {
    hilog.info(0x0000, TAG, 'onReceiveMessage, remoteNotificationInfo: %{public}s',
      JSON.stringify(remoteNotificationInfo));

    let eMessageExtra = await EPushInterface.receiveExtraDataMessage(this, remoteNotificationInfo);
    hilog.info(0x0000, TAG, 'onReceiveMessage eMessageExtra:' + JSON.stringify(eMessageExtra));
    // Return the replaced message content.
    return {}//Kembalikan data jika ingin mengubah notifikasi
  }

  onDestroy(): void {
    hilog.info(0x0000, TAG, 'RemoteNotificationExtAbility onDestroy.');
  }
}

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • rNEAbility
    • RemoteNotificationExtensionAbility yang terkait.
  • data
    • Data parameter callback onReceiveMessage, yaitu pesan ekstensi notifikasi.
  • return
    • Nilai kembalian: EMessageExtra berarti data berhasil diproses dan objek data dikembalikan; undefined berarti data bukan dari EngageLab atau terjadi kesalahan.

Menangani Penonaktifan Tampilan Notifikasi di Latar Depan (defaultMessageBackgroundData)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Integrasikan fungsi ini jika ingin menonaktifkan tampilan notifikasi di latar depan. Tanpanya, push melalui kanal HarmonyOS tidak dapat memicu callback onUnShowMessage. Lihat panduan integrasi: Menonaktifkan Tampilan Notifikasi di Latar Depan.

Definisi API

/** * Integrasi penonaktifan tampilan di latar depan * Menerima data penonaktifan tampilan di latar depan * @param data Data pesan yang tidak ditampilkan di latar depan */ defaultMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integrasi penonaktifan tampilan di latar depan
     * Menerima data penonaktifan tampilan di latar depan
     * @param data Data pesan yang tidak ditampilkan di latar depan
     */
    defaultMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

import { UIAbility } from '@kit.AbilityKit'; import { EPushInterface } from '@engagelab/push'; import { pushCommon, pushService } from '@kit.PushKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility' export default class PushMessageAbility extends UIAbility { onCreate(): void { try { pushService.receiveMessage('DEFAULT', this, async (data: pushCommon.PushPayload) => { let jg = await EPushInterface.defaultMessageBackgroundData(data) if (jg) { //true berarti sudah diproses return } }); } catch (e) { hilog.info(0x0000, TAG, '%{public}s', 'DEFAULT fail:'+JSON.stringify(e)); } } }
              
              import { UIAbility } from '@kit.AbilityKit';
import { EPushInterface } from '@engagelab/push';
import { pushCommon, pushService } from '@kit.PushKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

const TAG: string = 'ENGAGELAB-JLog-PushMessageAbility'
export default class PushMessageAbility extends UIAbility {
  onCreate(): void {
    try {
      pushService.receiveMessage('DEFAULT', this, async (data: pushCommon.PushPayload) => {
        let jg = await EPushInterface.defaultMessageBackgroundData(data)
        if (jg) { //true berarti sudah diproses
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'DEFAULT fail:'+JSON.stringify(e));
    }
  }
}

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • data
    • Parameter receiveMessage harus berupa data DEFAULT, yaitu data pesan yang tidak ditampilkan di latar depan.
  • return
    • Nilai kembalian: true jika berhasil diproses; false jika data bukan dari EngageLab atau terjadi kesalahan.

Menghapus Notifikasi Berdasarkan ID Notifikasi (clearNotification)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Menghapus notifikasi tertentu berdasarkan ID notifikasi.
  • Hanya notifikasi yang sudah ditampilkan yang dapat dihapus.

Definisi API

/** * Menghapus notifikasi berdasarkan ID notifikasi * @param id ID notifikasi */ clearNotification(id: number)
              
                  /**
     * Menghapus notifikasi berdasarkan ID notifikasi
     * @param id ID notifikasi
     */
    clearNotification(id: number)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.clearNotification(notificationId)
              
              EPushInterface.clearNotification(notificationId)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • id: ID notifikasi yang akan dihapus.

Menghapus Notifikasi Berdasarkan ID Pesan (clearNotificationByMsgId)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Menghapus notifikasi tertentu berdasarkan ID pesan.
  • Hanya notifikasi yang sudah ditampilkan yang dapat dihapus.

Definisi API

/** * Menghapus notifikasi berdasarkan ID pesan * @param msgId ID pesan */ clearNotificationByMsgId(msgId: string)
              
                  /**
     * Menghapus notifikasi berdasarkan ID pesan
     * @param msgId ID pesan
     */
    clearNotificationByMsgId(msgId: string)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.clearNotificationByMsgId("your_message_id")
              
              EPushInterface.clearNotificationByMsgId("your_message_id")

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • msgId: ID pesan yang menentukan notifikasi yang akan dihapus.

Menghapus Semua Notifikasi (clearNotificationAll)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Menghapus semua notifikasi yang ditampilkan oleh EngageLab.

Definisi API

/** * Menghapus semua notifikasi */ clearNotificationAll()
              
                  /**
     * Menghapus semua notifikasi
     */
    clearNotificationAll()

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.clearNotificationAll()
              
              EPushInterface.clearNotificationAll()

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • Tidak ada.

API Pelaporan Status Pesan

Didukung mulai EPush HarmonyOS SDK v1.0.0

Melaporkan Tampilan Pesan Kustom (reportCustomDisplay)

Penjelasan Fitur

  • Panggil init terlebih dahulu; jika tidak, pemanggilan tidak akan berfungsi

Definisi API

/** * Melaporkan tampilan pesan kustom * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab * @param msgId ID pesan */ reportCustomDisplay(channel: number, msgId: string)
              
                  /**
     * Melaporkan tampilan pesan kustom
     * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab
     * @param msgId ID pesan
     */
    reportCustomDisplay(channel: number, msgId: string)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.reportCustomDisplay(eCustomMessage.channel, eCustomMessage.msgId as string)
              
              EPushInterface.reportCustomDisplay(eCustomMessage.channel, eCustomMessage.msgId as string)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • channel: Kanal sumber data
    • 0: Kanal vendor
    • 1: Kanal EngageLab
  • msgId: ID pesan

Melaporkan Klik Pesan Kustom (reportCustomClick)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Panggil init terlebih dahulu; jika tidak, pemanggilan tidak akan berfungsi

Definisi API

/** * Melaporkan klik pesan kustom * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab * @param msgId ID pesan */ reportCustomClick(channel: number, msgId: string)
              
                  /**
     * Melaporkan klik pesan kustom
     * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab
     * @param msgId ID pesan
     */
    reportCustomClick(channel: number, msgId: string)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.reportCustomClick(eCustomMessage.channel, eCustomMessage.msgId as string)
              
              EPushInterface.reportCustomClick(eCustomMessage.channel, eCustomMessage.msgId as string)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • channel: Kanal sumber data
    • 0: Kanal vendor
    • 1: Kanal EngageLab
  • msgId: ID pesan

Melaporkan Tampilan Notifikasi (reportNotificationDisplay)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Panggil init terlebih dahulu; jika tidak, pemanggilan tidak akan berfungsi

Definisi API

/** * Melaporkan tampilan notifikasi * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab * @param msgId ID pesan */ reportNotificationDisplay(channel: number, msgId: string)
              
                  /**
     * Melaporkan tampilan notifikasi
     * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab
     * @param msgId ID pesan
     */
    reportNotificationDisplay(channel: number, msgId: string)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.reportNotificationDisplay(eMessage.channel, eMessage.msgId as string)
              
              EPushInterface.reportNotificationDisplay(eMessage.channel, eMessage.msgId as string)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • channel: Kanal sumber data
    • 0: Kanal vendor
    • 1: Kanal EngageLab
  • msgId: ID pesan

Melaporkan Klik Notifikasi (reportNotificationClick)

Didukung mulai EPush HarmonyOS SDK v1.0.0

Penjelasan Fitur

  • Panggil init terlebih dahulu; jika tidak, pemanggilan tidak akan berfungsi

Definisi API

/** * Melaporkan klik notifikasi * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab * @param msgId ID pesan */ reportNotificationClick(channel: number, msgId: string)
              
                  /**
     * Melaporkan klik notifikasi
     * @param channel Kanal sumber data: 0 = kanal vendor, 1 = kanal EngageLab
     * @param msgId ID pesan
     */
    reportNotificationClick(channel: number, msgId: string)

            
Tampilkan blok kode ini di jendela mengambang

Contoh Kode

EPushInterface.reportNotificationClick(eMessage.channel, eMessage.msgId as string)
              
              EPushInterface.reportNotificationClick(eMessage.channel, eMessage.msgId as string)

            
Tampilkan blok kode ini di jendela mengambang

Penjelasan Parameter

  • channel: Kanal sumber data
    • 0: Kanal vendor
    • 1: Kanal EngageLab
  • msgId: ID pesan
Icon Solid Transparent White Qiyu
Hubungi Sales