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)
              
                  /**
     * debug log 设置,默认false
     *
     * @param debug truedebugfalse 为非 debug
     */
    setDebug(debug: boolean)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setDebug(true)//启用 debug
              
              EPushInterface.setDebug(true)//启用 debug

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 设置appkey
     *
     * @param appKey 为平台的appkey
     */
    setAppKey(appKey: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setAppKey("你的appKey")
              
              EPushInterface.setAppKey("你的appKey")

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 配置渠道
     *
     * @param channel 渠道名称
     */
    setChannel(channel: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setChannel("渠道名称")
              
              EPushInterface.setChannel("渠道名称")

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 配置自定义后台信息缓存条数
     *
     * @param maxCacheCount 缓存条数
     */
    setCustomMessageMaxCacheCount(maxCacheCount: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setCustomMessageMaxCacheCount(2)
              
              EPushInterface.setCustomMessageMaxCacheCount(2)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 设置是否由用户自己调用通知申请权限
     * @param applicationContext 应用上下文
     * @param enable true: 用户自己调用通知申请权限, false: SDK调用通知申请权限(默认)
     */
    setUserRequestNotificationPermission(applicationContext: common.ApplicationContext, enable: boolean)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

// 设置用户自己调用通知申请权限 EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true) // 设置SDK调用通知申请权限(默认) EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)
              
              // 设置用户自己调用通知申请权限
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true)

// 设置SDK调用通知申请权限(默认)
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                 /**
   * 开启推送业务功能
   * @param context 上下文
   */
    init(context: common.UIAbilityContext | common.AbilityStageContext)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.init(this.context)
              
              EPushInterface.init(this.context)

            
Afficher ce bloc de code dans la fenêtre flottante

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
              
                  /**
     * 反回注册的rid
     *
     */
    getRegistrationId(): string

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

let rid = EPushInterface.getRegistrationId()
              
              let rid = EPushInterface.getRegistrationId()

            
Afficher ce bloc de code dans la fenêtre flottante

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()
              
                  /**
     * 清除 token
     */
    clearToken()

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.clearToken()
              
              EPushInterface.clearToken()

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 监听回调事件和数据
     *
     * @param callBackMsg
     */
    setCallBackMsg(callBackMsg: CallBackMsg)

            
Afficher ce bloc de code dans la fenêtre flottante

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))
              
              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))

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 注册结果回调
     *
     * @param registrationId  rid
     */
    onRegister(registrationId: string)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 长连接是否连接成功
     *
     * 在开启推送业务功能后会进行长连接,连接成功/失败均会回调此方法
     *
     * @param isConnected  长连接是否连接成功,true为成功;false为失败
     */
    onConnected(isConnected: boolean)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 通知点击事件回调
       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)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 通知到达事件回调
       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)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 通知在前台不展示功能生效时触发的事件回调
       export class EMessage {
       msgId?: string //通知id
       title?: string //通知标题
       content?: string //通知内容
       extras?: Record<string, Object> //自定义数据
       channel?: number //数据来源通道 0:厂商通道 1:EngageLab通道
       }
     *
     * @param eMessage
     */
    onUnShowMessage(eMessage: EMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

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);
              
                /**
   * 交互事件回调
   * @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);

            
Afficher ce bloc de code dans la fenêtre flottante
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);
              
                /**
   * 自定义信息通知回调
   *  回调一:冷启动调用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);

            
Afficher ce bloc de code dans la fenêtre flottante

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);
              
                /**
   * 通知扩展消息回调
   * @param eMessageExtra
   *
   * export class EMessageExtra {
   * msgId?: string //通知id
   * title?: string //通知标题
   * content?: string//通知内容
   * extras?: Record<string, Object>//自定义数据
   * extraData?: string//通知扩展消息的自定义数据
   * }
   */
  onEMessageExtra(eme: EMessageExtra);

            
Afficher ce bloc de code dans la fenêtre flottante

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);
              
                 /**
   * VoIP呼叫消息回调
   * export class EMessageVoIP {
   * msgId?: string //通知id
   * extraData?: string //VoIP自定义数据
   }
   * @param emVoIP
   */
  onEMessageVoIP(emVoIP: EMessageVoIP);

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                 /**
    * 操作 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)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                /**
   * 操作 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)

            
Afficher ce bloc de code dans la fenêtre flottante

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>
              
                 /**
   * 在通知跳转页面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>

            
Afficher ce bloc de code dans la fenêtre flottante

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)); }
              
              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));
}

            
Afficher ce bloc de code dans la fenêtre flottante

Description du paramètre

  • vouloir : pour vouloir dans UIability
  • contexte : contexte d'application, passez this.context dans UIability, passez context dans 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()
              
                  /**
     * 停止通知
     *
     */
    stopPush()

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.stopPush()
              
              EPushInterface.stopPush()

            
Afficher ce bloc de code dans la fenêtre flottante

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()
              
                  /**
     * 恢复通知
     *
     */
    resumePush()

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.resumePush()
              
              EPushInterface.resumePush()

            
