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 JPush 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 JPush 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
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
*/










