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)
Contoh Kode
EPushInterface.setDebug(true) // Aktifkan debug
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)
Contoh Kode
EPushInterface.setAppKey("appKey_anda")
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)
Contoh Kode
EPushInterface.setChannel("Nama_Channel")
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)
Contoh Kode
EPushInterface.setCustomMessageMaxCacheCount(2)
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)
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)
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)
Contoh Kode
EPushInterface.init(this.context)
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
Contoh Kode
let rid = EPushInterface.getRegistrationId()
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()
Contoh Kode
EPushInterface.clearToken()
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)
Contoh Kode
// ...lihat kode lengkap pada dokumen utama...
EPushInterface.setCallBackMsg(new MyCallBackMsg(this.context))
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>
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));
}
Penjelasan Parameter
- want: want pada UIAbility
- context: konteks aplikasi, pada UIAbility gunakan
this.context, pada AbilityStage gunakancontext - 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()
Contoh Kode
EPushInterface.stopPush()
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()
Contoh Kode
EPushInterface.resumePush()
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
Contoh Kode
let isPushStopped = EPushInterface.isPushStopped()
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.
turnOffPushdanturnOnPushdijadwalkan secara saling eksklusif. Jika dipanggil cepat bergantian, permintaan terakhir menentukan status akhir.
Definisi API
turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>
Contoh Kode
const result = await EPushInterface.turnOffPush(this.context)
console.info(`turnOffPush code: ${result.code}, message: ${result.msg}`)
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
Contoh Kode
EPushInterface.turnOnPush(this.context, "your_app_key")
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 mengembalikanIt must be init first. - API tersebut tersedia kembali setelah
turnOnPushatau pemanggilan ulanginit.
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)
Contoh Kode
EPushInterface.setTcpSSl(true) // Aktifkan SSL
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)
Contoh Kode
EPushInterface.setHeartbeatTime(60) // Atur heartbeat ke 60 detik
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)
Contoh Kode
EPushInterface.setBadgeNumber(0)
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>
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));
}
}
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
- Fungsi ini hanya menangani pesan panggilan VoIP yang dikirim melalui HarmonyOS. Jika menggunakan pesan panggilan VoIP, ikuti panduan integrasi: Konfigurasi Push Pesan Panggilan VoIP.
Definisi API
/**
* Integrasi pesan panggilan VoIP
* Menerima pesan panggilan VoIP
* @param data VoIP pesan
*/
voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
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));
}
}
}
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>
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));
}
}
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>
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.');
}
}
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>
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));
}
}
}
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)
Contoh Kode
EPushInterface.clearNotification(notificationId)
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)
Contoh Kode
EPushInterface.clearNotificationByMsgId("your_message_id")
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()
Contoh Kode
EPushInterface.clearNotificationAll()
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)
Contoh Kode
EPushInterface.reportCustomDisplay(eCustomMessage.channel, eCustomMessage.msgId as string)
Penjelasan Parameter
- channel: Kanal sumber data
0: Kanal vendor1: 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)
Contoh Kode
EPushInterface.reportCustomClick(eCustomMessage.channel, eCustomMessage.msgId as string)
Penjelasan Parameter
- channel: Kanal sumber data
0: Kanal vendor1: 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)
Contoh Kode
EPushInterface.reportNotificationDisplay(eMessage.channel, eMessage.msgId as string)
Penjelasan Parameter
- channel: Kanal sumber data
0: Kanal vendor1: 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)
Contoh Kode
EPushInterface.reportNotificationClick(eMessage.channel, eMessage.msgId as string)
Penjelasan Parameter
- channel: Kanal sumber data
0: Kanal vendor1: Kanal EngageLab
- msgId: ID pesan