Afficher ce bloc de code dans la fenêtre flottante

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
              
                  /**
     * 通知状态查询
     *
     */
    isPushStopped(): boolean | undefined

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

let isPushStopped = EPushInterface.isPushStopped()
              
              let isPushStopped = EPushInterface.isPushStopped()

            
Afficher ce bloc de code dans la fenêtre flottante

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.
  • turnOffPush et turnOnPush sont 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>
              
              turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

const result = await EPushInterface.turnOffPush(this.context) console.info(`turnOffPush code: ${result.code}, message: ${result.msg}`)
              
              const result = await EPushInterface.turnOffPush(this.context)
console.info(`turnOffPush code: ${result.code}, message: ${result.msg}`)

            
Afficher ce bloc de code dans la fenêtre flottante

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
              
              turnOnPush(
  context: common.UIAbilityContext | common.AbilityStageContext,
  appKey: string
): void

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.turnOnPush(this.context, "your_app_key")
              
              EPushInterface.turnOnPush(this.context, "your_app_key")

            
Afficher ce bloc de code dans la fenêtre flottante

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 renvoient It must be init first.
  • Après avoir appelé turnOnPush ou 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[])
              
                  /**
     * 增加指定tag,累加逻辑,之前设置的标签依然存在
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     * @param tags     标签数组,每个tag命名长度限制为40字节,最多支持设置1000tag,且单次操作总长度不得超过5000字节
     */
    addTags(sequence: number, tags: string[])

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.addTags(this.sequence++, ["ccc", "ddddd"])
              
              EPushInterface.addTags(this.sequence++, ["ccc", "ddddd"])

            
Afficher ce bloc de code dans la fenêtre flottante

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[])
              
                  /**
     * 删除指定tag,删除逻辑,会删除指定的标签
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     * @param tags     标签数组,每个tag命名长度限制为40字节,最多支持设置1000tag,且单次操作总长度不得超过5000字节
     */
    deleteTags(sequence: number, tags: string[])

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.deleteTags(this.sequence++, ["ccc"])
              
                EPushInterface.deleteTags(this.sequence++, ["ccc"])

            
