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
Penerimaan Pesan Kustom (customMessageBackgroundData)
Versi didukung: EPush HarmonyOS SDK v1.0.0
Penjelasan Fitur
- Fungsi ini hanya menangani pesan kustom yang dikirim melalui channel HarmonyOS. Jika Anda menggunakan pesan kustom, pastikan mengikuti panduan integrasi: Konfigurasi Pesan Kustom
Definisi API
/**
* Untuk integrasi pesan kustom
* Penerimaan pesan kustom dari backend
* @param data
*/










