API del SDK de HarmonyOS
Establecer API del modo de depuración (setDebug)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Llámalo en AbilityStage(#onCreate)
- Llame antes de init
- Interfaz opcional
Definición de interfaz
/**
* debug log 设置,默认false
*
* @param debug true 为 debug,false 为非 debug
*/
setDebug(debug: boolean)
Ejemplo de código
EPushInterface.setDebug(true)//启用 debug
Descripción del parámetro
- Si la depuración es verdadera, se imprimirán los registros del nivel de depuración y, si es falsa, solo se imprimirán los registros del nivel de advertencia y superiores.
Configurar la clave de aplicación de EngageLab (setAppKey)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Llámalo en AbilityStage(#onCreate)
- Llame antes de init *Interfaz que debe ser llamada
Definición de interfaz
/**
* 设置appkey
*
* @param appKey 为平台的appkey
*/
setAppKey(appKey: string)
Ejemplo de código
EPushInterface.setAppKey("你的appKey")
Descripción del parámetro
- La clave de aplicación debe obtenerse de la consola de EngageLab.
Configurar canal de descarga (setChannel)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Configurar dinámicamente el canal (canal de descarga de paquetes)
- canal especifica el canal de descarga del paquete de aplicación. Para facilitar las estadísticas por canal, el valor específico lo define usted, como Huawei App Market, etc.
- Llámalo en AbilityStage(#onCreate)
- Llame antes de init *Interfaz que debe ser llamada
Definición de interfaz
/**
* 配置渠道
*
* @param channel 渠道名称
*/
setChannel(channel: string)
Ejemplo de código
EPushInterface.setChannel("渠道名称")
Descripción del parámetro
- Personalización del negocio del usuario del canal.
Configure la cantidad de cachés de mensajes personalizados (setCustomMessageMaxCacheCount)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Esta interfaz se utiliza para enviar mensajes personalizados de EngageLab (no aplicable a mensajes de notificación) y está dirigida a algunos escenarios comerciales especiales de aplicaciones; por ejemplo, cuando su servidor envía 100 mensajes personalizados a un usuario, según las características comerciales o el rendimiento de su propio procesamiento comercial, solo desea procesar y guardar los últimos 10 mensajes, puede usar esta interfaz.
- Llámalo en AbilityStage(#onCreate)
- Llame antes de init
Definición de interfaz
/**
* 配置自定义后台信息缓存条数
*
* @param maxCacheCount 缓存条数
*/
setCustomMessageMaxCacheCount(maxCacheCount: number)
Ejemplo de código
EPushInterface.setCustomMessageMaxCacheCount(2)
Descripción del parámetro
- maxCacheCount número de elementos almacenados en caché
Controlar el método de solicitud de permisos de notificación (setUserRequestNotificationPermission)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Establezca si el desarrollador llama a la notificación para solicitar permiso. Cuando se establece en verdadero, EngageLabSDK no solicitará activamente permisos de notificación y los desarrolladores deberán solicitar permisos de notificación manualmente en su propio código; cuando se establece en falso, EngageLabSDK solicitará automáticamente permisos de notificación durante la inicialización.
- Llámalo en AbilityStage(#onCreate)
- Llame antes de init
- Interfaz opcional
Definición de interfaz
/**
* 设置是否由用户自己调用通知申请权限
* @param applicationContext 应用上下文
* @param enable true: 用户自己调用通知申请权限, false: SDK调用通知申请权限(默认)
*/
setUserRequestNotificationPermission(applicationContext: common.ApplicationContext, enable: boolean)
Ejemplo de código
// 设置用户自己调用通知申请权限
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true)
// 设置SDK调用通知申请权限(默认)
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)
Descripción del parámetro
- enable es verdadero para indicar que el desarrollador solicita permisos de notificación por sí mismo, falso indica que EngageLabSDK solicita permisos de notificación (predeterminado)
Habilitar API de función empresarial push (init)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Servicio push de EngageLab. Después de llamar a esta API, al activar el servicio push de Engagelab se comenzará a recopilar la información personal del usuario necesaria para informar las funciones comerciales del SDK.
- Llamado al inicio
Definición de interfaz
/**
* 开启推送业务功能
* @param context 上下文
*/
init(context: common.UIAbilityContext | common.AbilityStageContext)
Ejemplo de código
EPushInterface.init(this.context)
Descripción del parámetro
- el contexto se pasa en common.AbilityStageContext en AbilityStage y common.UIAbilityContext en UIAbility
Instrucciones de uso de la interfaz
- Si el desarrollador llama activamente al método init, se habilitará el servicio push de Engagelab.
- Teniendo en cuenta el cumplimiento de la APLICACIÓN en línea, el desarrollador debe asegurarse de que los usuarios de la APLICACIÓN estén de acuerdo con la política de privacidad y el desarrollador determina comenzar a brindar servicios push a los usuarios de la Aplicación antes de llamar a la interfaz de función empresarial push para usar el servicio EngageLab.
- Para sugerencias e instrucciones sobre la política de privacidad de la APLICACIÓN, consulte [Cómo redactar una política de privacidad compatible] (/es_ES/docs/app-push/data-privacy/Data-Processing-Guide).
Obtener ID de registro (getRegistrationId)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 反回注册的rid
*
*/
getRegistrationId(): string
Ejemplo de código
let rid = EPushInterface.getRegistrationId()
Descripción del parámetro
- ninguno
Borrar token (clearToken)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Borre el token de inserción del dispositivo actual y utilícelo para volver a registrarse y obtener un nuevo token.
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 清除 token
*/
clearToken()
Ejemplo de código
EPushInterface.clearToken()
Descripción del parámetro
- ninguno
Establecer interfaz de devolución de llamada (setCallBackMsg)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Esta interfaz se utiliza para recibir datos SDK. Por ejemplo: devoluciones de llamada para resultados de registro, resultados de inicio de sesión, resultados de clics en notificaciones, resultados de operaciones de alias de etiquetas, etc. La clase receptora necesita implementar la interfaz CallBackMsg. Vea el ejemplo de código para la función CallBackMsg.
- Llámalo en AbilityStage(#onCreate)
- Llame antes de init *Interfaz que debe ser llamada
Definición de interfaz
/**
* 监听回调事件和数据
*
* @param callBackMsg
*/
setCallBackMsg(callBackMsg: CallBackMsg)
Ejemplo de código
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))
Descripción del parámetro
- callBackMsg: una clase que recibe devoluciones de llamadas de datos del SDK y necesita heredar la interfaz CallBackMsg
Detalles del método de devolución de llamada
Devolución de llamada del resultado del registro (onRegister)
Devolución de llamada del resultado del registro
Definición de interfaz
/**
* 注册结果回调
*
* @param registrationId rid
*/
onRegister(registrationId: string)
Devolución de llamada de estado de conexión larga (isConnected)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Definición de interfaz
/**
* 长连接是否连接成功
*
* 在开启推送业务功能后会进行长连接,连接成功/失败均会回调此方法
*
* @param isConnected 长连接是否连接成功,true为成功;false为失败
*/
onConnected(isConnected: boolean)
Devolución de llamada de evento de clic de notificación (onClickMessage)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Definición de interfaz
/**
* 通知点击事件回调
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)
Devolución de llamada del evento de llegada de notificación (onArrivedMessage)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0 Nota: Esta función se activará solo cuando las notificaciones se envíen a través del canal EngageLab. Las notificaciones enviadas a través del canal del sistema Hongmeng son procesadas por el sistema del dispositivo. Las devoluciones de llamada no son compatibles por el momento.
Definición de interfaz
/**
* 通知到达事件回调
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 notificación no muestra la devolución de llamada de función en primer plano (onUnShowMessage)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Definición de interfaz
/**
* 通知在前台不展示功能生效时触发的事件回调
export class EMessage {
msgId?: string //通知id
title?: string //通知标题
content?: string //通知内容
extras?: Record<string, Object> //自定义数据
channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道
}
*
* @param eMessage
*/
onUnShowMessage(eMessage: EMessage)
Devolución de llamada de evento interactivo (onCommandResult)
Definición de interfaz
/**
* 交互事件回调
* @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:失败 |
Devolución de llamada de mensaje personalizado en segundo plano (onCustomMessage)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Definición de interfaz
/**
* 自定义信息通知回调
* 回调一:冷启动调用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);
Devolución de llamada de mensaje de extensión de notificación (onEMessageExtra)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Definición de interfaz
/**
* 通知扩展消息回调
* @param eMessageExtra
*
* export class EMessageExtra {
* msgId?: string //通知id
* title?: string //通知标题
* content?: string//通知内容
* extras?: Record<string, Object>//自定义数据
* extraData?: string//通知扩展消息的自定义数据
* }
*/
onEMessageExtra(eme: EMessageExtra);
Devolución de llamada de mensaje de llamada VoIP (onEMessageVoIP)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Definición de interfaz
/**
* VoIP呼叫消息回调
* export class EMessageVoIP {
* msgId?: string //通知id
* extraData?: string //VoIP自定义数据
}
* @param emVoIP
*/
onEMessageVoIP(emVoIP: EMessageVoIP);
Devolución de llamada de la interfaz de etiqueta de operación (onTagOperatorResult)
Definición de interfaz
/**
* 操作 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)
Operación de devolución de llamada de la interfaz Alias (onAliasOperatorResult)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Definición de interfaz
/**
* 操作 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)
Recepción de datos de salto de notificación (setClickWant)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Para recibir los datos correspondientes de la devolución de llamada después de hacer clic en la notificación Llamado en onCreate y onNewWant de la página de salto de notificación UIAbility: pasar deseo Luego se volverá a llamar a través del método onClickMessage en la clase CallBackMsg configurada anteriormente.
- Por favor setAppKey primero; de lo contrario, la llamada no será válida
Definición de interfaz
/**
* 在通知跳转页面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>
Ejemplo de código
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));
}
Descripción del parámetro
- querer: por querer en UIAbility
- contexto: contexto de la aplicación, pase
this.contexten UIAbility, pasecontexten AbilityStage
-regresar
- Devolver datos, EMessage significa que el objeto de datos se procesó correctamente y se devolvió, indefinido significa que no hay datos o no son datos de EngageLab o se ha producido una excepción.
Detener notificación (stopPush)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 停止通知
*
*/
stopPush()
Ejemplo de código
EPushInterface.stopPush()
Descripción del parámetro
- ninguno
Reanudar notificación (resumePush)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 恢复通知
*
*/
resumePush()
Ejemplo de código
EPushInterface.resumePush()
Descripción del parámetro
- ninguno
Consulta de estado de notificación (isPushStopped)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 通知状态查询
*
*/
isPushStopped(): boolean | undefined
Ejemplo de código
let isPushStopped = EPushInterface.isPushStopped()
Descripción del parámetro
-Valor de retorno: verdadero para detener, falso para normal, indefinido no inicializado y otras situaciones anormales
Desactivar el servicio push (turnOffPush)
Versiones compatibles
Versión compatible: EPush HarmonyOS SDK v1.0.1.
Descripción de la función
Esta interfaz desactiva el servicio push y difiere del interruptor push del lado del servidor stopPush. El SDK elimina el Push Token del sistema, evita la reconexión automática, desconecta las conexiones persistentes y detiene la recopilación y el envío de información del cliente. Los nuevos datos generados mientras el servicio está desactivado se descartan y no se vuelven a enviar después de la recuperación.
- Las llamadas repetidas mientras hay una tarea de desactivación en curso reutilizan esa tarea.
- Una nueva llamada después de desactivar completamente el servicio devuelve éxito de inmediato y no vuelve a eliminar el Push Token del sistema.
turnOffPushyturnOnPushse programan de forma mutuamente excluyente. Si se llaman rápidamente de forma alterna, la última solicitud determina el estado final.
Definición de interfaz
turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>
Ejemplo de código
const result = await EPushInterface.turnOffPush(this.context)
console.info(`turnOffPush code: ${result.code}, message: ${result.msg}`)
Descripción del parámetro
context: contexto AbilityStage o UIAbility.
Descripción del valor de retorno
| código | significado |
|---|---|
| 0 | Éxito |
| 1 | No se pudo eliminar el Push Token del sistema después de agotar los reintentos. El SDK volvió al estado activo, pero la conexión persistente no se reconstruye automáticamente. Vuelva a llamar a turnOnPush o init para restaurarla |
| 2 | Se agotó el tiempo de espera. El proceso interno de desactivación continúa; vuelva a llamar a esta API para confirmar el resultado final |
| 3 | No se pudo guardar el estado local de desactivación del SDK después de agotar los reintentos. Vuelva a llamar a turnOffPush |
| 4 | Una solicitud de desactivación en cola fue cancelada por un turnOnPush posterior; no se realizó ninguna acción de detención. Vuelva a llamar para confirmar |
| 5 | AppKey no está configurada o el contexto no es válido; no se realizó ninguna acción de detención. Corrija el requisito previo y vuelva a llamar |
Activar el servicio push (turnOnPush)
Versiones compatibles
Versión compatible: EPush HarmonyOS SDK v1.0.1.
Descripción de la función
Utilice la AppKey especificada para restaurar el SDK, las conexiones persistentes, la recopilación y el envío de información, y volver a obtener y enviar el Push Token del sistema. Esta interfaz regresa de inmediato y no proporciona una devolución de llamada de resultado; los resultados de conexión y registro se observan mediante las devoluciones de llamada onConnected, onRegister y los registros existentes. Volver a llamar a init también restaura un servicio desactivado por turnOffPush.
- Esta operación se programa de forma mutuamente excluyente con
turnOffPush. Si se llama durante la desactivación, la activación se pone en cola y nunca se ejecuta en paralelo con la eliminación del Push Token del sistema.- Una solicitud posterior en la dirección opuesta sustituye una operación en cola que aún no ha comenzado.
- El RegistrationID permanece sin cambios.
Definición de interfaz
turnOnPush(
context: common.UIAbilityContext | common.AbilityStageContext,
appKey: string
): void
Ejemplo de código
EPushInterface.turnOnPush(this.context, "your_app_key")
Descripción del parámetro
context: contexto AbilityStage o UIAbility.appKey: La clave de aplicación de EngageLab que debe habilitarse no puede estar vacía.
Instrucciones de uso de la interfaz
- Siempre disponible:
turnOffPush,turnOnPush,init, configuración local, configuración de devolución de llamada y registro. - No disponible temporalmente: API de RegistrationID, Token, etiquetas y alias, insignias, consulta del estado de notificaciones (
isPushStopped) e informes de estado de mensajes que dependen de la inicialización, la red push o la identidad de registro. Las llamadas devuelvenIt must be init first. - Después de llamar a
turnOnPusho volver a llamar ainit, se restaura la API anterior.
#SDKAPI
Etiquetas y alias-api
Agregar nuevas etiquetas (addTags)
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onTagOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 增加指定tag,累加逻辑,之前设置的标签依然存在
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tags 标签数组,每个tag命名长度限制为40字节,最多支持设置1000个tag,且单次操作总长度不得超过5000字节
*/
addTags(sequence: number, tags: string[])
Ejemplo de código
EPushInterface.addTags(this.sequence++, ["ccc", "ddddd"])
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación. -etiquetas
- Cada llamada añade al menos una nueva etiqueta.
- Composición de etiqueta válida: letras (distingue entre mayúsculas y minúsculas), números, guiones bajos, caracteres chinos, caracteres especiales @!#$&*+=.|.
- Restricciones: la longitud del nombre de cada etiqueta está limitada a 40 bytes, se puede configurar un máximo de 1000 etiquetas y la longitud total de una sola operación no debe exceder los 5000 bytes. (Para determinar la longitud, se requiere codificación UTF-8) Un solo dispositivo admite la configuración de hasta 1000 etiquetas. No hay límite para la cantidad de etiquetas globales de aplicaciones.
Eliminar etiquetas (eliminar etiquetas)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onTagOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 删除指定tag,删除逻辑,会删除指定的标签
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tags 标签数组,每个tag命名长度限制为40字节,最多支持设置1000个tag,且单次操作总长度不得超过5000字节
*/
deleteTags(sequence: number, tags: string[])
Ejemplo de código
EPushInterface.deleteTags(this.sequence++, ["ccc"])
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación. -etiquetas
- Eliminar al menos una etiqueta por llamada.
- Composición de etiqueta válida: letras (distingue entre mayúsculas y minúsculas), números, guiones bajos, caracteres chinos, caracteres especiales @!#$&*+=.|.
- Restricciones: la longitud del nombre de cada etiqueta está limitada a 40 bytes, se puede configurar un máximo de 1000 etiquetas y la longitud total de una sola operación no debe exceder los 5000 bytes. (Para determinar la longitud, se requiere codificación UTF-8) Un solo dispositivo admite la configuración de hasta 1000 etiquetas. No hay límite para la cantidad de etiquetas globales de aplicaciones.
Establecer etiquetas (setTags)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onTagOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 更新指定tag,覆盖逻辑,之前添加的tag会清空
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tags 标签数组,每个tag命名长度限制为40字节,最多支持设置1000个tag,且单次操作总长度不得超过5000字节
*/
setTags(sequence: number, tags: string[])
Ejemplo de código
EPushInterface.setTags(this.sequence++, ["xxx", "yyy"])
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación. -etiquetas
- Cada llamada añade al menos una nueva etiqueta.
- Composición de etiqueta válida: letras (distingue entre mayúsculas y minúsculas), números, guiones bajos, caracteres chinos, caracteres especiales @!#$&*+=.|.
- Restricciones: la longitud del nombre de cada etiqueta está limitada a 40 bytes, se puede configurar un máximo de 1000 etiquetas y la longitud total de una sola operación no debe exceder los 5000 bytes. (Para determinar la longitud, se requiere codificación UTF-8) Un solo dispositivo admite la configuración de hasta 1000 etiquetas. No hay límite para la cantidad de etiquetas globales de aplicaciones.
Consultar el estado de enlace de la etiqueta especificada (checkTagBindState)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onTagOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 查询指定tag
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param tag 标签,每个tag命名长度限制为40字节
*/
checkTagBindState(sequence: number, tag: string)
Ejemplo de código
EPushInterface.checkTagBindState(this.sequence++, "ccc")
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación. -etiquetas
- La etiqueta que se está consultando
Borrar todas las etiquetas (cleanTags)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onTagOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 删除所有tag,清空逻辑,会删除所有的标签
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
*/
cleanTags(sequence: number)
Ejemplo de código
EPushInterface.cleanTags(this.sequence++)
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación.
Consultar todas las etiquetas (getTags)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onTagOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 查询所有tag,获取逻辑,会获取所有标签
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param curr 获取当前的页数,开始页数值为1
*/
getTags(sequence: number, curr: number)
Ejemplo de código
EPushInterface.getTags(this.sequence++, 1)
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación.
Establecer alias (setAlias)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onAliasOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 设置alias
*
* 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
*
* 不限定一个别名只能指定一个用户
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
* @param alias 有效的别名组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。限制:alias命名长度限制为 40 字节(判断长度需采用 UTF-8 编码)
*
*/
setAlias(sequence: number, alias: string)
Ejemplo de código
EPushInterface.setAlias(this.sequence++, "gggdd")
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación. Se recomienda utilizar un número de secuencia numérico diferente cada vez.
- alias
- Establecer un alias válido para cada llamada, sobrescribiendo la configuración anterior.
- Los alias válidos constan de: letras (distinguen entre mayúsculas y minúsculas), números, guiones bajos, caracteres chinos, caracteres especiales @!#$&*+=.|.
- Limitación: la longitud del nombre de alias está limitada a 40 bytes. (Para determinar la longitud, se requiere codificación UTF-8)
Alias de consulta (getAlias)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onAliasOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 获取alias
*
* 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
*
* 不限定一个别名只能指定一个用户
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
*/
getAlias(sequence: number)
Ejemplo de código
EPushInterface.getAlias(this.sequence++)
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación. Se recomienda utilizar un número de secuencia numérico diferente cada vez.
Eliminar alias (eliminarAlias)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
- Si no hay ningún problema con el entorno, onAliasOperatorResult devolverá la llamada al resultado
Definición de interfaz
/**
* 清除alias
*
* 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
*
* 不限定一个别名只能指定一个用户
*
* @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
*/
deleteAlias(sequence: number)
Ejemplo de código
EPushInterface.deleteAlias(this.sequence++)
Descripción del parámetro
-secuencia
- El número de secuencia de operación definido por el usuario, devuelto junto con el resultado de la operación, se utiliza para identificar la unicidad de una operación. Se recomienda utilizar un número de secuencia numérico diferente cada vez.
Establecer TCP SSL (setTcpSSl)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Establezca si se utilizará una conexión cifrada TCP SSL.
- Llame antes de init
- Interfaz opcional
Definición de interfaz
/**
* 设置 TCP SSL
* @param b true: 使用 SSL 加密, false: 不使用 SSL 加密
*/
setTcpSSl(b: boolean)
Ejemplo de código
EPushInterface.setTcpSSl(true) // 启用 SSL 加密
Descripción del parámetro
- b es verdadero para usar una conexión cifrada TCP SSL, falso para no usar cifrado SSL
Establecer ciclo de latidos (setHeartbeatTime)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
Configure el período de latido de conexión prolongado para mantener la conexión activa.
- Interfaz opcional
Definición de interfaz
/**
* 设置长连接心跳周期
* @param heartbeatTime 单位秒,范围[30,290]
*/
setHeartbeatTime(heartbeatTime: number)
Ejemplo de código
EPushInterface.setHeartbeatTime(60) // 设置心跳周期为 60 秒
Descripción del parámetro
- heartbeatTime período de latido, unidad de segundos, el rango de valores es de 30 a 290 segundos
Establecer la insignia (setBadgeNumber)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 设置角标
*
* @param badgeNumber 角标值
*/
setBadgeNumber(badgeNumber: number)
Ejemplo de código
EPushInterface.setBadgeNumber(0)
Descripción del parámetro
- número de insignia
- 角标值
Recepción de mensajes personalizados (customMessageBackgroundData)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Esta función solo maneja el escenario donde los mensajes personalizados se entregan a través de Hongmeng. Si la empresa utiliza mensajes personalizados, asegúrese de operar de acuerdo con el documento de la guía de integración: [Configuración de información personalizada] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置自定义信息)
Definición de interfaz
/**
* 自定义消息集成使用
* 后台自定义信息接收
* @param data BACKGROUND消息
*/
customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Ejemplo de código
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));
}
}
Descripción del parámetro
-datos - receiveMessage中的参数固定为BACKGROUND数据,即后台数据 -retorno - 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Recepción de mensajes de llamadas VoIP (voIPMessageBackgroundData)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Esta función solo maneja el escenario donde los mensajes de llamadas VoIP se entregan a través de Hongmeng. Si la empresa utiliza mensajes de llamadas VoIP, asegúrese de operar de acuerdo con el documento de la guía de integración: [Configuración de mensajes de llamadas VoIP push] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置推送voip呼叫消息)
Definición de interfaz
/**
* VoIP呼叫消息集成使用
* VoIP呼叫消息接收
* @param data VoIP消息
*/
voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Ejemplo de código
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));
}
}
}
Descripción del parámetro
-datos - receiveMessage中的参数固定为VoIP数据,即通VoIP呼叫消息 -retorno - 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Notificar la recepción de mensajes extendidos: cuando el proceso esté activo (extraMessageBackgroundData)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Esta función solo maneja el escenario donde los mensajes de extensión de notificación se entregan a través de Hongmeng. Si la empresa utiliza mensajes de extensión de notificación, asegúrese de operar de acuerdo con el documento de la guía de integración: [Configuración de mensajes de extensión de notificación] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置通知扩展消息)
Definición de interfaz
/**
* 通知扩展消息集成使用
* 通知扩展消息接收
* @param data IM消息
*/
extraMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Ejemplo de código
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));
}
}
Descripción del parámetro
-datos - receiveMessage中的参数固定为IM数据,即通知扩展消息 -retorno - 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Notificar la recepción de mensajes extendidos: el proceso no existe (recibirExtraDataMessage)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Esta función solo maneja el escenario donde los mensajes de extensión de notificación se entregan a través de Hongmeng. Si la empresa utiliza mensajes de extensión de notificación, asegúrese de operar de acuerdo con el documento de la guía de integración: [Configuración de mensajes de extensión de notificación] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置通知扩展消息)
Definición de interfaz
/**
* 通知扩展消息集成使用
* 通知扩展消息接收
* @param rNEAbility 对应RemoteNotificationExtensionAbility
* @param data onReceiveMessage数据
*/
receiveExtraDataMessage(rNEAbility: RemoteNotificationExtensionAbility, remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<EMessageExtra | undefined>
Ejemplo de código
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.');
}
}
Descripción del parámetro
- rNEAbilidad
- 对应RemoteNotificationExtensionAbility
- datos
- onReceiveMessage回调的参数数据,即通知扩展消息 -retorno
- 反回数据,EMessageExtra表示正确处理并反回了数据对象,undefined表示不是EngageLab的数据或异常出错
La función de procesamiento de funciones no se muestra en la recepción (defaultMessageBackgroundData)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Si utiliza la función para no mostrar en primer plano, asegúrese de integrar esta función. De lo contrario, el envío se enviará a través del canal Hongmeng y no se podrá activar la notificación. La devolución de llamada de la función para no mostrar en primer plano (onUnShowMessage) no se activa. Para obtener más información, consulte el documento de la guía de integración: [Función para no mostrar en primer plano] (https://docs.jiguang.cn/jpush/client/HarmonyOS/hmos_guide#配置「前台不展示功能」) para conocer su funcionamiento.
Definición de interfaz
/**
* 「前台不展示功能」集成使用
* 「前台不展示功能」数据接收
* @param data 「前台不展示功能」消息数据
*/
defaultMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
Ejemplo de código
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));
}
}
}
Descripción del parámetro
-datos - receiveMessage中的参数固定为DEFAULT数据,即「前台不展示」消息数据 -retorno - 反回数据,true表示正确处理了,false表示不是EngageLab的数据或异常出错
Borrar notificación por ID de notificación (clearNotification)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Borrar la notificación especificada por ID de notificación
- Solo se pueden borrar las notificaciones que se han mostrado
Definición de interfaz
/**
* 通过通知ID清除通知
* @param id 通知ID
*/
clearNotification(id: number)
Ejemplo de código
EPushInterface.clearNotification(notificationId)
Descripción del parámetro
- ID de notificación de identificación, utilizado para especificar la notificación que se borrará
Borrar notificación por ID de mensaje (clearNotificationByMsgId)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Borrar la notificación especificada por ID de mensaje
- Solo se pueden borrar las notificaciones que se han mostrado
Definición de interfaz
/**
* 通过消息ID清除通知
* @param msgId 消息ID
*/
clearNotificationByMsgId(msgId: string)
Ejemplo de código
EPushInterface.clearNotificationByMsgId("your_message_id")
Descripción del parámetro
- ID del mensaje msgId, utilizado para especificar la notificación que se borrará
Borrar todas las notificaciones (clearNotificationAll)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Borrar todas las notificaciones mostradas por EngageLab
Definición de interfaz
/**
* 清除所有通知
*/
clearNotificationAll()
Ejemplo de código
EPushInterface.clearNotificationAll()
Descripción del parámetro
- ninguno
API de informes de estado de mensajes
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Informar visualización de mensajes personalizados (reportCustomDisplay)
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 上报自定义消息展示
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportCustomDisplay(channel: number, msgId: string)
Ejemplo de código
EPushInterface.reportCustomDisplay(eCustomMessage.channel, eCustomMessage.msgId as string)
Descripción del parámetro
- canal: canal de origen de datos
0: Canal del fabricante1: canal EngageLab
- msgId: ID del mensaje
Informar clic en mensaje personalizado (reportCustomClick)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 上报自定义消息点击
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportCustomClick(channel: number, msgId: string)
Ejemplo de código
EPushInterface.reportCustomClick(eCustomMessage.channel, eCustomMessage.msgId as string)
Descripción del parámetro
- canal: canal de origen de datos
0: Canal del fabricante1: canal EngageLab
- msgId: ID del mensaje
Visualización de notificación de informe (reportNotificationDisplay)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero; de lo contrario, la llamada no será válida
Definición de interfaz
/**
* 上报通知展示
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportNotificationDisplay(channel: number, msgId: string)
Ejemplo de código
EPushInterface.reportNotificationDisplay(eMessage.channel, eMessage.msgId as string)
Descripción del parámetro
- canal: canal de origen de datos
0: Canal del fabricante1: canal EngageLab
- msgId: ID del mensaje
Informar clic en notificación (reportNotificationClick)
Versión compatible iniciada: EPush HarmonyOS SDK v1.0.0
Descripción de la función
- Por favor init primero, de lo contrario la llamada no será válida
Definición de interfaz
/**
* 上报通知点击
* @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
* @param msgId 消息ID
*/
reportNotificationClick(channel: number, msgId: string)
Ejemplo de código
EPushInterface.reportNotificationClick(eMessage.channel, eMessage.msgId as string)
Descripción del parámetro
- canal: canal de origen de datos
0: Canal del fabricante1: canal EngageLab
- msgId: ID del mensaje