Afficher ce bloc de code dans la fenêtre flottante

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[])
              
                  /**
     * 更新指定tag,覆盖逻辑,之前添加的tag会清空
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     * @param tags     标签数组,每个tag命名长度限制为40字节,最多支持设置1000tag,且单次操作总长度不得超过5000字节
     */
    setTags(sequence: number, tags: string[])

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setTags(this.sequence++, ["xxx", "yyy"])
              
              EPushInterface.setTags(this.sequence++, ["xxx", "yyy"])

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 查询指定tag
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     * @param tag      标签,每个tag命名长度限制为40字节
     */
    checkTagBindState(sequence: number, tag: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.checkTagBindState(this.sequence++, "ccc")
              
               EPushInterface.checkTagBindState(this.sequence++, "ccc")

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 删除所有tag,清空逻辑,会删除所有的标签
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     */
    cleanTags(sequence: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.cleanTags(this.sequence++)
              
              EPushInterface.cleanTags(this.sequence++)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 查询所有tag,获取逻辑,会获取所有标签
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     * @param curr  获取当前的页数,开始页数值为1
     */
    getTags(sequence: number, curr: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.getTags(this.sequence++, 1)
              
              EPushInterface.getTags(this.sequence++, 1)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 设置alias
     *
     * 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
     *
     * 不限定一个别名只能指定一个用户
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     * @param alias    有效的别名组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|。限制:alias命名长度限制为 40 字节(判断长度需采用 UTF-8 编码)
     *
     */
    setAlias(sequence: number, alias: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setAlias(this.sequence++, "gggdd")
              
               EPushInterface.setAlias(this.sequence++, "gggdd")

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 获取alias
     *
     * 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
     *
     * 不限定一个别名只能指定一个用户
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     */
    getAlias(sequence: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.getAlias(this.sequence++)
              
              EPushInterface.getAlias(this.sequence++)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 清除alias
     *
     * 同一个应用程序内,对不同的用户,建议取不同的别名。这样,尽可能根据别名来唯一确定用户
     *
     * 不限定一个别名只能指定一个用户
     *
     * @param sequence 用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性
     */
    deleteAlias(sequence: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.deleteAlias(this.sequence++)
              
              EPushInterface.deleteAlias(this.sequence++)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 设置 TCP SSL
     * @param b true: 使用 SSL 加密, false: 不使用 SSL 加密
     */
    setTcpSSl(b: boolean)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setTcpSSl(true) // 启用 SSL 加密
              
              EPushInterface.setTcpSSl(true) // 启用 SSL 加密

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 设置长连接心跳周期
     * @param heartbeatTime 单位秒,范围[30,290]
     */
    setHeartbeatTime(heartbeatTime: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setHeartbeatTime(60) // 设置心跳周期为 60 秒
              
              EPushInterface.setHeartbeatTime(60) // 设置心跳周期为 60 秒

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 设置角标
     *
     * @param badgeNumber 角标值
     */
    setBadgeNumber(badgeNumber: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.setBadgeNumber(0)
              
                EPushInterface.setBadgeNumber(0)

            
Afficher ce bloc de code dans la fenêtre flottante

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

Définition de l'interface

/** * 自定义消息集成使用 * 后台自定义信息接收 * @param data BACKGROUND消息 */ customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * 自定义消息集成使用
     * 后台自定义信息接收
     * @param data BACKGROUND消息
     */
    customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Afficher ce bloc de code dans la fenêtre flottante

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)); } }
              
              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));
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

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

Définition de l'interface

/** * VoIP呼叫消息集成使用 * VoIP呼叫消息接收 * @param data VoIP消息 */ voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * VoIP呼叫消息集成使用
     * VoIP呼叫消息接收
     * @param data VoIP消息
     */
    voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Afficher ce bloc de code dans la fenêtre flottante

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)); } } }
              
              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));
    }
  }


}

            
Afficher ce bloc de code dans la fenêtre flottante

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>
              
                  /**
     * 通知扩展消息集成使用
     * 通知扩展消息接收
     * @param data IM消息
     */
    extraMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Afficher ce bloc de code dans la fenêtre flottante

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)); } }
              
              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));
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

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>
              
                  /**
     * 通知扩展消息集成使用
     * 通知扩展消息接收
     * @param rNEAbility 对应RemoteNotificationExtensionAbility
     * @param data onReceiveMessage数据
     */
    receiveExtraDataMessage(rNEAbility: RemoteNotificationExtensionAbility, remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<EMessageExtra | undefined>

            
Afficher ce bloc de code dans la fenêtre flottante

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.'); } }
              
              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.');
  }
}

            
Afficher ce bloc de code dans la fenêtre flottante

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>
              
                  /**
     * 「前台不展示功能」集成使用
     * 「前台不展示功能」数据接收
     * @param data 「前台不展示功能」消息数据
     */
    defaultMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Afficher ce bloc de code dans la fenêtre flottante

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)); } } }
              
              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));
    }
  }
}

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 通过通知ID清除通知
     * @param id 通知ID
     */
    clearNotification(id: number)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.clearNotification(notificationId)
              
              EPushInterface.clearNotification(notificationId)

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 通过消息ID清除通知
     * @param msgId 消息ID
     */
    clearNotificationByMsgId(msgId: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.clearNotificationByMsgId("your_message_id")
              
              EPushInterface.clearNotificationByMsgId("your_message_id")

            
Afficher ce bloc de code dans la fenêtre flottante

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()
              
                  /**
     * 清除所有通知
     */
    clearNotificationAll()

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.clearNotificationAll()
              
              EPushInterface.clearNotificationAll()

            
Afficher ce bloc de code dans la fenêtre flottante

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)
              
                  /**
     * 上报自定义消息展示
     * @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
     * @param msgId 消息ID
     */
    reportCustomDisplay(channel: number, msgId: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.reportCustomDisplay(eCustomMessage.channel, eCustomMessage.msgId as string)
              
              EPushInterface.reportCustomDisplay(eCustomMessage.channel, eCustomMessage.msgId as string)

            
Afficher ce bloc de code dans la fenêtre flottante

Description du paramètre

  • canal : canal de la source de données
    • 0 : Canal fabricant
    • 1 : 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)
              
                  /**
     * 上报自定义消息点击
     * @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
     * @param msgId 消息ID
     */
    reportCustomClick(channel: number, msgId: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.reportCustomClick(eCustomMessage.channel, eCustomMessage.msgId as string)
              
              EPushInterface.reportCustomClick(eCustomMessage.channel, eCustomMessage.msgId as string)

            
Afficher ce bloc de code dans la fenêtre flottante

Description du paramètre

  • canal : canal de la source de données
    • 0 : Canal fabricant
    • 1 : 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)
              
                  /**
     * 上报通知展示
     * @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
     * @param msgId 消息ID
     */
    reportNotificationDisplay(channel: number, msgId: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.reportNotificationDisplay(eMessage.channel, eMessage.msgId as string)
              
              EPushInterface.reportNotificationDisplay(eMessage.channel, eMessage.msgId as string)

            
Afficher ce bloc de code dans la fenêtre flottante

Description du paramètre

  • canal : canal de la source de données
    • 0 : Canal fabricant
    • 1 : 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)
              
                  /**
     * 上报通知点击
     * @param channel 数据来源通道 0:厂商通道 1:EngageLab通道
     * @param msgId 消息ID
     */
    reportNotificationClick(channel: number, msgId: string)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code

EPushInterface.reportNotificationClick(eMessage.channel, eMessage.msgId as string)
              
              EPushInterface.reportNotificationClick(eMessage.channel, eMessage.msgId as string)

            
Afficher ce bloc de code dans la fenêtre flottante

Description du paramètre

  • canal : canal de la source de données
    • 0 : Canal fabricant
    • 1 : canal EngageLab
  • msgId : identifiant du message
Icon Solid Transparent White Qiyu
Contactez-nous