API du SDK HarmonyOS
Définir l'API du mode débogage (setDebug)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez l'appeler dans AbilityStage (#onCreate)
- Veuillez appeler avant init *Interface optionnelle
Définition de l'interface
/**
* debug log 设置,默认false
*
* @param debug true 为 debug,false 为非 debug
*/
setDebug(debug: boolean)
Exemple de code
EPushInterface.setDebug(true)//启用 debug
Description du paramètre
- Si le débogage est vrai, les journaux de niveau de débogage seront imprimés, et si faux, seuls les journaux de niveau d'avertissement et supérieur seront imprimés.
Configurer la clé d'application EngageLab (setAppKey)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez l'appeler dans AbilityStage (#onCreate)
- Veuillez appeler avant init *Interface qu'il faut appeler
Définition de l'interface
/**
* 设置appkey
*
* @param appKey 为平台的appkey
*/
setAppKey(appKey: string)
Exemple de code
EPushInterface.setAppKey("你的appKey")
Description du paramètre
- appKey doit être obtenu à partir de la console EngageLab.
Configurer le canal de téléchargement (setChannel)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Configurer dynamiquement le canal (canal de téléchargement de packages)
- canal spécifie le canal de téléchargement du package d'application. Pour faciliter les statistiques par canal, la valeur spécifique est définie par vous, comme Huawei App Market, etc.
- Veuillez l'appeler dans AbilityStage (#onCreate)
- Veuillez appeler avant init *Interface qu'il faut appeler
Définition de l'interface
/**
* 配置渠道
*
* @param channel 渠道名称
*/
setChannel(channel: string)
Exemple de code
EPushInterface.setChannel("渠道名称")
Description du paramètre
- personnalisation métier des utilisateurs du canal.
Configurer le nombre de caches de messages personnalisés (setCustomMessageMaxCacheCount)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Cette interface est utilisée pour envoyer des messages personnalisés EngageLab (non applicable aux messages de notification) et est destinée à certains scénarios commerciaux spéciaux de l'APP ; par exemple, lorsque votre serveur envoie 100 messages personnalisés à un utilisateur, en fonction des caractéristiques commerciales ou de vos propres performances de traitement métier, vous souhaitez uniquement traiter et enregistrer les 10 derniers messages, vous pouvez utiliser cette interface.
- Veuillez l'appeler dans AbilityStage (#onCreate)
- Veuillez appeler avant init
Définition de l'interface
/**
* 配置自定义后台信息缓存条数
*
* @param maxCacheCount 缓存条数
*/
setCustomMessageMaxCacheCount(maxCacheCount: number)
Exemple de code
EPushInterface.setCustomMessageMaxCacheCount(2)
Description du paramètre
- nombre maxCacheCount d'éléments mis en cache
Méthode d'application de l'autorisation de notification de contrôle (setUserRequestNotificationPermission)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Définissez si le développeur appelle la notification pour demander l'autorisation. Lorsqu'il est défini sur true, EngageLabSDK ne demandera pas activement les autorisations de notification, et les développeurs doivent demander manuellement les autorisations de notification dans leur propre code ; lorsqu'il est défini sur false, EngageLabSDK appliquera automatiquement les autorisations de notification lors de l'initialisation.
- Veuillez l'appeler dans AbilityStage (#onCreate)
- Veuillez appeler avant init *Interface optionnelle
Définition de l'interface
/**
* 设置是否由用户自己调用通知申请权限
* @param applicationContext 应用上下文
* @param enable true: 用户自己调用通知申请权限, false: SDK调用通知申请权限(默认)
*/
setUserRequestNotificationPermission(applicationContext: common.ApplicationContext, enable: boolean)
Exemple de code
// 设置用户自己调用通知申请权限
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true)
// 设置SDK调用通知申请权限(默认)
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)
Description du paramètre
- Enable est vrai pour indiquer que le développeur demande lui-même les autorisations de notification, false indique qu'EngageLabSDK demande les autorisations de notification (par défaut)
Activer l'API de la fonction métier push (init)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Service push EngageLab. Après avoir appelé cette API, l'activation du service push Engagelab commencera à collecter les informations personnelles des utilisateurs nécessaires au reporting des fonctions commerciales du SDK.
- Appelé au démarrage
Définition de l'interface
/**
* 开启推送业务功能
* @param context 上下文
*/
init(context: common.UIAbilityContext | common.AbilityStageContext)
Exemple de code
EPushInterface.init(this.context)
Description du paramètre
- le contexte est transmis dans common.AbilityStageContext dans AbilityStage et common.UIAbilityContext dans UIability
Instructions d'utilisation de l'interface
- Si le développeur appelle activement la méthode init, le service push Engagelab sera activé.
- Compte tenu de la conformité de l'APP en ligne, le développeur doit s'assurer que les utilisateurs de l'APP acceptent la politique de confidentialité et que le développeur décide de commencer à fournir des services push aux utilisateurs de l'application avant d'appeler l'interface de fonction commerciale d'activation push pour utiliser le service EngageLab.
- Pour des suggestions et des instructions sur la politique de confidentialité de l'APP, veuillez vous référer à [Comment rédiger une politique de confidentialité conforme] (/fr_FR/docs/app-push/data-privacy/Data-Processing-Guide).
Obtenir l'ID d'enregistrement (getRegistrationId)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 反回注册的rid
*
*/
getRegistrationId(): string
Exemple de code
let rid = EPushInterface.getRegistrationId()
Description du paramètre
- aucun
Effacer le jeton (clearToken)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Effacez le jeton push de l'appareil actuel et utilisez-le pour vous réinscrire afin d'obtenir un nouveau jeton.
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 清除 token
*/
clearToken()
Exemple de code
EPushInterface.clearToken()
Description du paramètre
- aucun
Définir l'interface de rappel (setCallBackMsg)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Cette interface est utilisée pour recevoir les données du SDK. Par exemple : rappels pour les résultats d’enregistrement, les résultats de connexion, les résultats des clics de notification, les résultats de l’opération d’alias d’étiquette, etc. La classe réceptrice doit implémenter l'interface CallBackMsg. Voir l'exemple de code pour la fonction CallBackMsg.
- Veuillez l'appeler dans AbilityStage (#onCreate)
- Veuillez appeler avant init *Interface qu'il faut appeler
Définition de l'interface
/**
* 监听回调事件和数据
*
* @param callBackMsg
*/
setCallBackMsg(callBackMsg: CallBackMsg)
Exemple de code
class MyCallBackMsg extends CallBackMsg {
context: common.ApplicationContext
constructor(co: common.ApplicationContext) {
super();
this.context = co
}
/**
* 注册成功后回调rid
* @param registrationId 注册成功后回调rid
*/
onRegister(registrationId: string): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'onRegister registrationId:' + registrationId);
this.context.eventHub.emit('jPush_event', "registrationId:" + registrationId);
}
/**
* 长连接登陆 回调
* @param isConnected true:成功,false:失败
*/
onConnected(isConnected: boolean): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'onConnected isConnected:' + isConnected);
this.context.eventHub.emit('jPush_event', "isConnected:" + isConnected);
}
/**
* 操作 tag 接口回调
* @param eTagMessage
* export class ETagMessage {
* sequence?: number //对应操作id,全局不要重复
* code?: number //0成功,ETagMessage.CODE_TIME_OUT超时
* op?: string
* tags?: string[] //对应数据
* curr?: number //数据当前页数,页数从1开始
* total?: number //数据总页数
* msg?: string
* validated?:boolean //checkTagBindState 查询tag是否存在
* }
*/
onTagOperatorResult(eTagMessage: ETagMessage): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'onTagOperatorResult ETagMessage:' + JSON.stringify(eTagMessage));
this.context.eventHub.emit('jPush_event', "onTagOperatorResult:" + JSON.stringify(eTagMessage));
}
/**
* 操作 Alias 接口回调
* @param eAliasMessage
* export class EAliasMessage {
* sequence?: number //对应操作id,全局不要重复
* code?: number //0成功,EAliasMessage.CODE_TIME_OUT超时
* op?: string
* alias?: string //对应数据
* curr?: number
* total?: number
* msg?: string
* }
*/
onAliasOperatorResult(eAliasMessage: EAliasMessage): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'onAliasOperatorResult eAliasMessage:' + JSON.stringify(eAliasMessage));
this.context.eventHub.emit('jPush_event', "onAliasOperatorResult:" + JSON.stringify(eAliasMessage));
}
/**
* 通知点击事件回调
* @param eMessage
*
* export class EMessage {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string//通知内容
* extras?: Record<string, Object>//自定义数据
* channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道(开始支持的版本:EPush HarmonyOS SDK v1.0.0)
* }
*/
onClickMessage(eMessage: EMessage) {
hilog.info(0x0000, 'testTag', '%{public}s', 'onClickMessage eMessage:' + JSON.stringify(eMessage));
this.context.eventHub.emit('jPush_event', "onClickMessage:" + JSON.stringify(eMessage));
}
/**
* 通知到达事件回调(仅通过EngageLab通道下发通知会触发此函数,通过鸿蒙系统通道下发通知由设备系统处理,暂不支持回调)
* 开始支持的版本:EPush HarmonyOS SDK v1.0.0
* @param eMessage
*
* export class EMessage {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string//通知内容
* extras?: Record<string, Object>//自定义数据
* channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道(实际情况,此处获取到的值只有可能是1)
* }
*/
onArrivedMessage(eMessage: EMessage) {
hilog.info(0x0000, 'testTag', '%{public}s', 'onArrivedMessage eMessage:' + JSON.stringify(eMessage));
this.context.eventHub.emit('jPush_event', "onArrivedMessage:" + JSON.stringify(eMessage));
}
/**
* 通知在前台不展示功能生效时触发的事件回调
* 开始支持的版本:EPush HarmonyOS SDK v1.0.0
* @param eMessage
*
* export class EMessage {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string//通知内容
* extras?: Record<string, Object>//自定义数据
* channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道
* }
*/
onUnShowMessage(eMessage: EMessage) {
hilog.info(0x0000, 'testTag', '%{public}s', 'onUnShowMessage eMessage:' + JSON.stringify(eMessage));
this.context.eventHub.emit('jPush_event', "onUnShowMessage:" + JSON.stringify(eMessage));
}
/**
* 自定义信息回调
* 回调一:冷启动调用sdk初始化后回调之前还没有回调的信息
* 回调二:app存活时会直接回调信息
* 想要触发自定义信息走厂商通道下发时回调,请关注接口「customMessageBackgroundData」说明,或查看集成指南的「配置自定义信息」说明。
* @param eCustomMessage
*
* export class ECustomMessage {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string //通知内容
* contentType?: string //通知内容类型
* extras?: Record<string, Object> //通知自定义键值对
* ttl?: number //后台下发的信息过期时间,单位秒
* stime?: number //后台下发时间,毫秒
* channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道(开始支持的版本:EPush HarmonyOS SDK v1.0.0)
* }
*/
onCustomMessage(eCustomMessage: ECustomMessage) {
hilog.info(0x0000, TAG, '%{public}s', 'onCustomMessage eCustomMessage:' + JSON.stringify(eCustomMessage));
this.context.eventHub.emit('jPush_event', "onCustomMessage:" + JSON.stringify(eCustomMessage));
}
/**
* 通知扩展消息回调
* 想要触发通知扩展消息走厂商通道下发时回调,请关注接口「extraMessageBackgroundData」、「receiveExtraDataMessage」说明,或查看集成指南的「配置通知扩展消息」说明。
*
* @param eMessageExtra
*
* export class EMessageExtra {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string//通知内容
* extras?: Record<string, Object>//自定义数据
* extraData?: string//通知扩展消息的自定义数据
* }
*/
onEMessageExtra(eme: EMessageExtra) {
hilog.info(0x0000, TAG, '%{public}s', 'onEMessageExtra eme:' + JSON.stringify(eme));
this.context.eventHub.emit('jPush_event', "onEMessageExtra:" + JSON.stringify(eme));
}
/**
* VoIP呼叫消息回调
* 想要触发VoIP呼叫消息走厂商通道下发时回调,请关注接口「voIPMessageBackgroundData」说明,或查看集成指南的「配置推送VoIP呼叫消息」说明。
*
* export class EMessageVoIP {
* msgId?: string //通知id
* extraData?: string //VoIP自定义数据
}
* @param jmVoIP
*/
onEMessageVoIP(emVoIP: EMessageVoIP) {
hilog.info(0x0000, TAG, '%{public}s', 'EMessageVoIP emVoIP:' + JSON.stringify(emVoIP));
this.context.eventHub.emit('jPush_event', "EMessageVoIP:" + JSON.stringify(emVoIP));
}
/**
* export class ECmdMessage {
* cmd?: number //操作类型
* errorCode?: number //状态码
* msg?: string //内容
* extra?: Record<string, Object>
* }
* @param cmdMessage
*/
onCommandResult(cmdMessage: ECmdMessage) {
hilog.info(0x0000, TAG, '%{public}s', 'onCommandResult cmdMessage:' + JSON.stringify(cmdMessage));
this.context.eventHub.emit('jPush_event', "onCommandResult:" + JSON.stringify(cmdMessage));
}
}
EPushInterface.setCallBackMsg(new MyCallBackMsg(this.context))
Description du paramètre
- callBackMsg : une classe qui reçoit les rappels de données du SDK et doit hériter de l'interface CallBackMsg
Détails de la méthode de rappel
Rappel du résultat de l'enregistrement (onRegister)
Rappel du résultat de l'inscription
Définition de l'interface
/**
* 注册结果回调
*
* @param registrationId rid
*/
onRegister(registrationId: string)
Rappel d'état de connexion long (isConnected)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Définition de l'interface
/**
* 长连接是否连接成功
*
* 在开启推送业务功能后会进行长连接,连接成功/失败均会回调此方法
*
* @param isConnected 长连接是否连接成功,true为成功;false为失败
*/
onConnected(isConnected: boolean)
Rappel d'événement de clic de notification (onClickMessage)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Définition de l'interface
/**
* 通知点击事件回调
export class EMessage {
msgId?: string //通知id
title?: string //通知标题
content?: string //通知内容
extras?: Record<string, Object> //自定义数据
channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道(开始支持的版本:EPush HarmonyOS SDK v1.0.0)
}
*
* @param eMessage
*/
onClickMessage(eMessage: EMessage)
Rappel d'événement d'arrivée de notification (onArrivedMessage)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0 Remarque : Cette fonction sera déclenchée uniquement lorsque les notifications seront envoyées via le canal EngageLab. Les notifications envoyées via le canal système Hongmeng sont traitées par le système de l'appareil. Les rappels ne sont pas pris en charge pour le moment.
Définition de l'interface
/**
* 通知到达事件回调
export class EMessage {
msgId?: string //通知id
title?: string //通知标题
content?: string //通知内容
extras?: Record<string, Object> //自定义数据
channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道(实际情况,此处获取到的值只有可能是1)
}
*
* @param eMessage
*/
onArrivedMessage(eMessage: EMessage)
La notification n'affiche pas le rappel de fonction au premier plan (onUnShowMessage)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Définition de l'interface
/**
* 通知在前台不展示功能生效时触发的事件回调
export class EMessage {
msgId?: string //通知id
title?: string //通知标题
content?: string //通知内容
extras?: Record<string, Object> //自定义数据
channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道
}
*
* @param eMessage
*/
onUnShowMessage(eMessage: EMessage)
Rappel d'événement interactif (onCommandResult)
Définition de l'interface
/**
* 交互事件回调
* @param cmdMessage
* export class ECmdMessage {
* public static readonly CMD_TOKEN = 10000 // token 注册回调(开始支持的版本:EPush HarmonyOS SDK v1.0.0)
*
* cmd?: number //操作事件
* errorCode?: number //0表示成功,其他为错误
* msg?: string //内容信息
* extra?: Record<string, Object>
* }
*/
onCommandResult(cmdMessage: ECmdMessage);
| cmd | errorCode | msg | DESCRIPTION |
|---|---|---|---|
| 0 | 失败 code | 失败信息 | 注册失败 |
| 2006 | 0 | success | onResume 设置回调 |
| 2007 | 0 | success | onStop 设置回调 |
| 1000 | 0/1 | success/fail | 获取token,0:成功,1:失败 |
Rappel de message personnalisé en arrière-plan (onCustomMessage)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Définition de l'interface
/**
* 自定义信息通知回调
* 回调一:冷启动调用sdk初始化后回调之前还没有回调的信息
* 回调二:app存活时会直接回调信息
* 想要有自定义信息回调,还需查看集成指南的自定义信息集成配置方式
* @param eCustomMessage
*
* export class ECustomMessage {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string //通知内容
* contentType?: string //通知内容类型
* extras?: Record<string, Object> //通知自定义键值对
* ttl?: number //后台下发的信息过期时间,单位秒
* stime?: number //后台下发时间,毫秒
* channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道(开始支持的版本:EPush HarmonyOS SDK v1.0.0)
* }
*/
onCustomMessage(eCustomMessage: ECustomMessage);
Rappel du message d'extension de notification (onEMessageExtra)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Définition de l'interface
/**
* 通知扩展消息回调
* @param eMessageExtra
*
* export class EMessageExtra {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string//通知内容
* extras?: Record<string, Object>//自定义数据
* extraData?: string//通知扩展消息的自定义数据
* }
*/
onEMessageExtra(eme: EMessageExtra);
Rappel du message d'appel VoIP (onEMessageVoIP)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Définition de l'interface
/**
* VoIP呼叫消息回调
* export class EMessageVoIP {
* msgId?: string //通知id
* extraData?: string //VoIP自定义数据
}
* @param emVoIP
*/
onEMessageVoIP(emVoIP: EMessageVoIP);
Rappel de l'interface de balise d'opération (onTagOperatorResult)
Définition de l'interface
/**
* 操作 tag 接口回调
export class ETagMessage {
sequence?: number //对应操作id,全局不要重复
code?: number //0成功,ETagMessage.CODE_TIME_OUT超时
op?: string
tags?: string[] //对应数据
curr?: number //数据当前页数,页数从1开始
total?: number //数据总页数
msg?: string
}
*
* @param eTagMessage
*/
onTagOperatorResult(eTagMessage: ETagMessage)
Rappel de l'interface d'opération Alias (onAliasOperatorResult)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Définition de l'interface
/**
* 操作 Alias 接口回调
export class EAliasMessage {
sequence?: number //对应操作id,全局不要重复
code?: number //0成功,EAliasMessage.CODE_TIME_OUT超时
op?: string
alias?: string //对应数据
curr?: number
total?: number
msg?: string
}
*
* @param eAliasMessage
*/
onAliasOperatorResult(eAliasMessage: EAliasMessage)
Réception des données de saut de notification (setClickWant)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Afin de recevoir les données correspondantes du rappel après avoir cliqué sur la notification Appelé dans onCreate et onNewWant de la page de saut de notification UIability : transmettre le souhait Ensuite, il sera rappelé via la méthode onClickMessage dans la classe CallBackMsg définie ci-dessus.
- Veuillez d'abord setAppKey, sinon l'appel sera invalide
Définition de l'interface
/**
* 在通知跳转页面UIAbility的onCreate、onNewWant中调用:传入want和context,通过上面的onClickMessage接口回调自定义数据
*
* @param want UIAbility中的want
* @param context 应用上下文,在UIAbility中传this.context,在AbilityStage中传context
*/
setClickWant(want: Want, context: common.ApplicationContext | common.AbilityStageContext): Promise<EMessage | undefined>
Exemple de code
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));
}
Description du paramètre
- vouloir : pour vouloir dans UIability
- contexte : contexte d'application, passez
this.contextdans UIability, passezcontextdans AbilityStage
-retour
- Renvoyer des données, EMessage signifie que l'objet de données a été traité correctement et renvoyé, non défini signifie qu'il n'y a pas de données ou qu'il ne s'agit pas de données EngageLab ou qu'une exception s'est produite.
Arrêter la notification (stopPush)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 停止通知
*
*/
stopPush()
Exemple de code
EPushInterface.stopPush()
Description du paramètre
- aucun
Reprendre la notification (resumePush)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 恢复通知
*
*/
resumePush()
Exemple de code
EPushInterface.resumePush()
Description du paramètre
- aucun
Requête d'état de notification (isPushStopped)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 通知状态查询
*
*/
isPushStopped(): boolean | undefined
Exemple de code
let isPushStopped = EPushInterface.isPushStopped()
Description du paramètre
-Valeur de retour : vrai pour arrêter, faux pour normal, non défini non initialisé et autres situations anormales
Désactiver le service push (turnOffPush)
Versions prises en charge
Version prise en charge : EPush HarmonyOS SDK v1.0.1.
Description de la fonction
Cette interface désactive le service push et diffère du commutateur push côté serveur stopPush. Elle supprime le Push Token système, empêche la reconnexion automatique, déconnecte les connexions persistantes et arrête la collecte et l'envoi des informations client. Les nouvelles données générées pendant la désactivation sont supprimées et ne sont pas renvoyées après la restauration.
- Les appels répétés pendant une désactivation en cours réutilisent la même tâche.
- Un nouvel appel après une désactivation complète renvoie immédiatement un succès et ne supprime pas de nouveau le Push Token système.
turnOffPushetturnOnPushsont planifiés de manière mutuellement exclusive. En cas d'appels alternés rapides, la dernière demande détermine l'état final.
Définition de l'interface
turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>
Exemple de code
const result = await EPushInterface.turnOffPush(this.context)
console.info(`turnOffPush code: ${result.code}, message: ${result.msg}`)
Description du paramètre
context: contexte AbilityStage ou UIability.
Description de la valeur de retour
| codes | sens |
|---|---|
| 0 | Succès |
| 1 | Échec de la suppression du Push Token système après toutes les tentatives. Le SDK est revenu à l'état actif, mais la connexion persistante n'est pas reconstruite automatiquement. Appelez de nouveau turnOnPush ou init pour la restaurer |
| 2 | Délai d'attente dépassé. Le processus de désactivation sous-jacent continue ; appelez de nouveau cette API pour confirmer le résultat final |
| 3 | Échec de l'enregistrement de l'état désactivé local du SDK après toutes les tentatives. Appelez de nouveau turnOffPush |
| 4 | Une demande de désactivation en attente a été annulée par un appel turnOnPush ultérieur ; aucune action d'arrêt n'a été effectuée. Appelez de nouveau pour confirmer |
| 5 | AppKey n'est pas défini ou le contexte n'est pas valide ; aucune action d'arrêt n'a été effectuée. Corrigez le prérequis et appelez de nouveau |
Activer le service push (turnOnPush)
Versions prises en charge
Version prise en charge : EPush HarmonyOS SDK v1.0.1.
Description de la fonction
Utilisez l'AppKey spécifiée pour restaurer le SDK, les connexions persistantes, la collecte et l'envoi des informations, puis obtenir et envoyer un nouveau Push Token système. Cette interface revient immédiatement et ne fournit pas de rappel de résultat ; les résultats de connexion et d'enregistrement sont observés via les rappels onConnected, onRegister et les journaux existants. Un nouvel appel à init restaure également un service fermé par turnOffPush.
- Cette opération est planifiée de manière mutuellement exclusive avec
turnOffPush. Si elle est appelée pendant une désactivation, l'activation est mise en attente et ne s'exécute jamais en parallèle avec la suppression du Push Token système.- Une demande opposée arrivée plus tard remplace une opération en attente qui n'a pas encore commencé.
- Le RegistrationID reste inchangé.
Définition de l'interface
turnOnPush(
context: common.UIAbilityContext | common.AbilityStageContext,
appKey: string
): void
Exemple de code
EPushInterface.turnOnPush(this.context, "your_app_key")
Description du paramètre
context: contexte AbilityStage ou UIability.appKey: EngageLab AppKey qui doit être activé, ne peut pas être vide.
Instructions d'utilisation de l'interface
- Toujours disponible :
turnOffPush,turnOnPush,init, configuration locale, paramètres de rappel et de journalisation. - Temporairement indisponible : API RegistrationID, Token, balises et alias, badges, interrogation de l'état des notifications (
isPushStopped) et rapports sur l'état des messages qui reposent sur l'initialisation, le réseau push ou l'identité d'enregistrement. Les appels renvoientIt must be init first. - Après avoir appelé
turnOnPushou rappeléinit, l'API ci-dessus est restaurée.
#SDKAPI
Balises et alias-api
Ajouter de nouvelles balises (addTags)
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onTagOperatorResult rappellera le résultat
Définition de l'interface
/**
* 增加指定tag,累加逻辑,之前设置的标签依然存在
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tags 标签数组,每个tag命名长度限制为40字节,最多支持设置1000个tag,且单次操作总长度不得超过5000字节
*/
addTags(sequence: number, tags: string[])
Exemple de code
EPushInterface.addTags(this.sequence++, ["ccc", "ddddd"])
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération. -balises
- Chaque appel ajoute au moins un nouveau tag.
- Composition de balise valide : lettres (sensibles à la casse), chiffres, traits de soulignement, caractères chinois, caractères spéciaux @!#$&*+=.|.
- Restrictions : La longueur de dénomination de chaque balise est limitée à 40 octets, un maximum de 1 000 balises peut être défini et la longueur totale d'une seule opération ne doit pas dépasser 5 000 octets. (Pour déterminer la longueur, un encodage UTF-8 est requis) Un seul appareil prend en charge la configuration jusqu'à 1 000 balises. Il n'y a pas de limite au nombre de balises globales d'application.
Supprimer les balises (deleteTags)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onTagOperatorResult rappellera le résultat
Définition de l'interface
/**
* 删除指定tag,删除逻辑,会删除指定的标签
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tags 标签数组,每个tag命名长度限制为40字节,最多支持设置1000个tag,且单次操作总长度不得超过5000字节
*/
deleteTags(sequence: number, tags: string[])
Exemple de code
EPushInterface.deleteTags(this.sequence++, ["ccc"])
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération. -balises
- Supprimez au moins un tag par appel.
- Composition de balise valide : lettres (sensibles à la casse), chiffres, traits de soulignement, caractères chinois, caractères spéciaux @!#$&*+=.|.
- Restrictions : La longueur de dénomination de chaque balise est limitée à 40 octets, un maximum de 1 000 balises peut être défini et la longueur totale d'une seule opération ne doit pas dépasser 5 000 octets. (Pour déterminer la longueur, un encodage UTF-8 est requis) Un seul appareil prend en charge la configuration jusqu'à 1 000 balises. Il n'y a pas de limite au nombre de balises globales d'application.
Définir des balises (setTags)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onTagOperatorResult rappellera le résultat
Définition de l'interface
/**
* 更新指定tag,覆盖逻辑,之前添加的tag会清空
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tags 标签数组,每个tag命名长度限制为40字节,最多支持设置1000个tag,且单次操作总长度不得超过5000字节
*/
setTags(sequence: number, tags: string[])
Exemple de code
EPushInterface.setTags(this.sequence++, ["xxx", "yyy"])
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération. -balises
- Chaque appel ajoute au moins un nouveau tag.
- Composition de balise valide : lettres (sensibles à la casse), chiffres, traits de soulignement, caractères chinois, caractères spéciaux @!#$&*+=.|.
- Restrictions : La longueur de dénomination de chaque balise est limitée à 40 octets, un maximum de 1 000 balises peut être défini et la longueur totale d'une seule opération ne doit pas dépasser 5 000 octets. (Pour déterminer la longueur, un encodage UTF-8 est requis) Un seul appareil prend en charge la configuration jusqu'à 1 000 balises. Il n'y a pas de limite au nombre de balises globales d'application.
Interroger l'état de liaison de la balise spécifiée (checkTagBindState)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onTagOperatorResult rappellera le résultat
Définition de l'interface
/**
* 查询指定tag
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tag 标签,每个tag命名长度限制为40字节
*/
checkTagBindState(sequence: number, tag: string)
Exemple de code
EPushInterface.checkTagBindState(this.sequence++, "ccc")
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération. -balises
- Le tag interrogé
Effacer toutes les balises (cleanTags)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onTagOperatorResult rappellera le résultat
Définition de l'interface
/**
* 删除所有tag,清空逻辑,会删除所有的标签
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
*/
cleanTags(sequence: number)
Exemple de code
EPushInterface.cleanTags(this.sequence++)
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération.
Interroger toutes les balises (getTags)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onTagOperatorResult rappellera le résultat
Définition de l'interface
/**
* 查询所有tag,获取逻辑,会获取所有标签
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param curr 获取当前的页数,开始页数值为1
*/
getTags(sequence: number, curr: number)
Exemple de code
EPushInterface.getTags(this.sequence++, 1)
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération.
Définir un alias (setAlias)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onAliasOperatorResult rappellera le résultat
Définition de l'interface
/**
* 设置alias
*
* 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
*
* 不限定一个别名只能指定一个用户
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param alias 有效的别名组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。限制:alias命名长度限制为 40 字节(判断长度需采用 UTF-8 编码)
*
*/
setAlias(sequence: number, alias: string)
Exemple de code
EPushInterface.setAlias(this.sequence++, "gggdd")
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération. Il est recommandé d'utiliser un numéro de séquence numérique différent à chaque fois.
- pseudonyme
- Définissez un alias valide pour chaque appel, en écrasant les paramètres précédents.
- Les alias valides sont constitués de : lettres (sensibles à la casse), chiffres, traits de soulignement, caractères chinois, caractères spéciaux @!#$&*+=.|.
- Limitation : la longueur du nom d'alias est limitée à 40 octets. (Pour déterminer la longueur, un encodage UTF-8 est requis)
Alias de requête (getAlias)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onAliasOperatorResult rappellera le résultat
Définition de l'interface
/**
* 获取alias
*
* 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
*
* 不限定一个别名只能指定一个用户
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
*/
getAlias(sequence: number)
Exemple de code
EPushInterface.getAlias(this.sequence++)
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération. Il est recommandé d'utiliser un numéro de séquence numérique différent à chaque fois.
Supprimer l'alias (deleteAlias)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
- S'il n'y a pas de problème avec l'environnement, onAliasOperatorResult rappellera le résultat
Définition de l'interface
/**
* 清除alias
*
* 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
*
* 不限定一个别名只能指定一个用户
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
*/
deleteAlias(sequence: number)
Exemple de code
EPushInterface.deleteAlias(this.sequence++)
Description du paramètre
-séquence
- Le numéro de séquence d'opération défini par l'utilisateur, renvoyé avec le résultat de l'opération, est utilisé pour identifier le caractère unique d'une opération. Il est recommandé d'utiliser un numéro de séquence numérique différent à chaque fois.
Définir TCP SSL (setTcpSSl)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Définissez s'il faut utiliser une connexion cryptée TCP SSL.
- Veuillez appeler avant init *Interface optionnelle
Définition de l'interface
/**
* 设置 TCP SSL
* @param b true: 使用 SSL 加密, false: 不使用 SSL 加密
*/
setTcpSSl(b: boolean)
Exemple de code
EPushInterface.setTcpSSl(true) // 启用 SSL 加密
Description du paramètre
- b est vrai pour utiliser une connexion cryptée TCP SSL, false pour ne pas utiliser le cryptage SSL
Définir le cycle de battement cardiaque (setHeartbeatTime)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
Définissez la longue période de pulsation de connexion pour maintenir la connexion active.
*Interface optionnelle
Définition de l'interface
/**
* 设置长连接心跳周期
* @param heartbeatTime 单位秒,范围[30,290]
*/
setHeartbeatTime(heartbeatTime: number)
Exemple de code
EPushInterface.setHeartbeatTime(60) // 设置心跳周期为 60 秒
Description du paramètre
- période de battement de coeur heartbeatTime, unité en secondes, plage de valeurs comprise entre 30 et 290 secondes
Définir le badge (setBadgeNumber)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 设置角标
*
* @param badgeNumber 角标值
*/
setBadgeNumber(badgeNumber: number)
Exemple de code
EPushInterface.setBadgeNumber(0)
Description du paramètre
- numéro de badge
- 角标值
Réception de messages personnalisés (customMessageBackgroundData)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Cette fonction gère uniquement le scénario dans lequel des messages personnalisés sont transmis via Hongmeng. Si l'entreprise utilise des messages personnalisés, assurez-vous de fonctionner conformément au document du guide d'intégration : [Configuration des informations personnalisées] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置自定义信息).
Définition de l'interface
/**
* 自定义消息集成使用
* 后台自定义信息接收
* @param data BACKGROUND消息
*/
customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Exemple de code
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 { // receiveMessage中的参数固定为BACKGROUND-------后台自定义信息接收
pushService.receiveMessage('BACKGROUND', this, async (data: pushCommon.PushPayload) => {
let jg = await EPushInterface.customMessageBackgroundData(data)
if (jg) { //如果是true为已经处理
return
}
});
} catch (e) {
hilog.info(0x0000, TAG, '%{public}s', 'BACKGROUND fail:'+JSON.stringify(e));
}
}
Description du paramètre
-données - receiveMessage中的参数固定为BACKGROUND数据,即后台数据
- retour
- 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Réception de messages d'appel VoIP (voIPMessageBackgroundData)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Cette fonction gère uniquement le scénario dans lequel les messages d'appel VoIP sont transmis via Hongmeng. Si l'entreprise utilise des messages d'appel VoIP, assurez-vous de fonctionner conformément au document du guide d'intégration : [Configuration des messages d'appel VoIP push] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置推送voip呼叫消息).
Définition de l'interface
/**
* VoIP呼叫消息集成使用
* VoIP呼叫消息接收
* @param data VoIP消息
*/
voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Exemple de code
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为已经处理
return
}
});
} catch (e) {
hilog.info(0x0000, TAG, '%{public}s', 'VoIP fail:'+JSON.stringify(e));
}
}
}
Description du paramètre
-données - receiveMessage中的参数固定为VoIP数据,即通VoIP呼叫消息
- retour
- 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Notifier la réception d'un message étendu - lorsque le processus est actif (extraMessageBackgroundData)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Cette fonction gère uniquement le scénario dans lequel les messages d'extension de notification sont transmis via Hongmeng. Si l'entreprise utilise des messages d'extension de notification, assurez-vous de fonctionner conformément au document du guide d'intégration : [Configuration des messages d'extension de notification] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置通知扩展消息).
Définition de l'interface
/**
* 通知扩展消息集成使用
* 通知扩展消息接收
* @param data IM消息
*/
extraMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Exemple de code
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 { // receiveMessage中的参数固定为IM-------拓展通知接收
pushService.receiveMessage('IM', this, async (data) => {
let jg = await EPushInterface.extraMessageBackgroundData(data)
if (jg) { //如果是true为已经处理
return
}
});
} catch (e) {
hilog.info(0x0000, TAG, '%{public}s', 'IM fail:'+JSON.stringify(e));
}
}
Description du paramètre
-données - receiveMessage中的参数固定为IM数据,即通知扩展消息
- retour
- 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Notifier la réception étendue du message - le processus n'existe pas (receiveExtraDataMessage)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Cette fonction gère uniquement le scénario dans lequel les messages d'extension de notification sont transmis via Hongmeng. Si l'entreprise utilise des messages d'extension de notification, assurez-vous de fonctionner conformément au document du guide d'intégration : [Configuration des messages d'extension de notification] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置通知扩展消息).
Définition de l'interface
/**
* 通知扩展消息集成使用
* 通知扩展消息接收
* @param rNEAbility 对应RemoteNotificationExtensionAbility
* @param data onReceiveMessage数据
*/
receiveExtraDataMessage(rNEAbility: RemoteNotificationExtensionAbility, remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<EMessageExtra | undefined>
Exemple de code
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 {}//如果要修改通知可以反回有数据通知
}
onDestroy(): void {
hilog.info(0x0000, TAG, 'RemoteNotificationExtAbility onDestroy.');
}
}
Description du paramètre
- rNEAbilité
- 对应RemoteNotificationExtensionAbility -données
- onReceiveMessage回调的参数数据,即通知扩展消息
- retour
- 反回数据,EMessageExtra表示正确处理并反回了数据对象,undefined表示不是EngageLab的数据或异常出错
La fonction de traitement des fonctions n'est pas affichée à la réception (defaultMessageBackgroundData)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Si vous utilisez la fonction d'affichage du premier plan, veillez à intégrer cette fonction. Sinon, le push sera envoyé via le canal Hongmeng et la notification ne pourra pas être déclenchée. Le rappel de la fonction d’affichage du premier plan (onUnShowMessage) n’est pas déclenché. Pour plus de détails, veuillez consulter le document du guide d'intégration : [Fonction d'affichage du premier plan] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置「前台不展示功能」) pour le fonctionnement.
Définition de l'interface
/**
* 「前台不展示功能」集成使用
* 「前台不展示功能」数据接收
* @param data 「前台不展示功能」消息数据
*/
defaultMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Exemple de code
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为已经处理
return
}
});
} catch (e) {
hilog.info(0x0000, TAG, '%{public}s', 'DEFAULT fail:'+JSON.stringify(e));
}
}
}
Description du paramètre
-données - receiveMessage中的参数固定为DEFAULT数据,即「前台不展示」消息数据
- retour
- 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Effacer la notification par ID de notification (clearNotification)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Effacer la notification spécifiée par ID de notification
- Seules les notifications affichées peuvent être effacées
Définition de l'interface
/**
* 通过通知ID清除通知
* @param id 通知ID
*/
clearNotification(id: number)
Exemple de code
EPushInterface.clearNotification(notificationId)
Description du paramètre
- ID de notification id, utilisé pour spécifier la notification à effacer
Effacer la notification par ID de message (clearNotificationByMsgId)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Effacer la notification spécifiée par ID de message
- Seules les notifications affichées peuvent être effacées
Définition de l'interface
/**
* 通过消息ID清除通知
* @param msgId 消息ID
*/
clearNotificationByMsgId(msgId: string)
Exemple de code
EPushInterface.clearNotificationByMsgId("your_message_id")
Description du paramètre
- ID du message msgId, utilisé pour spécifier la notification à effacer
Effacer toutes les notifications (clearNotificationAll)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Effacer toutes les notifications affichées par EngageLab
Définition de l'interface
/**
* 清除所有通知
*/
clearNotificationAll()
Exemple de code
EPushInterface.clearNotificationAll()
Description du paramètre
- aucun
API de rapport sur l'état des messages
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Affichage des messages personnalisés du rapport (reportCustomDisplay)
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 上报自定义消息展示
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportCustomDisplay(channel: number, msgId: string)
Exemple de code
EPushInterface.reportCustomDisplay(eCustomMessage.channel, eCustomMessage.msgId as string)
Description du paramètre
- canal : canal de la source de données
0: Canal fabricant1: canal EngageLab
- msgId : identifiant du message
Signaler un clic sur un message personnalisé (reportCustomClick)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 上报自定义消息点击
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportCustomClick(channel: number, msgId: string)
Exemple de code
EPushInterface.reportCustomClick(eCustomMessage.channel, eCustomMessage.msgId as string)
Description du paramètre
- canal : canal de la source de données
0: Canal fabricant1: canal EngageLab
- msgId : identifiant du message
Affichage des notifications de rapport (reportNotificationDisplay)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 上报通知展示
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportNotificationDisplay(channel: number, msgId: string)
Exemple de code
EPushInterface.reportNotificationDisplay(eMessage.channel, eMessage.msgId as string)
Description du paramètre
- canal : canal de la source de données
0: Canal fabricant1: canal EngageLab
- msgId : identifiant du message
Clic de notification de rapport (reportNotificationClick)
Version prise en charge démarrée : EPush HarmonyOS SDK v1.0.0
Description de la fonction
- Veuillez d'abord init, sinon l'appel sera invalide
Définition de l'interface
/**
* 上报通知点击
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportNotificationClick(channel: number, msgId: string)
Exemple de code
EPushInterface.reportNotificationClick(eMessage.channel, eMessage.msgId as string)
Description du paramètre
- canal : canal de la source de données
0: Canal fabricant1: canal EngageLab
- msgId : identifiant du message










