Logo Site EngageLab Mark Colored Transparent
Dokumentation

SDK-API

API zum Setzen des Debug-Modus (setDebug)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Bitte im AbilityStage(#onCreate) aufrufen.
  • Bitte vor dem Aufruf von init ausführen.
  • Optionales Interface.

Schnittstellendefinition

/** * Debug-Log-Einstellung, Standardwert: false * * @param debug true für Debug, false für Nicht-Debug */ setDebug(debug: boolean)
              
                  /**
     * Debug-Log-Einstellung, Standardwert: false
     *
     * @param debug true für Debug, false für Nicht-Debug
     */
    setDebug(debug: boolean)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.setDebug(true) // Debug aktivieren
              
              EPushInterface.setDebug(true) // Debug aktivieren

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • Bei debug = true werden Logs auf Debug-Level ausgegeben, bei false nur Logs ab Warning-Level.

EngageLab Appkey konfigurieren (setAppKey)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Bitte im AbilityStage(#onCreate) aufrufen.
  • Bitte vor dem Aufruf von init ausführen.
  • Muss zwingend aufgerufen werden.

Schnittstellendefinition

/** * Appkey setzen * * @param appKey Appkey der Plattform */ setAppKey(appKey: string)
              
                  /**
     * Appkey setzen
     *
     * @param appKey Appkey der Plattform
     */
    setAppKey(appKey: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.setAppKey("IhrAppKey")
              
              EPushInterface.setAppKey("IhrAppKey")

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • appKey muss aus dem EngageLab-Admin-Panel bezogen werden.

Download-Kanal konfigurieren (setChannel)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Dynamische Konfiguration des Channels (Download-Kanal der App).

  • channel gibt den Download-Kanal des App-Pakets an, z. B. Huawei AppGallery. Der Wert ist frei definierbar.
  • Bitte im AbilityStage(#onCreate) aufrufen.
  • Bitte vor dem Aufruf von init ausführen.
  • Muss zwingend aufgerufen werden.

Schnittstellendefinition

/** * Kanal konfigurieren * * @param channel Kanalname */ setChannel(channel: string)
              
                  /**
     * Kanal konfigurieren
     *
     * @param channel Kanalname
     */
    setChannel(channel: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.setChannel("Kanalname")
              
              EPushInterface.setChannel("Kanalname")

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • channel ist frei definierbar und dient Ihren eigenen Geschäftszwecken.

Maximale Cache-Anzahl für benutzerdefinierte Nachrichten konfigurieren (setCustomMessageMaxCacheCount)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Dieses Interface dient dem Caching von EngageLab-Benutzerdefinierten Nachrichten (nicht für Benachrichtigungen). Beispiel: Wenn der Server 100 Nachrichten sendet, aber nur die letzten 10 verarbeitet bzw. gespeichert werden sollen.

  • Bitte im AbilityStage(#onCreate) aufrufen.
  • Bitte vor dem Aufruf von init ausführen.

Schnittstellendefinition

/** * Maximale Cache-Anzahl für benutzerdefinierte Backend-Informationen konfigurieren * * @param maxCacheCount Anzahl der zu cachenden Einträge */ setCustomMessageMaxCacheCount(maxCacheCount: number)
              
                  /**
     * Maximale Cache-Anzahl für benutzerdefinierte Backend-Informationen konfigurieren
     *
     * @param maxCacheCount Anzahl der zu cachenden Einträge
     */
    setCustomMessageMaxCacheCount(maxCacheCount: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • maxCacheCount: Anzahl der zu speichernden Nachrichten.

Steuerung der Anforderung von Benachrichtigungsberechtigungen (setUserRequestNotificationPermission)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Legt fest, ob die Berechtigungsanfrage für Benachrichtigungen von Ihnen als Entwickler:in oder vom EngageLabSDK durchgeführt wird.

  • Bitte im AbilityStage(#onCreate) aufrufen.
  • Bitte vor dem Aufruf von init ausführen.
  • Optionales Interface.

Schnittstellendefinition

/** * Festlegen, ob die Berechtigungsanfrage für Benachrichtigungen vom Nutzer selbst ausgelöst wird * @param applicationContext App-Kontext * @param enable true: Sie rufen die Berechtigungsanfrage selbst auf, false: SDK ruft die Berechtigungsanfrage auf (Standard) */ setUserRequestNotificationPermission(applicationContext: common.ApplicationContext, enable: boolean)
              
                  /**
     * Festlegen, ob die Berechtigungsanfrage für Benachrichtigungen vom Nutzer selbst ausgelöst wird
     * @param applicationContext App-Kontext
     * @param enable true: Sie rufen die Berechtigungsanfrage selbst auf, false: SDK ruft die Berechtigungsanfrage auf (Standard)
     */
    setUserRequestNotificationPermission(applicationContext: common.ApplicationContext, enable: boolean)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

// Sie rufen die Berechtigungsanfrage selbst auf EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true) // SDK ruft die Berechtigungsanfrage auf (Standard) EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)
              
              // Sie rufen die Berechtigungsanfrage selbst auf
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), true)

// SDK ruft die Berechtigungsanfrage auf (Standard)
EPushInterface.setUserRequestNotificationPermission(this.context.getApplicationContext(), false)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • enable = true: Sie müssen die Berechtigungen selbst anfordern.
  • enable = false: Das EngageLabSDK fordert die Berechtigungen automatisch an (Standard).

Push-Service aktivieren (init)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Startet den EngageLab Push-Service und beginnt mit der Sammlung der für den SDK-Betrieb notwendigen Nutzerdaten.

  • Beim App-Start aufrufen.

Schnittstellendefinition

/** * Push-Service aktivieren * @param context Kontext */ init(context: common.UIAbilityContext | common.AbilityStageContext)
              
                 /**
   * Push-Service aktivieren
   * @param context Kontext
   */
    init(context: common.UIAbilityContext | common.AbilityStageContext)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • context: In AbilityStage common.AbilityStageContext, in UIAbility common.UIAbilityContext.

Hinweise zur Nutzung

  • Mit dem expliziten Aufruf von init wird der Push-Service aktiviert.
  • Aus Compliance-Gründen darf der Push-Service erst nach Zustimmung zur Datenschutzerklärung aktiviert werden.
  • Hinweise zur Datenschutzerklärung siehe Wie erstellt man eine konforme Datenschutzerklärung?.

RegistrationID abrufen (getRegistrationId)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Erst nach Aufruf von init gültig.

Schnittstellendefinition

/** * Gibt die registrierte rid zurück * */ getRegistrationId(): string
              
                  /**
     * Gibt die registrierte rid zurück
     *
     */
    getRegistrationId(): string

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • Keine.

Token löschen (clearToken)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Löscht das aktuelle Push-Token des Geräts, um eine Neuregistrierung zu ermöglichen.

  • Erst nach Aufruf von init gültig.

Schnittstellendefinition

/** * Token löschen */ clearToken()
              
                  /**
     * Token löschen
     */
    clearToken()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.clearToken()
              
              EPushInterface.clearToken()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • Keine.

Callback-Schnittstelle festlegen (setCallBackMsg)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Diese Schnittstelle empfängt SDK-Daten, etwa Ergebnisse der Registrierung und Anmeldung, Benachrichtigungsklicks sowie Ergebnisse von Tag- und Alias-Operationen. Die empfangende Klasse muss die Schnittstelle CallBackMsg implementieren. Das Codebeispiel zeigt ihre Verwendung.

  • Rufen Sie diese Schnittstelle in AbilityStage(#onCreate) auf.
  • Rufen Sie diese Schnittstelle vor init auf
  • Erforderliche Schnittstelle

Schnittstellendefinition

/** * Callback-Ereignisse und Daten empfangen * * @param callBackMsg */ setCallBackMsg(callBackMsg: CallBackMsg)
              
                  /**
     * Callback-Ereignisse und Daten empfangen
     *
     * @param callBackMsg 
     */
    setCallBackMsg(callBackMsg: CallBackMsg)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

class MyCallBackMsg extends CallBackMsg { context: common.ApplicationContext constructor(co: common.ApplicationContext) { super(); this.context = co } /** * Gibt nach erfolgreicher Registrierung die RID zurück * @param registrationId Gibt nach erfolgreicher Registrierung die RID zurück */ onRegister(registrationId: string): void { hilog.info(0x0000, 'testTag', '%{public}s', 'onRegister registrationId:' + registrationId); this.context.eventHub.emit('jPush_event', "registrationId:" + registrationId); } /** * Callback für die Anmeldung über die dauerhafte Verbindung * @param isConnected true: erfolgreich, false: fehlgeschlagen */ onConnected(isConnected: boolean): void { hilog.info(0x0000, 'testTag', '%{public}s', 'onConnected isConnected:' + isConnected); this.context.eventHub.emit('jPush_event', "isConnected:" + isConnected); } /** * Callback für Tag-Operationen * @param eTagMessage * export class ETagMessage { * sequence?: number //Vorgangs-ID; muss global eindeutig sein * code?: number //0: erfolgreich; ETagMessage.CODE_TIME_OUT: Zeitüberschreitung * op?: string * tags?: string[] //Zugehörige Daten * curr?: number //Aktuelle Datenseite; beginnt bei 1 * total?: number //Gesamtzahl der Datenseiten * msg?: string * validated?:boolean //checkTagBindState prüft, ob das Tag vorhanden ist * } */ 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)); } /** * Callback für Alias-Operationen * @param eAliasMessage * export class EAliasMessage { * sequence?: number //Vorgangs-ID; muss global eindeutig sein * code?: number //0: erfolgreich; EAliasMessage.CODE_TIME_OUT: Zeitüberschreitung * op?: string * alias?: string //Zugehörige Daten * 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)); } /** * Callback für Benachrichtigungsklicks * @param eMessage * * export class EMessage { * msgId?: string //Benachrichtigungs-ID * title?: string //Benachrichtigungstitel * content?: string//Benachrichtigungsinhalt * extras?: Record<string, Object>//Benutzerdefinierte Daten * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab 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)); } /** * Callback für eingegangene Benachrichtigungen (nur über den EngageLab-Kanal; Benachrichtigungen über den HarmonyOS-Systemkanal verarbeitet das Gerät ohne Callback) * Unterstützt ab EPush HarmonyOS SDK v1.0.0 * @param eMessage * * export class EMessage { * msgId?: string //Benachrichtigungs-ID * title?: string //Benachrichtigungstitel * content?: string//Benachrichtigungsinhalt * extras?: Record<string, Object>//Benutzerdefinierte Daten * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Hier ist tatsächlich nur der Wert 1 möglich) * } */ onArrivedMessage(eMessage: EMessage) { hilog.info(0x0000, 'testTag', '%{public}s', 'onArrivedMessage eMessage:' + JSON.stringify(eMessage)); this.context.eventHub.emit('jPush_event', "onArrivedMessage:" + JSON.stringify(eMessage)); } /** * Callback bei Unterdrückung einer Benachrichtigung im Vordergrund * Unterstützt ab EPush HarmonyOS SDK v1.0.0 * @param eMessage * * export class EMessage { * msgId?: string //Benachrichtigungs-ID * title?: string //Benachrichtigungstitel * content?: string//Benachrichtigungsinhalt * extras?: Record<string, Object>//Benutzerdefinierte Daten * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal * } */ onUnShowMessage(eMessage: EMessage) { hilog.info(0x0000, 'testTag', '%{public}s', 'onUnShowMessage eMessage:' + JSON.stringify(eMessage)); this.context.eventHub.emit('jPush_event', "onUnShowMessage:" + JSON.stringify(eMessage)); } /** * Callback für benutzerdefinierte Nachrichten * Callback 1: Nach einem Kaltstart und der SDK-Initialisierung werden bisher nicht gemeldete Nachrichten übergeben. * Callback 2: Bei laufender App werden Nachrichten direkt übergeben. * Für Callbacks zu benutzerdefinierten Nachrichten über Herstellerkanäle beachten Sie customMessageBackgroundData oder die Konfiguration benutzerdefinierter Nachrichten in der Integrationsanleitung. * @param eCustomMessage * * export class ECustomMessage { * msgId?: string //Benachrichtigungs-ID * title?: string //Benachrichtigungstitel * content?: string //Benachrichtigungsinhalt * contentType?: string //Inhaltstyp der Benachrichtigung * extras?: Record<string, Object> //Benutzerdefinierte Schlüssel-Wert-Paare der Benachrichtigung * ttl?: number //Ablaufzeit der serverseitig gesendeten Nachricht in Sekunden * stime?: number //Serverseitiger Sendezeitpunkt in Millisekunden * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab 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)); } /** * Callback für erweiterte Benachrichtigungsnachrichten * Für erweiterte Nachrichten über Herstellerkanäle beachten Sie extraMessageBackgroundData, receiveExtraDataMessage oder die Konfiguration erweiterter Benachrichtigungsnachrichten in der Integrationsanleitung. * * @param eMessageExtra * * export class EMessageExtra { * msgId?: string //Benachrichtigungs-ID * title?: string //Benachrichtigungstitel * content?: string//Benachrichtigungsinhalt * extras?: Record<string, Object>//Benutzerdefinierte Daten * extraData?: string//Benutzerdefinierte Daten der erweiterten Benachrichtigungsnachricht * } */ onEMessageExtra(eme: EMessageExtra) { hilog.info(0x0000, TAG, '%{public}s', 'onEMessageExtra eme:' + JSON.stringify(eme)); this.context.eventHub.emit('jPush_event', "onEMessageExtra:" + JSON.stringify(eme)); } /** * Callback für VoIP-Anrufnachrichten * Für VoIP-Callbacks über Herstellerkanäle beachten Sie voIPMessageBackgroundData oder die Konfiguration von VoIP-Push-Nachrichten in der Integrationsanleitung. * * export class EMessageVoIP { * msgId?: string //Benachrichtigungs-ID * extraData?: string //Benutzerdefinierte VoIP-Daten } * @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 //Vorgangstyp * errorCode?: number //Statuscode * msg?: string //Inhalt * 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
  }

  /**
   * Gibt nach erfolgreicher Registrierung die RID zurück
   * @param registrationId Gibt nach erfolgreicher Registrierung die RID zurück
   */
  onRegister(registrationId: string): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'onRegister registrationId:' + registrationId);
    this.context.eventHub.emit('jPush_event', "registrationId:" + registrationId);
  }

  /**
   * Callback für die Anmeldung über die dauerhafte Verbindung
   * @param isConnected true: erfolgreich, false: fehlgeschlagen
   */
  onConnected(isConnected: boolean): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'onConnected isConnected:' + isConnected);
    this.context.eventHub.emit('jPush_event', "isConnected:" + isConnected);
  }

  /**
   * Callback für Tag-Operationen
   * @param eTagMessage
   * export class ETagMessage {
   * sequence?: number //Vorgangs-ID; muss global eindeutig sein
   * code?: number //0: erfolgreich; ETagMessage.CODE_TIME_OUT: Zeitüberschreitung
   * op?: string
   * tags?: string[] //Zugehörige Daten
   * curr?: number //Aktuelle Datenseite; beginnt bei 1
   * total?: number //Gesamtzahl der Datenseiten
   * msg?: string
   * validated?:boolean //checkTagBindState prüft, ob das Tag vorhanden ist
   * }
   */
  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));
  }

  /**
   * Callback für Alias-Operationen
   * @param eAliasMessage
   * export class EAliasMessage {
   * sequence?: number //Vorgangs-ID; muss global eindeutig sein
   * code?: number //0: erfolgreich; EAliasMessage.CODE_TIME_OUT: Zeitüberschreitung
   * op?: string
   * alias?: string //Zugehörige Daten
   * 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));
  }

  /**
   * Callback für Benachrichtigungsklicks
   * @param eMessage
   *
   * export class EMessage {
   * msgId?: string //Benachrichtigungs-ID
   * title?: string //Benachrichtigungstitel
   * content?: string//Benachrichtigungsinhalt
   * extras?: Record<string, Object>//Benutzerdefinierte Daten
   * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab 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));
  }

  /**
   * Callback für eingegangene Benachrichtigungen (nur über den EngageLab-Kanal; Benachrichtigungen über den HarmonyOS-Systemkanal verarbeitet das Gerät ohne Callback)
   * Unterstützt ab EPush HarmonyOS SDK v1.0.0
   * @param eMessage
   *
   * export class EMessage {
   * msgId?: string //Benachrichtigungs-ID
   * title?: string //Benachrichtigungstitel
   * content?: string//Benachrichtigungsinhalt
   * extras?: Record<string, Object>//Benutzerdefinierte Daten
   * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Hier ist tatsächlich nur der Wert 1 möglich)
   * }
   */
  onArrivedMessage(eMessage: EMessage) {
    hilog.info(0x0000, 'testTag', '%{public}s', 'onArrivedMessage eMessage:' + JSON.stringify(eMessage));
    this.context.eventHub.emit('jPush_event', "onArrivedMessage:" + JSON.stringify(eMessage));
  }

  /**
   * Callback bei Unterdrückung einer Benachrichtigung im Vordergrund
   * Unterstützt ab EPush HarmonyOS SDK v1.0.0
   * @param eMessage
   *
   * export class EMessage {
   * msgId?: string //Benachrichtigungs-ID
   * title?: string //Benachrichtigungstitel
   * content?: string//Benachrichtigungsinhalt
   * extras?: Record<string, Object>//Benutzerdefinierte Daten
   * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal
   * }
   */
  onUnShowMessage(eMessage: EMessage) {
    hilog.info(0x0000, 'testTag', '%{public}s', 'onUnShowMessage eMessage:' + JSON.stringify(eMessage));
    this.context.eventHub.emit('jPush_event', "onUnShowMessage:" + JSON.stringify(eMessage));
  }

   /**
   * Callback für benutzerdefinierte Nachrichten
   *  Callback 1: Nach einem Kaltstart und der SDK-Initialisierung werden bisher nicht gemeldete Nachrichten übergeben.
   *  Callback 2: Bei laufender App werden Nachrichten direkt übergeben.
   *  Für Callbacks zu benutzerdefinierten Nachrichten über Herstellerkanäle beachten Sie customMessageBackgroundData oder die Konfiguration benutzerdefinierter Nachrichten in der Integrationsanleitung.
   * @param eCustomMessage
   *
   * export class ECustomMessage {
   *  msgId?: string //Benachrichtigungs-ID
   *  title?: string //Benachrichtigungstitel
   *  content?: string //Benachrichtigungsinhalt
   *  contentType?: string //Inhaltstyp der Benachrichtigung
   *  extras?: Record<string, Object> //Benutzerdefinierte Schlüssel-Wert-Paare der Benachrichtigung
   *  ttl?: number //Ablaufzeit der serverseitig gesendeten Nachricht in Sekunden
   *  stime?: number //Serverseitiger Sendezeitpunkt in Millisekunden
   *  channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab 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));
  }

  /**
   * Callback für erweiterte Benachrichtigungsnachrichten
   * Für erweiterte Nachrichten über Herstellerkanäle beachten Sie extraMessageBackgroundData, receiveExtraDataMessage oder die Konfiguration erweiterter Benachrichtigungsnachrichten in der Integrationsanleitung.
   *
   * @param eMessageExtra
   *
   * export class EMessageExtra {
   * msgId?: string //Benachrichtigungs-ID
   * title?: string //Benachrichtigungstitel
   * content?: string//Benachrichtigungsinhalt
   * extras?: Record<string, Object>//Benutzerdefinierte Daten
   * extraData?: string//Benutzerdefinierte Daten der erweiterten Benachrichtigungsnachricht
   * }
   */
  onEMessageExtra(eme: EMessageExtra) {
    hilog.info(0x0000, TAG, '%{public}s', 'onEMessageExtra eme:' + JSON.stringify(eme));
    this.context.eventHub.emit('jPush_event', "onEMessageExtra:" + JSON.stringify(eme));
  }

  /**
   * Callback für VoIP-Anrufnachrichten
   * Für VoIP-Callbacks über Herstellerkanäle beachten Sie voIPMessageBackgroundData oder die Konfiguration von VoIP-Push-Nachrichten in der Integrationsanleitung.
   *
   * export class EMessageVoIP {
   * msgId?: string //Benachrichtigungs-ID
   * extraData?: string //Benutzerdefinierte VoIP-Daten
   }
   * @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 //Vorgangstyp
   * errorCode?: number //Statuscode
   * msg?: string //Inhalt
   * 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))

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • callBackMsg: Klasse zum Empfang von SDK-Callbacks; sie muss die Schnittstelle CallBackMsg implementieren.

Callback-Methoden im Detail

Callback für das Registrierungsergebnis(onRegister)

Callback für das Registrierungsergebnis

Schnittstellendefinition
/** * Callback für das Registrierungsergebnis * * @param registrationId rid */ onRegister(registrationId: string)
              
                  /**
     * Callback für das Registrierungsergebnis
     *
     * @param registrationId  rid
     */
    onRegister(registrationId: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für den Status der dauerhaften Verbindung(isConnected)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Schnittstellendefinition
/** * Ob die dauerhafte Verbindung hergestellt wurde * * Nach Aktivierung des Push-Dienstes wird eine dauerhafte Verbindung aufgebaut. Diese Methode wird bei Erfolg und Fehlschlag aufgerufen. * * @param isConnected Ob die dauerhafte Verbindung hergestellt wurde: true = erfolgreich; false = fehlgeschlagen */ onConnected(isConnected: boolean)
              
                  /**
     * Ob die dauerhafte Verbindung hergestellt wurde
     *
     * Nach Aktivierung des Push-Dienstes wird eine dauerhafte Verbindung aufgebaut. Diese Methode wird bei Erfolg und Fehlschlag aufgerufen.
     *
     * @param isConnected  Ob die dauerhafte Verbindung hergestellt wurde: true = erfolgreich; false = fehlgeschlagen
     */
    onConnected(isConnected: boolean)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für Benachrichtigungsklicks(onClickMessage)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Schnittstellendefinition
/** * Callback für Benachrichtigungsklicks export class EMessage { msgId?: string //Benachrichtigungs-ID title?: string //Benachrichtigungstitel content?: string //Benachrichtigungsinhalt extras?: Record<string, Object> //Benutzerdefinierte Daten channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab EPush HarmonyOS SDK v1.0.0) } * * @param eMessage */ onClickMessage(eMessage: EMessage)
              
                  /**
     * Callback für Benachrichtigungsklicks
       export class EMessage {
       msgId?: string //Benachrichtigungs-ID
       title?: string //Benachrichtigungstitel
       content?: string //Benachrichtigungsinhalt
       extras?: Record<string, Object> //Benutzerdefinierte Daten
       channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab EPush HarmonyOS SDK v1.0.0)
       }
     *
     * @param eMessage
     */
    onClickMessage(eMessage: EMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für eingegangene Benachrichtigungen(onArrivedMessage)

Unterstützt ab EPush HarmonyOS SDK v1.0.0 Hinweis: Diese Funktion wird nur für Benachrichtigungen über den EngageLab-Kanal ausgelöst. Benachrichtigungen über den HarmonyOS-Systemkanal verarbeitet das Gerätesystem; ein Callback wird dafür derzeit nicht unterstützt.

Schnittstellendefinition
/** * Callback für eingegangene Benachrichtigungen export class EMessage { msgId?: string //Benachrichtigungs-ID title?: string //Benachrichtigungstitel content?: string //Benachrichtigungsinhalt extras?: Record<string, Object> //Benutzerdefinierte Daten channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Hier ist tatsächlich nur der Wert 1 möglich) } * * @param eMessage */ onArrivedMessage(eMessage: EMessage)
              
                  /**
     * Callback für eingegangene Benachrichtigungen
       export class EMessage {
       msgId?: string //Benachrichtigungs-ID
       title?: string //Benachrichtigungstitel
       content?: string //Benachrichtigungsinhalt
       extras?: Record<string, Object> //Benutzerdefinierte Daten
       channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Hier ist tatsächlich nur der Wert 1 möglich)
       }
     *
     * @param eMessage
     */
    onArrivedMessage(eMessage: EMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für im Vordergrund unterdrückte Benachrichtigungen(onUnShowMessage)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Schnittstellendefinition
/** * Callback bei Unterdrückung einer Benachrichtigung im Vordergrund export class EMessage { msgId?: string //Benachrichtigungs-ID title?: string //Benachrichtigungstitel content?: string //Benachrichtigungsinhalt extras?: Record<string, Object> //Benutzerdefinierte Daten channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal } * * @param eMessage */ onUnShowMessage(eMessage: EMessage)
              
                  /**
     * Callback bei Unterdrückung einer Benachrichtigung im Vordergrund
       export class EMessage {
       msgId?: string //Benachrichtigungs-ID
       title?: string //Benachrichtigungstitel
       content?: string //Benachrichtigungsinhalt
       extras?: Record<string, Object> //Benutzerdefinierte Daten
       channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal
       }
     *
     * @param eMessage
     */
    onUnShowMessage(eMessage: EMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für Interaktionsereignisse(onCommandResult)

Schnittstellendefinition
/** * Callback für Interaktionsereignisse * @param cmdMessage * export class ECmdMessage { * public static readonly CMD_TOKEN = 10000 // Callback für die Token-Registrierung(Unterstützt ab EPush HarmonyOS SDK v1.0.0) * * cmd?: number //Vorgangsereignis * errorCode?: number //0 bedeutet Erfolg; andere Werte bedeuten Fehler * msg?: string //Inhalt * extra?: Record<string, Object> * } */ onCommandResult(cmdMessage: ECmdMessage);
              
                /**
   * Callback für Interaktionsereignisse
   * @param cmdMessage
   * export class ECmdMessage {
   * public static readonly CMD_TOKEN = 10000 //	Callback für die Token-Registrierung(Unterstützt ab EPush HarmonyOS SDK v1.0.0)
   *
   * cmd?: number  //Vorgangsereignis
   * errorCode?: number //0 bedeutet Erfolg; andere Werte bedeuten Fehler
   * msg?: string //Inhalt
   * extra?: Record<string, Object>
   * }
   */
  onCommandResult(cmdMessage: ECmdMessage);

            
Diesen Codeblock im schwebenden Fenster anzeigen
cmd errorCode msg DESCRIPTION
0 Fehlercode Fehlermeldung Registrierung fehlgeschlagen
2006 0 success Callback für onResume
2007 0 success Callback für onStop
1000 0/1 success/fail Token abrufen: 0 = erfolgreich, 1 = fehlgeschlagen

Callback für benutzerdefinierte Hintergrundnachrichten(onCustomMessage)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Schnittstellendefinition
/** * Callback für benutzerdefinierte Nachrichten * Callback 1: Nach einem Kaltstart und der SDK-Initialisierung werden bisher nicht gemeldete Nachrichten übergeben. * Callback 2: Bei laufender App werden Nachrichten direkt übergeben. * Beachten Sie zusätzlich die Konfiguration benutzerdefinierter Nachrichten in der Integrationsanleitung. * @param eCustomMessage * * export class ECustomMessage { * msgId?: string //Benachrichtigungs-ID * title?: string //Benachrichtigungstitel * content?: string //Benachrichtigungsinhalt * contentType?: string //Inhaltstyp der Benachrichtigung * extras?: Record<string, Object> //Benutzerdefinierte Schlüssel-Wert-Paare der Benachrichtigung * ttl?: number //Ablaufzeit der serverseitig gesendeten Nachricht in Sekunden * stime?: number //Serverseitiger Sendezeitpunkt in Millisekunden * channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab EPush HarmonyOS SDK v1.0.0) * } */ onCustomMessage(eCustomMessage: ECustomMessage);
              
                /**
   * Callback für benutzerdefinierte Nachrichten
   *  Callback 1: Nach einem Kaltstart und der SDK-Initialisierung werden bisher nicht gemeldete Nachrichten übergeben.
   *  Callback 2: Bei laufender App werden Nachrichten direkt übergeben.
   *  Beachten Sie zusätzlich die Konfiguration benutzerdefinierter Nachrichten in der Integrationsanleitung.
   * @param eCustomMessage
   *
   * export class ECustomMessage {
   *  msgId?: string //Benachrichtigungs-ID
   *  title?: string //Benachrichtigungstitel
   *  content?: string //Benachrichtigungsinhalt
   *  contentType?: string //Inhaltstyp der Benachrichtigung
   *  extras?: Record<string, Object> //Benutzerdefinierte Schlüssel-Wert-Paare der Benachrichtigung
   *  ttl?: number //Ablaufzeit der serverseitig gesendeten Nachricht in Sekunden
   *  stime?: number //Serverseitiger Sendezeitpunkt in Millisekunden
   *  channel?: number //Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal(Unterstützt ab EPush HarmonyOS SDK v1.0.0)
   * }
   */
  onCustomMessage(eCustomMessage: ECustomMessage);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für erweiterte Benachrichtigungsnachrichten(onEMessageExtra)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Schnittstellendefinition
/** * Callback für erweiterte Benachrichtigungsnachrichten * @param eMessageExtra * * export class EMessageExtra { * msgId?: string //Benachrichtigungs-ID * title?: string //Benachrichtigungstitel * content?: string//Benachrichtigungsinhalt * extras?: Record<string, Object>//Benutzerdefinierte Daten * extraData?: string//Benutzerdefinierte Daten der erweiterten Benachrichtigungsnachricht * } */ onEMessageExtra(eme: EMessageExtra);
              
                /**
   * Callback für erweiterte Benachrichtigungsnachrichten
   * @param eMessageExtra
   *
   * export class EMessageExtra {
   * msgId?: string //Benachrichtigungs-ID
   * title?: string //Benachrichtigungstitel
   * content?: string//Benachrichtigungsinhalt
   * extras?: Record<string, Object>//Benutzerdefinierte Daten
   * extraData?: string//Benutzerdefinierte Daten der erweiterten Benachrichtigungsnachricht
   * }
   */
  onEMessageExtra(eme: EMessageExtra);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für VoIP-Anrufnachrichten(onEMessageVoIP)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Schnittstellendefinition
/** * Callback für VoIP-Anrufnachrichten * export class EMessageVoIP { * msgId?: string //Benachrichtigungs-ID * extraData?: string //Benutzerdefinierte VoIP-Daten } * @param emVoIP */ onEMessageVoIP(emVoIP: EMessageVoIP);
              
                 /**
   * Callback für VoIP-Anrufnachrichten
   * export class EMessageVoIP {
   * msgId?: string //Benachrichtigungs-ID
   * extraData?: string //Benutzerdefinierte VoIP-Daten
   }
   * @param emVoIP
   */
  onEMessageVoIP(emVoIP: EMessageVoIP);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für Tag-Operationen(onTagOperatorResult)

Schnittstellendefinition
/** * Callback für Tag-Operationen export class ETagMessage { sequence?: number //Vorgangs-ID; muss global eindeutig sein code?: number //0: erfolgreich; ETagMessage.CODE_TIME_OUT: Zeitüberschreitung op?: string tags?: string[] //Zugehörige Daten curr?: number //Aktuelle Datenseite; beginnt bei 1 total?: number //Gesamtzahl der Datenseiten msg?: string } * * @param eTagMessage */ onTagOperatorResult(eTagMessage: ETagMessage)
              
                 /**
    * Callback für Tag-Operationen
      export class ETagMessage {
      sequence?: number //Vorgangs-ID; muss global eindeutig sein
      code?: number //0: erfolgreich; ETagMessage.CODE_TIME_OUT: Zeitüberschreitung
      op?: string
      tags?: string[] //Zugehörige Daten
      curr?: number //Aktuelle Datenseite; beginnt bei 1
      total?: number //Gesamtzahl der Datenseiten
      msg?: string
      }
    *
    * @param eTagMessage
   */
  onTagOperatorResult(eTagMessage: ETagMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Callback für Alias-Operationen(onAliasOperatorResult)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Schnittstellendefinition
/** * Callback für Alias-Operationen export class EAliasMessage { sequence?: number //Vorgangs-ID; muss global eindeutig sein code?: number //0: erfolgreich; EAliasMessage.CODE_TIME_OUT: Zeitüberschreitung op?: string alias?: string //Zugehörige Daten curr?: number total?: number msg?: string } * * @param eAliasMessage */ onAliasOperatorResult(eAliasMessage: EAliasMessage)
              
                /**
   * Callback für Alias-Operationen
     export class EAliasMessage {
      sequence?: number //Vorgangs-ID; muss global eindeutig sein
      code?: number //0: erfolgreich; EAliasMessage.CODE_TIME_OUT: Zeitüberschreitung
      op?: string
      alias?: string //Zugehörige Daten
      curr?: number
      total?: number
      msg?: string
     }
   *
   * @param eAliasMessage
   */
  onAliasOperatorResult(eAliasMessage: EAliasMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Daten beim Öffnen einer Benachrichtigung empfangen (setClickWant)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Empfängt die zu einem Benachrichtigungsklick gehörenden Daten. Rufen Sie die Methode in onCreate und onNewWant der Ziel-UIAbility auf und übergeben Sie want. Die Daten werden anschließend über onClickMessage der zuvor konfigurierten CallBackMsg-Schnittstelle zurückgegeben.

  • Rufen Sie zuerst setAppKey auf, da der Aufruf andernfalls wirkungslos ist

Schnittstellendefinition

/** * In onCreate und onNewWant der Ziel-UIAbility aufrufen und want sowie context übergeben. Benutzerdefinierte Daten werden über onClickMessage zurückgegeben. * * @param want want aus der UIAbility * @param context Anwendungskontext: this.context in UIAbility, context in AbilityStage */ setClickWant(want: Want, context: common.ApplicationContext | common.AbilityStageContext): Promise<EMessage | undefined>
              
                 /**
   * In onCreate und onNewWant der Ziel-UIAbility aufrufen und want sowie context übergeben. Benutzerdefinierte Daten werden über onClickMessage zurückgegeben.
   *
   * @param want want aus der UIAbility
   * @param context Anwendungskontext: this.context in UIAbility, context in AbilityStage
   */
    setClickWant(want: Want, context: common.ApplicationContext | common.AbilityStageContext): Promise<EMessage | undefined>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • want: das want-Objekt der UIAbility.

  • context: Anwendungskontext. Übergeben Sie in UIAbility this.context und in AbilityStage context.

  • return

    • Rückgabewert: EMessage bedeutet, dass die Daten erfolgreich verarbeitet wurden und das Datenobjekt zurückgegeben wird. undefined bedeutet, dass keine Daten vorliegen, die Daten nicht von EngageLab stammen oder ein Fehler aufgetreten ist.

Benachrichtigungsstatus abfragen (isPushStopped)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Erst nach Aufruf von init gültig.

Schnittstellendefinition

/** * Benachrichtigungsstatus abfragen * */ isPushStopped(): boolean | undefined
              
                  /**
     * Benachrichtigungsstatus abfragen
     *
     */
    isPushStopped(): boolean | undefined

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • Rückgabewert: true = gestoppt, false = aktiv, undefined = nicht initialisiert oder Fehler.

Push-Dienst deaktivieren (turnOffPush)

Unterstützte Version

Unterstützt ab EPush HarmonyOS SDK v1.0.1.

Funktionsbeschreibung

Diese API deaktiviert den Push-Dienst und unterscheidet sich vom serverseitigen Schalter stopPush. Sie löscht das systemseitige Push Token, verhindert automatische Wiederverbindungen, trennt dauerhafte Verbindungen und stoppt die Erfassung und Übertragung von Clientinformationen. Während der Deaktivierung neu erzeugte Berichtsdaten werden verworfen.

  • Wiederholte Aufrufe während einer laufenden Deaktivierung verwenden denselben Vorgang.
  • Ein erneuter Aufruf nach vollständiger Deaktivierung gibt sofort Erfolg zurück und löscht das systemseitige Push Token nicht erneut.
  • turnOffPush und turnOnPush werden gegenseitig ausgeschlossen. Bei schnellen Wechseln bestimmt die letzte Anforderung den Endzustand.

API-Definition

turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>
              
              turnOffPush(context: common.UIAbilityContext | common.AbilityStageContext): Promise<EPushResult>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameter

  • context: AbilityStage- oder UIAbility-Kontext.

Rückgabewert

code Beschreibung
0 Erfolgreich
1 Das systemseitige Push Token konnte trotz aller Wiederholungen nicht gelöscht werden. Das SDK befindet sich wieder im aktivierten Zustand, baut die dauerhafte Verbindung jedoch nicht automatisch neu auf. Rufen Sie turnOnPush oder init erneut auf
2 Zeitüberschreitung. Der zugrunde liegende Deaktivierungsvorgang wird fortgesetzt; rufen Sie diese API erneut auf, um das Endergebnis zu bestätigen
3 Der lokale Deaktivierungszustand des SDK konnte trotz aller Wiederholungen nicht gespeichert werden. Rufen Sie turnOffPush erneut auf
4 Eine wartende Deaktivierung wurde durch ein späteres turnOnPush verworfen; es wurde keine Deaktivierung ausgeführt. Rufen Sie die API zur Bestätigung erneut auf
5 AppKey fehlt oder context ist ungültig; es wurde keine Deaktivierung ausgeführt. Korrigieren Sie die Voraussetzung und rufen Sie die API erneut auf

Push-Dienst erneut aktivieren (turnOnPush)

Unterstützte Version

Unterstützt ab EPush HarmonyOS SDK v1.0.1.

Funktionsbeschreibung

Stellt SDK, dauerhafte Verbindungen sowie Datenerfassung und Übertragung mit dem angegebenen AppKey wieder her und ruft ein neues systemseitiges Push Token ab und lädt es hoch. Die API kehrt sofort zurück und besitzt keinen Ergebnis-Callback. Verbindungs- und Registrierungsergebnisse werden über die vorhandenen Callbacks onConnected und onRegister sowie über Logs gemeldet. Auch ein erneuter Aufruf von init stellt den Dienst wieder her.

  • Der Vorgang wird gegenseitig ausgeschlossen mit turnOffPush ausgeführt. Während einer laufenden Deaktivierung wird die Aktivierung eingereiht und nie parallel zum Löschen des systemseitigen Push Tokens ausgeführt.
  • Eine spätere Anforderung in Gegenrichtung ersetzt einen noch nicht ausgeführten wartenden Vorgang.
  • Die RegistrationID bleibt unverändert.

API-Definition

turnOnPush( context: common.UIAbilityContext | common.AbilityStageContext, appKey: string ): void
              
              turnOnPush(
  context: common.UIAbilityContext | common.AbilityStageContext,
  appKey: string
): void

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameter

  • context: AbilityStage- oder UIAbility-Kontext.
  • appKey: zu aktivierender EngageLab AppKey, darf nicht leer sein.

Hinweise zur Verwendung

  • Immer verfügbar: turnOffPush, turnOnPush, init, lokale Konfiguration, Callbacks und Log-Einstellungen.
  • Vorübergehend nicht verfügbar: RegistrationID-, Token-, Tag-/Alias-, Badge-, Benachrichtigungsstatus-Abfrage- (isPushStopped) und Nachrichtenstatus-APIs, die Initialisierung, Push-Netzwerk oder Registrierungsidentität benötigen. Aufrufe geben It must be init first zurück.
  • Nach turnOnPush oder erneutem init sind diese APIs wieder verfügbar.

Push-Benachrichtigungen stoppen (stopPush)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Erst nach Aufruf von init gültig.

Schnittstellendefinition

/** * Push-Benachrichtigungen stoppen * */ stopPush()
              
                  /**
     * Push-Benachrichtigungen stoppen
     *
     */
    stopPush()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.stopPush()
              
              EPushInterface.stopPush()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • Keine.

Push-Benachrichtigungen wieder aufnehmen (resumePush)

Unterstützt ab Version: EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Erst nach Aufruf von init gültig.

Schnittstellendefinition

/** * Push-Benachrichtigungen wieder aufnehmen * */ resumePush()
              
                  /**
     * Push-Benachrichtigungen wieder aufnehmen
     *
     */
    resumePush()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.resumePush()
              
              EPushInterface.resumePush()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • Keine.

API für Tags und Aliase

Tags hinzufügen (addTags)

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onTagOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Fügt die angegebenen Tags hinzu; vorhandene Tags bleiben bestehen * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird * @param tags Tag-Array: höchstens 40 Byte pro Tag, 1000 Tags und insgesamt 5000 Byte pro Vorgang */ addTags(sequence: number, tags: string[])
              
                  /**
     * Fügt die angegebenen Tags hinzu; vorhandene Tags bleiben bestehen
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     * @param tags     Tag-Array: höchstens 40 Byte pro Tag, 1000 Tags und insgesamt 5000 Byte pro Vorgang
     */
    addTags(sequence: number, tags: string[])

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert.
  • tags
    • Geben Sie pro Aufruf mindestens ein Tag an.
    • Gültige Zeichen für Tags: Buchstaben (Groß-/Kleinschreibung beachten), Ziffern, Unterstriche, chinesische Zeichen und die Sonderzeichen @!#$&*+=.|.
    • Grenzen: 40 Byte pro Tag und höchstens 1000 Tags. Die Gesamtlänge eines Vorgangs darf 5000 Byte nicht überschreiten. Berechnen Sie die Länge mit UTF-8-Kodierung. Pro Gerät werden höchstens 1000 Tags unterstützt. Die Gesamtzahl der Tags einer App ist nicht begrenzt.

Tags löschen (deleteTags)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onTagOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Löscht die angegebenen Tags * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird * @param tags Tag-Array: höchstens 40 Byte pro Tag, 1000 Tags und insgesamt 5000 Byte pro Vorgang */ deleteTags(sequence: number, tags: string[])
              
                  /**
     * Löscht die angegebenen Tags
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     * @param tags     Tag-Array: höchstens 40 Byte pro Tag, 1000 Tags und insgesamt 5000 Byte pro Vorgang
     */
    deleteTags(sequence: number, tags: string[])

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert.
  • tags
    • Löschen Sie pro Aufruf mindestens ein Tag.
    • Gültige Zeichen für Tags: Buchstaben (Groß-/Kleinschreibung beachten), Ziffern, Unterstriche, chinesische Zeichen und die Sonderzeichen @!#$&*+=.|.
    • Grenzen: 40 Byte pro Tag und höchstens 1000 Tags. Die Gesamtlänge eines Vorgangs darf 5000 Byte nicht überschreiten. Berechnen Sie die Länge mit UTF-8-Kodierung. Pro Gerät werden höchstens 1000 Tags unterstützt. Die Gesamtzahl der Tags einer App ist nicht begrenzt.

Tags setzen (setTags)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onTagOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Ersetzt die Tags; zuvor hinzugefügte Tags werden gelöscht * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird * @param tags Tag-Array: höchstens 40 Byte pro Tag, 1000 Tags und insgesamt 5000 Byte pro Vorgang */ setTags(sequence: number, tags: string[])
              
                  /**
     * Ersetzt die Tags; zuvor hinzugefügte Tags werden gelöscht
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     * @param tags     Tag-Array: höchstens 40 Byte pro Tag, 1000 Tags und insgesamt 5000 Byte pro Vorgang
     */
    setTags(sequence: number, tags: string[])

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert.
  • tags
    • Geben Sie pro Aufruf mindestens ein Tag an.
    • Gültige Zeichen für Tags: Buchstaben (Groß-/Kleinschreibung beachten), Ziffern, Unterstriche, chinesische Zeichen und die Sonderzeichen @!#$&*+=.|.
    • Grenzen: 40 Byte pro Tag und höchstens 1000 Tags. Die Gesamtlänge eines Vorgangs darf 5000 Byte nicht überschreiten. Berechnen Sie die Länge mit UTF-8-Kodierung. Pro Gerät werden höchstens 1000 Tags unterstützt. Die Gesamtzahl der Tags einer App ist nicht begrenzt.

Bindungsstatus eines Tags abfragen (checkTagBindState)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onTagOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Fragt das angegebene Tag ab * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird * @param tag Tag, höchstens 40 Byte lang */ checkTagBindState(sequence: number, tag: string)
              
                  /**
     * Fragt das angegebene Tag ab
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     * @param tag      Tag, höchstens 40 Byte lang
     */
    checkTagBindState(sequence: number, tag: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert.
  • tags
    • Das abzufragende Tag.

Alle Tags löschen (cleanTags)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onTagOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Löscht alle Tags * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird */ cleanTags(sequence: number)
              
                  /**
     * Löscht alle Tags
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     */
    cleanTags(sequence: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert.

Alle Tags abfragen (getTags)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onTagOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Fragt alle Tags ab * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird * @param curr Abzufragende Seite; beginnt bei 1 */ getTags(sequence: number, curr: number)
              
                  /**
     * Fragt alle Tags ab
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     * @param curr  Abzufragende Seite; beginnt bei 1
     */
    getTags(sequence: number, curr: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert.

Alias setzen (setAlias)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onAliasOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Alias setzen * * Verwenden Sie innerhalb einer App unterschiedliche Aliase für unterschiedliche Nutzer, um sie möglichst eindeutig identifizieren zu können. * * Ein Alias ist nicht auf einen einzigen Nutzer beschränkt * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird * @param alias Gültige Zeichen: Buchstaben (Groß-/Kleinschreibung beachten), Ziffern, Unterstriche, chinesische Zeichen und @!#$&*+=.|. Höchstens 40 Byte in UTF-8. * */ setAlias(sequence: number, alias: string)
              
                  /**
     * Alias setzen
     *
     * Verwenden Sie innerhalb einer App unterschiedliche Aliase für unterschiedliche Nutzer, um sie möglichst eindeutig identifizieren zu können.
     *
     * Ein Alias ist nicht auf einen einzigen Nutzer beschränkt
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     * @param alias    Gültige Zeichen: Buchstaben (Groß-/Kleinschreibung beachten), Ziffern, Unterstriche, chinesische Zeichen und @!#$&*+=.|. Höchstens 40 Byte in UTF-8.
     *
     */
    setAlias(sequence: number, alias: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert. Verwenden Sie möglichst für jeden Aufruf eine andere Nummer.
  • alias
    • Jeder Aufruf setzt einen gültigen Alias und überschreibt die vorherige Einstellung.
    • Gültige Zeichen für Aliase: Buchstaben (Groß-/Kleinschreibung beachten), Ziffern, Unterstriche, chinesische Zeichen und die Sonderzeichen @!#$&*+=.|.
    • Der Alias darf höchstens 40 Byte lang sein, berechnet mit UTF-8-Kodierung.

Alias abfragen (getAlias)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onAliasOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Alias abrufen * * Verwenden Sie innerhalb einer App unterschiedliche Aliase für unterschiedliche Nutzer, um sie möglichst eindeutig identifizieren zu können. * * Ein Alias ist nicht auf einen einzigen Nutzer beschränkt * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird */ getAlias(sequence: number)
              
                  /**
     * Alias abrufen
     *
     * Verwenden Sie innerhalb einer App unterschiedliche Aliase für unterschiedliche Nutzer, um sie möglichst eindeutig identifizieren zu können.
     *
     * Ein Alias ist nicht auf einen einzigen Nutzer beschränkt
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     */
    getAlias(sequence: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert. Verwenden Sie möglichst für jeden Aufruf eine andere Nummer.

Alias löschen (deleteAlias)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist
  • Bei einer ordnungsgemäß eingerichteten Umgebung liefert onAliasOperatorResult das Ergebnis per Callback

Schnittstellendefinition

/** * Alias löschen * * Verwenden Sie innerhalb einer App unterschiedliche Aliase für unterschiedliche Nutzer, um sie möglichst eindeutig identifizieren zu können. * * Ein Alias ist nicht auf einen einzigen Nutzer beschränkt * * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird */ deleteAlias(sequence: number)
              
                  /**
     * Alias löschen
     *
     * Verwenden Sie innerhalb einer App unterschiedliche Aliase für unterschiedliche Nutzer, um sie möglichst eindeutig identifizieren zu können.
     *
     * Ein Alias ist nicht auf einen einzigen Nutzer beschränkt
     *
     * @param sequence Benutzerdefinierte eindeutige Sequenznummer, die mit dem Ergebnis zurückgegeben wird
     */
    deleteAlias(sequence: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • sequence
    • Benutzerdefinierte Sequenznummer, die mit dem Ergebnis zurückgegeben wird und den Vorgang eindeutig identifiziert. Verwenden Sie möglichst für jeden Aufruf eine andere Nummer.

TCP SSL konfigurieren (setTcpSSl)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Legt fest, ob die TCP-Verbindung mit SSL verschlüsselt wird.

  • Rufen Sie diese Schnittstelle vor init auf
  • Optionale Schnittstelle

Schnittstellendefinition

/** * TCP SSL konfigurieren * @param b true: SSL-Verschlüsselung verwenden; false: keine SSL-Verschlüsselung */ setTcpSSl(b: boolean)
              
                  /**
     * TCP SSL konfigurieren
     * @param b true: SSL-Verschlüsselung verwenden; false: keine SSL-Verschlüsselung
     */
    setTcpSSl(b: boolean)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.setTcpSSl(true) // SSL-Verschlüsselung aktivieren
              
              EPushInterface.setTcpSSl(true) // SSL-Verschlüsselung aktivieren

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • b: true aktiviert die SSL-Verschlüsselung der TCP-Verbindung; false deaktiviert sie.

Heartbeat-Intervall festlegen (setHeartbeatTime)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Legt das Heartbeat-Intervall fest, um die dauerhafte Verbindung aktiv zu halten.

  • Optionale Schnittstelle

Schnittstellendefinition

/** * Heartbeat-Intervall der dauerhaften Verbindung festlegen * @param heartbeatTime Sekunden, Bereich [30,290] */ setHeartbeatTime(heartbeatTime: number)
              
                  /**
     * Heartbeat-Intervall der dauerhaften Verbindung festlegen
     * @param heartbeatTime Sekunden, Bereich [30,290]
     */
    setHeartbeatTime(heartbeatTime: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.setHeartbeatTime(60) // Heartbeat-Intervall auf 60 Sekunden setzen
              
              EPushInterface.setHeartbeatTime(60) // Heartbeat-Intervall auf 60 Sekunden setzen

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • heartbeatTime: Heartbeat-Intervall in Sekunden, von 30 bis 290.

Badge-Wert festlegen (setBadgeNumber)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist

Schnittstellendefinition

/** * Badge-Wert festlegen * * @param badgeNumber Badge-Wert */ setBadgeNumber(badgeNumber: number)
              
                  /**
     * Badge-Wert festlegen
     *
     * @param badgeNumber Badge-Wert
     */
    setBadgeNumber(badgeNumber: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • badgeNumber
    • Badge-Wert

Benutzerdefinierte Nachrichten empfangen (customMessageBackgroundData)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Schnittstellendefinition

/** * Integration benutzerdefinierter Nachrichten * Benutzerdefinierte Hintergrundnachrichten empfangen * @param data BACKGROUND-Nachricht */ customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integration benutzerdefinierter Nachrichten
     * Benutzerdefinierte Hintergrundnachrichten empfangen
     * @param data BACKGROUND-Nachricht
     */
    customMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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 muss BACKGROUND-Daten enthalten: benutzerdefinierte Hintergrundnachrichten pushService.receiveMessage('BACKGROUND', this, async (data: pushCommon.PushPayload) => { let jg = await EPushInterface.customMessageBackgroundData(data) if (jg) { //true bedeutet, dass die Verarbeitung abgeschlossen ist 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 muss BACKGROUND-Daten enthalten: benutzerdefinierte Hintergrundnachrichten
      pushService.receiveMessage('BACKGROUND', this, async (data: pushCommon.PushPayload) => {
        let jg = await EPushInterface.customMessageBackgroundData(data)
        if (jg) { //true bedeutet, dass die Verarbeitung abgeschlossen ist
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'BACKGROUND fail:'+JSON.stringify(e));
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • data
    • Der Parameter von receiveMessage muss BACKGROUND-Daten enthalten, also Hintergrunddaten.
  • return
    • Rückgabewert: true bei erfolgreicher Verarbeitung; false, wenn die Daten nicht von EngageLab stammen oder ein Fehler aufgetreten ist.

VoIP-Anrufnachrichten empfangen (voIPMessageBackgroundData)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Schnittstellendefinition

/** * Integration von VoIP-Anrufnachrichten * VoIP-Anrufnachrichten empfangen * @param data VoIP-Nachricht */ voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integration von VoIP-Anrufnachrichten
     * VoIP-Anrufnachrichten empfangen
     * @param data VoIP-Nachricht
     */
    voIPMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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 bedeutet, dass die Verarbeitung abgeschlossen ist 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 bedeutet, dass die Verarbeitung abgeschlossen ist
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'VoIP fail:'+JSON.stringify(e));
    }
  }


}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • data
    • Der Parameter von receiveMessage muss VoIP-Daten enthalten, also VoIP-Anrufnachrichten.
  • return
    • Rückgabewert: true bei erfolgreicher Verarbeitung; false, wenn die Daten nicht von EngageLab stammen oder ein Fehler aufgetreten ist.

Erweiterte Benachrichtigungsnachrichten bei laufendem Prozess empfangen (extraMessageBackgroundData)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Schnittstellendefinition

/** * Integration erweiterter Benachrichtigungsnachrichten * Erweiterte Benachrichtigungsnachrichten empfangen * @param data IM-Nachricht */ extraMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integration erweiterter Benachrichtigungsnachrichten
     * Erweiterte Benachrichtigungsnachrichten empfangen
     * @param data IM-Nachricht
     */
    extraMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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 muss IM-Daten enthalten: erweiterte Benachrichtigungsnachrichten pushService.receiveMessage('IM', this, async (data) => { let jg = await EPushInterface.extraMessageBackgroundData(data) if (jg) { //true bedeutet, dass die Verarbeitung abgeschlossen ist 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 muss IM-Daten enthalten: erweiterte Benachrichtigungsnachrichten
      pushService.receiveMessage('IM', this, async (data) => {
        let jg = await EPushInterface.extraMessageBackgroundData(data)
        if (jg) { //true bedeutet, dass die Verarbeitung abgeschlossen ist
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'IM fail:'+JSON.stringify(e));
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • data
    • Der Parameter von receiveMessage muss IM-Daten enthalten, also erweiterte Benachrichtigungsnachrichten.
  • return
    • Rückgabewert: true bei erfolgreicher Verarbeitung; false, wenn die Daten nicht von EngageLab stammen oder ein Fehler aufgetreten ist.

Erweiterte Benachrichtigungsnachrichten ohne laufenden Prozess empfangen (receiveExtraDataMessage)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

Schnittstellendefinition

/** * Integration erweiterter Benachrichtigungsnachrichten * Erweiterte Benachrichtigungsnachrichten empfangen * @param rNEAbility Zugehörige RemoteNotificationExtensionAbility * @param data Daten von onReceiveMessage */ receiveExtraDataMessage(rNEAbility: RemoteNotificationExtensionAbility, remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<EMessageExtra | undefined>
              
                  /**
     * Integration erweiterter Benachrichtigungsnachrichten
     * Erweiterte Benachrichtigungsnachrichten empfangen
     * @param rNEAbility Zugehörige RemoteNotificationExtensionAbility
     * @param data Daten von onReceiveMessage
     */
    receiveExtraDataMessage(rNEAbility: RemoteNotificationExtensionAbility, remoteNotificationInfo: pushCommon.RemoteNotificationInfo): Promise<EMessageExtra | undefined>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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 {}//Zum Ändern der Benachrichtigung können Daten zurückgegeben werden } 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 {}//Zum Ändern der Benachrichtigung können Daten zurückgegeben werden
  }

  onDestroy(): void {
    hilog.info(0x0000, TAG, 'RemoteNotificationExtAbility onDestroy.');
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • rNEAbility
    • Die zugehörige RemoteNotificationExtensionAbility.
  • data
    • Parameterdaten des Callbacks onReceiveMessage, also die erweiterte Benachrichtigungsnachricht.
  • return
    • Rückgabewert: EMessageExtra bedeutet, dass die Daten erfolgreich verarbeitet wurden und das Datenobjekt zurückgegeben wird. undefined bedeutet, dass die Daten nicht von EngageLab stammen oder ein Fehler aufgetreten ist.

Benachrichtigungen im Vordergrund unterdrücken (defaultMessageBackgroundData)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Integrieren Sie diese Funktion, wenn Benachrichtigungen im Vordergrund nicht angezeigt werden sollen. Andernfalls wird bei Zustellung über den HarmonyOS-Kanal der Callback onUnShowMessage nicht ausgelöst. Weitere Informationen finden Sie in der Integrationsanleitung: Benachrichtigungen im Vordergrund unterdrücken.

Schnittstellendefinition

/** * Integration der Unterdrückung im Vordergrund * Daten für die Unterdrückung im Vordergrund empfangen * @param data Nachrichtendaten für die Unterdrückung im Vordergrund */ defaultMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>
              
                  /**
     * Integration der Unterdrückung im Vordergrund
     * Daten für die Unterdrückung im Vordergrund empfangen
     * @param data Nachrichtendaten für die Unterdrückung im Vordergrund
     */
    defaultMessageBackgroundData(data: pushCommon.PushPayload): Promise<boolean>

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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 bedeutet, dass die Verarbeitung abgeschlossen ist 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 bedeutet, dass die Verarbeitung abgeschlossen ist
          return
        }
      });
    } catch (e) {
      hilog.info(0x0000, TAG, '%{public}s', 'DEFAULT fail:'+JSON.stringify(e));
    }
  }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • data
    • Der Parameter von receiveMessage muss DEFAULT-Daten enthalten, also Daten für im Vordergrund unterdrückte Nachrichten.
  • return
    • Rückgabewert: true bei erfolgreicher Verarbeitung; false, wenn die Daten nicht von EngageLab stammen oder ein Fehler aufgetreten ist.

Benachrichtigung anhand der Benachrichtigungs-ID löschen (clearNotification)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Löscht die angegebene Benachrichtigung anhand ihrer Benachrichtigungs-ID.
  • Nur bereits angezeigte Benachrichtigungen können gelöscht werden.

Schnittstellendefinition

/** * Benachrichtigung anhand der Benachrichtigungs-ID löschen * @param id Benachrichtigungs-ID */ clearNotification(id: number)
              
                  /**
     * Benachrichtigung anhand der Benachrichtigungs-ID löschen
     * @param id Benachrichtigungs-ID
     */
    clearNotification(id: number)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • id: Benachrichtigungs-ID der zu löschenden Benachrichtigung.

Benachrichtigung anhand der Nachrichten-ID löschen (clearNotificationByMsgId)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Löscht die angegebene Benachrichtigung anhand ihrer Nachrichten-ID.
  • Nur bereits angezeigte Benachrichtigungen können gelöscht werden.

Schnittstellendefinition

/** * Benachrichtigung anhand der Nachrichten-ID löschen * @param msgId Nachrichten-ID */ clearNotificationByMsgId(msgId: string)
              
                  /**
     * Benachrichtigung anhand der Nachrichten-ID löschen
     * @param msgId Nachrichten-ID
     */
    clearNotificationByMsgId(msgId: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • msgId: Nachrichten-ID der zu löschenden Benachrichtigung.

Alle Benachrichtigungen löschen (clearNotificationAll)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Löscht alle von EngageLab angezeigten Benachrichtigungen.

Schnittstellendefinition

/** * Alle Benachrichtigungen löschen */ clearNotificationAll()
              
                  /**
     * Alle Benachrichtigungen löschen
     */
    clearNotificationAll()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

EPushInterface.clearNotificationAll()
              
              EPushInterface.clearNotificationAll()

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • Keine.

API zur Meldung des Nachrichtenstatus

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Anzeige einer benutzerdefinierten Nachricht melden (reportCustomDisplay)

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist

Schnittstellendefinition

/** * Anzeige einer benutzerdefinierten Nachricht melden * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal * @param msgId Nachrichten-ID */ reportCustomDisplay(channel: number, msgId: string)
              
                  /**
     * Anzeige einer benutzerdefinierten Nachricht melden
     * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal
     * @param msgId Nachrichten-ID
     */
    reportCustomDisplay(channel: number, msgId: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • channel: Herkunftskanal der Daten
    • 0: Herstellerkanal
    • 1: EngageLab-Kanal
  • msgId: Nachrichten-ID

Klick auf eine benutzerdefinierte Nachricht melden (reportCustomClick)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist

Schnittstellendefinition

/** * Klick auf eine benutzerdefinierte Nachricht melden * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal * @param msgId Nachrichten-ID */ reportCustomClick(channel: number, msgId: string)
              
                  /**
     * Klick auf eine benutzerdefinierte Nachricht melden
     * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal
     * @param msgId Nachrichten-ID
     */
    reportCustomClick(channel: number, msgId: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • channel: Herkunftskanal der Daten
    • 0: Herstellerkanal
    • 1: EngageLab-Kanal
  • msgId: Nachrichten-ID

Anzeige einer Benachrichtigung melden (reportNotificationDisplay)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist

Schnittstellendefinition

/** * Anzeige einer Benachrichtigung melden * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal * @param msgId Nachrichten-ID */ reportNotificationDisplay(channel: number, msgId: string)
              
                  /**
     * Anzeige einer Benachrichtigung melden
     * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal
     * @param msgId Nachrichten-ID
     */
    reportNotificationDisplay(channel: number, msgId: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • channel: Herkunftskanal der Daten
    • 0: Herstellerkanal
    • 1: EngageLab-Kanal
  • msgId: Nachrichten-ID

Klick auf eine Benachrichtigung melden (reportNotificationClick)

Unterstützt ab EPush HarmonyOS SDK v1.0.0

Funktionsbeschreibung

  • Rufen Sie zuerst init auf, da der Aufruf andernfalls wirkungslos ist

Schnittstellendefinition

/** * Klick auf eine Benachrichtigung melden * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal * @param msgId Nachrichten-ID */ reportNotificationClick(channel: number, msgId: string)
              
                  /**
     * Klick auf eine Benachrichtigung melden
     * @param channel Herkunftskanal: 0 = Herstellerkanal, 1 = EngageLab-Kanal
     * @param msgId Nachrichten-ID
     */
    reportNotificationClick(channel: number, msgId: string)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Codebeispiel

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

            
Diesen Codeblock im schwebenden Fenster anzeigen

Parameterbeschreibung

  • channel: Herkunftskanal der Daten
    • 0: Herstellerkanal
    • 1: EngageLab-Kanal
  • msgId: Nachrichten-ID
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren