MTPush-API

MTCorePrivatesApi

  • Hauptsächlich für die Informationskonfiguration verwendet.
  • Alle Methoden müssen im Hauptprozess aufgerufen werden. Bitte führen Sie vor dem Methodenaufruf keine Prozessprüfung durch, um sie in den Kindprozess zu verschieben, da sonst ein Aufruffehler auftritt.

configAppKey

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Konfiguriert den Anwendungsschlüssel, ohne die Konfiguration in der AndroidManifest.xml zu verwenden. * * Muss in der Methode Application.onCreate() aufgerufen werden. * Bitte vor [init](#init) aufrufen. * *@param context darf nicht leer sein *@param appKey darf nicht leer sein */ Public static void configAppKey(Context context, String appKey)
              
              /**
* Konfiguriert den Anwendungsschlüssel, ohne die Konfiguration in der AndroidManifest.xml zu verwenden.
*
* Muss in der Methode Application.onCreate() aufgerufen werden.
* Bitte vor [init](#init) aufrufen.
*
*@param context darf nicht leer sein
*@param appKey darf nicht leer sein
*/
Public static void configAppKey(Context context, String appKey)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

MTCorePrivatesApi.configAppKey(this, "Ihr AppKey");
              
              MTCorePrivatesApi.configAppKey(this, "Ihr AppKey");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTCorePrivatesApi.configAppKey(this, "Ihr AppKey")
              
              MTCorePrivatesApi.configAppKey(this, "Ihr AppKey")

            
Diesen Codeblock im schwebenden Fenster anzeigen

configAppChannel

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Konfiguriert den Anwendungskanal, ohne die Konfiguration in der AndroidManifest.xml zu verwenden. * Muss in der Methode Application.onCreate() aufgerufen werden. * Muss vor init verwendet werden und innerhalb von Application.onCreate aufgerufen werden. * * @param context darf nicht leer sein * @param appChannel darf nicht leer sein */ public static void configAppChannel(Context context, String appChannel)
              
                   /**
         * Konfiguriert den Anwendungskanal, ohne die Konfiguration in der AndroidManifest.xml zu verwenden.
         * Muss in der Methode Application.onCreate() aufgerufen werden.
         * Muss vor init verwendet werden und innerhalb von Application.onCreate aufgerufen werden.
         *
         * @param context    darf nicht leer sein
         * @param appChannel darf nicht leer sein
         */
    public static void configAppChannel(Context context, String appChannel)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

MTCorePrivatesApi.configAppChannel(this, "Ihr_AppChannel");
              
              MTCorePrivatesApi.configAppChannel(this, "Ihr_AppChannel");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTCorePrivatesApi.configAppChannel(this, "Ihr_AppChannel")
              
              MTCorePrivatesApi.configAppChannel(this, "Ihr_AppChannel")

            
Diesen Codeblock im schwebenden Fenster anzeigen

configAppSiteName

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Konfiguriert den Namen des Datenzentrum-Standorts, ohne die Konfiguration in der AndroidManifest.xml zu verwenden. * Die aktuell verfügbaren Standorte sind: Singapore, USA_Virginia, DEU_Frankfurt und HongKong. * Muss in der Methode Application.onCreate() aufgerufen werden. * Bitte vor [init](#init) aufrufen. * *@param context darf nicht leer sein *@param appSiteName darf nicht leer sein */ Public static void configAppSiteName(Context context, String appSiteName)
              
              /**
* Konfiguriert den Namen des Datenzentrum-Standorts, ohne die Konfiguration in der AndroidManifest.xml zu verwenden.
* Die aktuell verfügbaren Standorte sind: Singapore, USA_Virginia, DEU_Frankfurt und HongKong.
* Muss in der Methode Application.onCreate() aufgerufen werden.
* Bitte vor [init](#init) aufrufen.
*
*@param context darf nicht leer sein
*@param appSiteName darf nicht leer sein
*/
Public static void configAppSiteName(Context context, String appSiteName)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

MTCorePrivatesApi.configAppSiteName(this, "Ihr Plattform-Datenzentrum-Standortname");
              
              MTCorePrivatesApi.configAppSiteName(this, "Ihr Plattform-Datenzentrum-Standortname");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTCorePrivatesApi.configAppSiteName(this, "Ihr Plattform-Datenzentrum-Standortname")
              
              MTCorePrivatesApi.configAppSiteName(this, "Ihr Plattform-Datenzentrum-Standortname")

            
Diesen Codeblock im schwebenden Fenster anzeigen

configHeartbeatInterval

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Setzt das Heartbeat-Intervall. * * Muss in der Methode Application.onCreate() aufgerufen werden. * * @param context darf nicht leer sein * @param heartbeatInterval Zeiteinheit ist Millisekunden, muss größer als 0 sein, Standardwert ist 4 Minuten und 50 Sekunden */ public static void configHeartbeatInterval(Context context, long heartbeatInterval)
              
                   /**
      * Setzt das Heartbeat-Intervall.
      *
      * Muss in der Methode Application.onCreate() aufgerufen werden.
      *
      * @param context darf nicht leer sein
      * @param heartbeatInterval Zeiteinheit ist Millisekunden, muss größer als 0 sein, Standardwert ist 4 Minuten und 50 Sekunden
      */
     public static void configHeartbeatInterval(Context context, long heartbeatInterval)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

  • Im Demo wird das Heartbeat-Intervall auf 3 Minuten gesetzt.

Java:

MTCorePrivatesApi.configHeartbeatInterval(this, 3 * 60 * 1000);
              
              MTCorePrivatesApi.configHeartbeatInterval(this, 3 * 60 * 1000);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTCorePrivatesApi.configHeartbeatInterval(this, 3 * 60 * 1000)
              
              MTCorePrivatesApi.configHeartbeatInterval(this, 3 * 60 * 1000)

            
Diesen Codeblock im schwebenden Fenster anzeigen

configConnectRetryCount

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Setzt die Anzahl der Wiederholungsversuche für die Langzeitverbindung. * * Muss in der Methode Application.onCreate() aufgerufen werden. * * @param context darf nicht leer sein * @param connectRetryCount Anzahl der Wiederholungen, Standardwert ist 3, mindestens 3 */ public static void configConnectRetryCount(Context context, int connectRetryCount)
              
                   /**
      * Setzt die Anzahl der Wiederholungsversuche für die Langzeitverbindung.
      *
      * Muss in der Methode Application.onCreate() aufgerufen werden.
      *
      * @param context darf nicht leer sein
      * @param connectRetryCount Anzahl der Wiederholungen, Standardwert ist 3, mindestens 3
      */
     public static void configConnectRetryCount(Context context, int connectRetryCount)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

  • Im Beispiel wird die Anzahl der Wiederholungsversuche auf 10 gesetzt.

Java:

MTCorePrivatesApi.configConnectRetryCount(this, 10);
              
              MTCorePrivatesApi.configConnectRetryCount(this, 10);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTCorePrivatesApi.configConnectRetryCount(this, 10)
              
              MTCorePrivatesApi.configConnectRetryCount(this, 10)

            
Diesen Codeblock im schwebenden Fenster anzeigen

setTcpSSl

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Legt fest, ob die Langzeitverbindung verschlüsselt wird, Standard ist keine Verschlüsselung. * * Muss in der Methode Application.onCreate() aufgerufen werden. * * @param isSSL true = Verschlüsselung, false = keine Verschlüsselung */ public static void setTcpSSl(boolean isSSL)
              
                   /**
      * Legt fest, ob die Langzeitverbindung verschlüsselt wird, Standard ist keine Verschlüsselung.
      *
      * Muss in der Methode Application.onCreate() aufgerufen werden.
      *
      * @param isSSL true = Verschlüsselung, false = keine Verschlüsselung
      */
     public static void setTcpSSl(boolean isSSL)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

  • Demo aktiviert Verschlüsselung.

Java:

MTCorePrivatesApi.setTcpSSl(context, true);
              
              MTCorePrivatesApi.setTcpSSl(context, true);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTCorePrivatesApi.setTcpSSl(context, true)
              
              MTCorePrivatesApi.setTcpSSl(context, true)

            
Diesen Codeblock im schwebenden Fenster anzeigen

configDebugMode

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
  • Engagelab-Log-Format, Suche nach „ENGAGELAB-PRIVATES“
  • Engagelab gibt Logs sowohl im Hauptprozess als auch im Kindprozess aus.
/** * Legt fest, ob der Debug-Modus aktiviert ist. Im Debug-Modus werden detailliertere Logs ausgegeben. * * Muss in der Methode Application.onCreate() aufgerufen werden. * * @param context darf nicht leer sein * @param enable true = Debug-Modus aktiv, false = nicht aktiv */ public static void configDebugMode(Context context, boolean enable)
              
                   /**
      * Legt fest, ob der Debug-Modus aktiviert ist. Im Debug-Modus werden detailliertere Logs ausgegeben.
      *
      * Muss in der Methode Application.onCreate() aufgerufen werden.
      *
      * @param context darf nicht leer sein
      * @param enable true = Debug-Modus aktiv, false = nicht aktiv
      */
     public static void configDebugMode(Context context, boolean enable)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

  • Das SDK läuft in zwei Prozessen, Hauptprozess und Kindprozess. Der Name des Kindprozesses ist der Prozessattributname der MTCommonService-Subklasse.
  • SDK-Log-Tag ist „ENGAGELAB-PRIVATES“.
  • Die Logs zu udp/tcp/http-bezogenen Operationen befinden sich alle im Kindprozess.
  • Falls Nachrichten nicht gepusht werden können, aktivieren Sie bitte zuerst den Debug-Modus, holen Sie sich dann das Log mit dem Tag „ENGAGELAB-PRIVATES“ aus dem Kindprozess und stellen Sie es dem technischen Support zur Analyse zur Verfügung.

Java:

// Es wird empfohlen, true zu setzen, solange die App nicht live ist, um die Integration zu erleichtern. MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // Nach dem Go-Live sollte auf false gesetzt werden. MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);
              
              // Es wird empfohlen, true zu setzen, solange die App nicht live ist, um die Integration zu erleichtern.
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);

// Nach dem Go-Live sollte auf false gesetzt werden.
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Es wird empfohlen, true zu setzen, solange die App nicht live ist, um die Integration zu erleichtern. MTCorePrivatesApi.configDebugMode(context.applicationContext, true) // Nach dem Go-Live sollte auf false gesetzt werden. MTCorePrivatesApi.configDebugMode(context.applicationContext, false)
              
              // Es wird empfohlen, true zu setzen, solange die App nicht live ist, um die Integration zu erleichtern.
MTCorePrivatesApi.configDebugMode(context.applicationContext, true)

// Nach dem Go-Live sollte auf false gesetzt werden.
MTCorePrivatesApi.configDebugMode(context.applicationContext, false)

            
Diesen Codeblock im schwebenden Fenster anzeigen

configSM4

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Konfiguriert die Verwendung der nationalen Verschlüsselung (SM4). * * @param context darf nicht leer sein */ public static void configSM4(Context context)
              
                   /**
      * Konfiguriert die Verwendung der nationalen Verschlüsselung (SM4).
      *
      * @param context darf nicht leer sein
      */
     public static void configSM4(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Nationale Verschlüsselung aktivieren, wenn nicht aufgerufen, wird die Standardverschlüsselung verwendet. MTCorePrivatesApi.configSM4(context.getApplicationContext());
              
                   // Nationale Verschlüsselung aktivieren, wenn nicht aufgerufen, wird die Standardverschlüsselung verwendet.
     MTCorePrivatesApi.configSM4(context.getApplicationContext());

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Nationale Verschlüsselung aktivieren, wenn nicht aufgerufen, wird die Standardverschlüsselung verwendet. MTCorePrivatesApi.configSM4(context.applicationContext)
              
                   // Nationale Verschlüsselung aktivieren, wenn nicht aufgerufen, wird die Standardverschlüsselung verwendet.
     MTCorePrivatesApi.configSM4(context.applicationContext)

            
Diesen Codeblock im schwebenden Fenster anzeigen

getUserId

Wenn der Rückgabewert leer ist, prüfen Sie bitte, ob die Umgebung korrekt konfiguriert ist und ob die Initialisierung aufgerufen wurde.

Wenn die Konfiguration korrekt ist, kann es dennoch sein, dass sich die Verbindung noch im Aufbau befindet. Sie können die UserId abfragen, wenn onConnectStatus true zurückgibt.

/** * Gibt die userId des aktuellen Geräts zurück. Dies ist die eindeutige Kennung von Engagelab und kann für Push verwendet werden. * * @param context darf nicht leer sein * @return userId */ public static String getUserId(Context context)
              
                   /**
      * Gibt die userId des aktuellen Geräts zurück. Dies ist die eindeutige Kennung von Engagelab und kann für Push verwendet werden.
      *
      * @param context darf nicht leer sein
      * @return userId
      */
     public static String getUserId(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

String userId = MTCorePrivatesApi.getUserId(context);
              
              String userId = MTCorePrivatesApi.getUserId(context);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

val userId = MTCorePrivatesApi.getUserId(context)
              
              val userId = MTCorePrivatesApi.getUserId(context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

getRegistrationId

Wenn der Rückgabewert leer ist, prüfen Sie bitte, ob die Umgebung korrekt konfiguriert ist und ob die Initialisierung aufgerufen wurde.

Wenn die Konfiguration korrekt ist, kann es dennoch sein, dass sich die Verbindung noch im Aufbau befindet. Sie können die RegistrationId abfragen, wenn onConnectStatus true zurückgibt.

/** * Gibt die registrationId des aktuellen Geräts zurück. Dies ist die eindeutige Kennung von Engagelab und kann für Push verwendet werden. * * @param context darf nicht leer sein * @return registrationId */ public static String getRegistrationId(Context context)
              
                   /**
      * Gibt die registrationId des aktuellen Geräts zurück. Dies ist die eindeutige Kennung von Engagelab und kann für Push verwendet werden.
      *
      * @param context darf nicht leer sein
      * @return registrationId
      */
     public static String getRegistrationId(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

String registrationId = MTCorePrivatesApi.getRegistrationId(context);
              
              String registrationId = MTCorePrivatesApi.getRegistrationId(context);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

val registrationId = MTCorePrivatesApi.getRegistrationId(context)
              
              val registrationId = MTCorePrivatesApi.getRegistrationId(context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

setEnableResetOnDeviceChange

  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
  • Standard ist false (deaktiviert).
/** * Konfiguriert die Geräte-Migrationsfunktion. * Wenn aktiviert, werden bei einem Gerätewechsel die lokale registrationId und UID-Informationen gelöscht und neu registriert. * Standard ist false. * * @param context darf nicht leer sein * @param enable true = Geräte-Migration aktiv, false = deaktiviert */ public static void setEnableResetOnDeviceChange(Context context, boolean enable)
              
                  /**
     * Konfiguriert die Geräte-Migrationsfunktion.
     * Wenn aktiviert, werden bei einem Gerätewechsel die lokale registrationId und UID-Informationen gelöscht und neu registriert.
     * Standard ist false.
     *
     * @param context darf nicht leer sein
     * @param enable  true = Geräte-Migration aktiv, false = deaktiviert
     */
    public static void setEnableResetOnDeviceChange(Context context, boolean enable)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

  • Bei Gerätewechsel (z. B. Flashen des Geräts, Gerätewechsel usw.) werden die lokal zwischengespeicherten Registrierungsinformationen automatisch gelöscht.

Java:

// Geräte-Migrationsfunktion aktivieren MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true); // Geräte-Migrationsfunktion deaktivieren (Standard) MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);
              
                      // Geräte-Migrationsfunktion aktivieren
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true);
        
        // Geräte-Migrationsfunktion deaktivieren (Standard)
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Geräte-Migrationsfunktion aktivieren MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true) // Geräte-Migrationsfunktion deaktivieren (Standard) MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false)
              
                      // Geräte-Migrationsfunktion aktivieren
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true)
        
        // Geräte-Migrationsfunktion deaktivieren (Standard)
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false)

            
Diesen Codeblock im schwebenden Fenster anzeigen

MTPushPrivatesApi

  • Hauptsächlich für Push-Funktionen verwendet.
  • Alle Methoden müssen im Hauptprozess aufgerufen werden. Bitte führen Sie vor dem Methodenaufruf keine Prozessprüfung durch, um sie in den Kindprozess zu verschieben, da sonst ein Aufruffehler auftritt.

configUserLanguage

/** * Sprache der Push-Benachrichtigungen konfigurieren; nach MTPushPrivatesApi.init verwenden * * @param context darf nicht leer sein * @param pushLanguage Bei leerer Zeichenkette wird die Gerätesprache wiederhergestellt */ public static void configUserLanguage(Context context, String pushLanguage)
              
                  /**
     * Sprache der Push-Benachrichtigungen konfigurieren; nach MTPushPrivatesApi.init verwenden
     *
     * @param context       darf nicht leer sein
     * @param pushLanguage  Bei leerer Zeichenkette wird die Gerätesprache wiederhergestellt
     */
    public static void configUserLanguage(Context context, String pushLanguage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

MTPushPrivatesApi.configUserLanguage(context,"zh-Hans");
              
                  MTPushPrivatesApi.configUserLanguage(context,"zh-Hans");  

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTPushPrivatesApi.configUserLanguage(context, "zh-Hans")
              
                  MTPushPrivatesApi.configUserLanguage(context, "zh-Hans")

            
Diesen Codeblock im schwebenden Fenster anzeigen

Unterstützte Sprachcodes siehe Push API

setEnablePushTextToSpeech

/** * Einstellungen für die Sprachausgabe von Push-Benachrichtigungen, erfordert das Importieren des Sprachpakets (mt-sdk-sound-x.x.x.aar) * * @param context darf nicht leer sein * @param enable true = aktivieren, false = deaktivieren, Standard ist false */ public static void setEnablePushTextToSpeech(Context context, boolean enable)
              
                  /**
     * Einstellungen für die Sprachausgabe von Push-Benachrichtigungen, erfordert das Importieren des Sprachpakets (mt-sdk-sound-x.x.x.aar)
     *
     * @param context      darf nicht leer sein
     * @param enable true = aktivieren, false = deaktivieren, Standard ist false
     */
    public static void setEnablePushTextToSpeech(Context context, boolean enable)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

MTPushPrivatesApi.setEnablePushTextToSpeech(context, true);
              
                  MTPushPrivatesApi.setEnablePushTextToSpeech(context, true);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTPushPrivatesApi.setEnablePushTextToSpeech(context, true)
              
                  MTPushPrivatesApi.setEnablePushTextToSpeech(context, true)

            
Diesen Codeblock im schwebenden Fenster anzeigen

init

  • Es wird empfohlen, in der Methode Application.onCreate() aufzurufen.
/** * Initialisierung von MTPush * * Es wird empfohlen, in der Methode Application.onCreate() aufzurufen. * * @param context darf nicht leer sein, bitte verwenden Sie das applicationContext-Objekt */ public static void init(Context context)
              
                   /**
      * Initialisierung von MTPush
      *
      * Es wird empfohlen, in der Methode Application.onCreate() aufzurufen.
      *
      * @param context darf nicht leer sein, bitte verwenden Sie das applicationContext-Objekt
      */
     public static void init(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

public class ExampleApplication extends Application { @Override public void onCreate() { // Debug-Modus aktivieren MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // Initialisierung MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

     @Override
     public void onCreate() {
         // Debug-Modus aktivieren
         MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);
         // Initialisierung
         MTPushPrivatesApi.init(context.getApplicationContext());
     }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

class ExampleApplication : Application() { override fun onCreate() { super.onCreate() // Debug-Modus aktivieren MTCorePrivatesApi.configDebugMode(applicationContext, true) // Initialisierung MTPushPrivatesApi.init(applicationContext) } }
              
              class ExampleApplication : Application() {

    override fun onCreate() {
        super.onCreate()
        // Debug-Modus aktivieren
        MTCorePrivatesApi.configDebugMode(applicationContext, true)
        // Initialisierung
        MTPushPrivatesApi.init(applicationContext)
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

setCollectControl

  • Steuerung der Datenerfassung festlegen
  • Es wird empfohlen, diese Methode in Application.onCreate() vor dem Aufruf von init auszuführen.
/** * Steuerung der Datenerfassung festlegen * * Dient zur Steuerung, ob bestimmte Gerätedaten erfasst werden. * Es wird empfohlen, diese Methode in Application.onCreate() vor dem Aufruf von init auszuführen. * * @param control Objekt zur Steuerung der Datenerfassung, darf nicht null sein */ public static void setCollectControl(MTPushCollectControl control)
              
                  /**
     * Steuerung der Datenerfassung festlegen
     *
     * Dient zur Steuerung, ob bestimmte Gerätedaten erfasst werden.
     * Es wird empfohlen, diese Methode in Application.onCreate() vor dem Aufruf von init auszuführen.
     *
     * @param control Objekt zur Steuerung der Datenerfassung, darf nicht null sein
     */
    public static void setCollectControl(MTPushCollectControl control)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

public class ExampleApplication extends Application { @Override public void onCreate() { // Steuerung der Datenerfassung konfigurieren MTPushCollectControl collectControl = new MTPushCollectControl(); collectControl.setGaid(true); // GAID-Erfassung aktivieren, false = deaktivieren. Standard ist aktiviert. MTPushPrivatesApi.setCollectControl(collectControl); // Initialisierung MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

    @Override
    public void onCreate() {
        // Steuerung der Datenerfassung konfigurieren
        MTPushCollectControl collectControl = new MTPushCollectControl();
        collectControl.setGaid(true); // GAID-Erfassung aktivieren, false = deaktivieren. Standard ist aktiviert.
        MTPushPrivatesApi.setCollectControl(collectControl);
        
        // Initialisierung
        MTPushPrivatesApi.init(context.getApplicationContext());   
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

class ExampleApplication : Application() { override fun onCreate() { super.onCreate() // Configure data collection control val collectControl = MTPushCollectControl() collectControl.setGaid(true) // Enable GAID collection, false to disable. Enabled by default. MTPushPrivatesApi.setCollectControl(collectControl) // Initialization MTPushPrivatesApi.init(applicationContext) } }
              
              class ExampleApplication : Application() {

    override fun onCreate() {
        super.onCreate()
        // Configure data collection control
        val collectControl = MTPushCollectControl()
        collectControl.setGaid(true) // Enable GAID collection, false to disable. Enabled by default.
        MTPushPrivatesApi.setCollectControl(collectControl)
        
        // Initialization
        MTPushPrivatesApi.init(applicationContext)
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

goToAppNotificationSettings

  • Nach dem Start des SDK kann das Ergebnis über onNotificationStatus zurückgegeben werden, um zu entscheiden, ob diese Methode aufgerufen werden muss.
/** * Öffnet die Einstellungsseite für Benachrichtigungen * * @param context darf nicht leer sein */ public static void goToAppNotificationSettings(Context context)
              
                   /**
      * Öffnet die Einstellungsseite für Benachrichtigungen
      *
      * @param context darf nicht leer sein
      */
     public static void goToAppNotificationSettings(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Öffnet die Einstellungsseite für Benachrichtigungen. Der Kunde muss den Benachrichtigungsschalter manuell aktivieren. MTPushPrivatesApi.goToAppNotificationSettings(this); // Nach dem Überschreiben von MTCommonReceiver die Methode onNotificationStatus implementieren, um den Status des Benachrichtigungsschalters zu erhalten. Wenn enable true ist, wurde er erfolgreich aktiviert. @Override public void onNotificationStatus(Context context, boolean enable) { if(enable){ // Der Benachrichtigungsschalter wurde aktiviert } }
              
                   // Öffnet die Einstellungsseite für Benachrichtigungen. Der Kunde muss den Benachrichtigungsschalter manuell aktivieren.
     MTPushPrivatesApi.goToAppNotificationSettings(this);
    
     // Nach dem Überschreiben von MTCommonReceiver die Methode onNotificationStatus implementieren, um den Status des Benachrichtigungsschalters zu erhalten. Wenn enable true ist, wurde er erfolgreich aktiviert.
     @Override
     public void onNotificationStatus(Context context, boolean enable) {
         if(enable){
             // Der Benachrichtigungsschalter wurde aktiviert
         }
     }

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Go to the notification switch setting page, the customer needs to manually turn on the notification switch MTPushPrivatesApi.goToAppNotificationSettings(this) // After inheriting MTCommonReceiver, rewrite the onNotificationStatus method to obtain the status of the notification switch. If enable is true, it means that it has been successfully enabled override fun onNotificationStatus(context: Context, enable: Boolean) { if (enable) { // The notification switch has been set to open } }
              
              // Go to the notification switch setting page, the customer needs to manually turn on the notification switch
     MTPushPrivatesApi.goToAppNotificationSettings(this)
    
     // After inheriting MTCommonReceiver, rewrite the onNotificationStatus method to obtain the status of the notification switch. If enable is true, it means that it has been successfully enabled
     override fun onNotificationStatus(context: Context, enable: Boolean) {
         if (enable) {
             // The notification switch has been set to open
         }
     }

            
Diesen Codeblock im schwebenden Fenster anzeigen

turnOnPush

  • Wird in der Regel nach turnOffPush verwendet, um Push wieder zu aktivieren.
  • Mehrfaches Aufrufen hat nur einmal Wirkung; wenn bereits aktiviert, bleibt der Status unverändert.
  • Bei korrekter Umgebung wird das Ergebnis über onConnectStatus zurückgegeben.
  • Unterstützte Kanäle: Engagelab/Huawei/Xiaomi/Meizu/Oppo/Vivo
/** * Push aktivieren, der Status wird persistent auf true gesetzt, Standard ist true. * * @param context darf nicht leer sein */ public static void turnOnPush(Context context)
              
                   /**
      * Push aktivieren, der Status wird persistent auf true gesetzt, Standard ist true.
      *
      * @param context darf nicht leer sein
      */
     public static void turnOnPush(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Push aktivieren (Standard ist aktiviert) MTPushPrivatesApi.turnOnPush(context); // Nach dem Überschreiben von MTCommonReceiver die Methode onConnectStatus implementieren, um den Status der Langzeitverbindung zu erhalten. Wenn enable true ist, wurde Push erfolgreich aktiviert. @Override public void onConnectStatus(Context context, boolean enable){ if(enable){ // Push erfolgreich aktiviert } }
              
              // Push aktivieren (Standard ist aktiviert)
MTPushPrivatesApi.turnOnPush(context);

// Nach dem Überschreiben von MTCommonReceiver die Methode onConnectStatus implementieren, um den Status der Langzeitverbindung zu erhalten. Wenn enable true ist, wurde Push erfolgreich aktiviert.
@Override
public void onConnectStatus(Context context, boolean enable){
     if(enable){
         // Push erfolgreich aktiviert
     }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Turn on the push, which is turned on by default MTPushPrivatesApi.turnOnPush(context) // After inheriting MTCommonReceiver, rewrite the onConnectStatus method to obtain the connection status of the long connection. If enable is true, it means that it has been successfully opened override fun onConnectStatus(context: Context, enable: Boolean) { if (enable) { // enable push push successfully } }
              
              // Turn on the push, which is turned on by default
MTPushPrivatesApi.turnOnPush(context)

// After inheriting MTCommonReceiver, rewrite the onConnectStatus method to obtain the connection status of the long connection. If enable is true, it means that it has been successfully opened
override fun onConnectStatus(context: Context, enable: Boolean) {
    if (enable) {
        // enable push push successfully
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

turnOffPush

  • Wird in der Regel verwendet, um Push zu deaktivieren.
  • Nach dem Deaktivieren wird Push durch erneutes Aufrufen von init nicht automatisch aktiviert.
  • Mehrfaches Aufrufen hat nur einmal Wirkung.
  • Bei korrekter Umgebung wird das Ergebnis über onConnectStatus zurückgegeben.
  • Unterstützte Kanäle: Engagelab/Huawei/Xiaomi/Meizu/Oppo/Vivo
/** * Push deaktivieren, der Status wird persistent auf false gesetzt, Standard ist true. * * @param context darf nicht leer sein */ public static void turnOffPush(Context context)
              
                   /**
      * Push deaktivieren, der Status wird persistent auf false gesetzt, Standard ist true.
      *
      * @param context darf nicht leer sein
      */
     public static void turnOffPush(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Push deaktivieren, zum erneuten Aktivieren muss turnOnPush aufgerufen werden MTPushPrivatesApi.turnOffPush(context); // Nach dem Überschreiben von MTCommonReceiver die Methode onConnectStatus implementieren, um den Status der Langzeitverbindung zu erhalten. Wenn enable false ist, wurde Push erfolgreich deaktiviert. @Override public void onConnectStatus(Context context, boolean enable){ if(!enable){ // Push erfolgreich deaktiviert } }
              
              // Push deaktivieren, zum erneuten Aktivieren muss turnOnPush aufgerufen werden
MTPushPrivatesApi.turnOffPush(context);

// Nach dem Überschreiben von MTCommonReceiver die Methode onConnectStatus implementieren, um den Status der Langzeitverbindung zu erhalten. Wenn enable false ist, wurde Push erfolgreich deaktiviert.
@Override
public void onConnectStatus(Context context, boolean enable){
     if(!enable){
         // Push erfolgreich deaktiviert
     }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Turn off the push, you need to call turnOnPush again to turn on the push MTPushPrivatesApi.turnOffPush(context) // After inheriting MTCommonReceiver, rewrite the onConnectStatus method to get the long connection status. If enable is false, it means that it has been closed successfully override fun onConnectStatus(context: Context, enable: Boolean) { if (!enable) { // close push push successfully } }
              
              // Turn off the push, you need to call turnOnPush again to turn on the push
MTPushPrivatesApi.turnOffPush(context)

// After inheriting MTCommonReceiver, rewrite the onConnectStatus method to get the long connection status. If enable is false, it means that it has been closed successfully
override fun onConnectStatus(context: Context, enable: Boolean) {
    if (!enable) {
        // close push push successfully
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

addTag

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onTagMessage zurückgegeben.
/** * Fügt ein angegebenes Tag hinzu, Akkumulationslogik: vorherige Tags bleiben erhalten. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation * @param tags Tag-Array, Länge jedes Tag-Namens max. 40 Bytes, max. 1000 Tags, Gesamtlänge pro Vorgang max. 5000 Bytes */ public static void addTag(Context context, int sequence, String... tags)
              
                   /**
      * Fügt ein angegebenes Tag hinzu, Akkumulationslogik: vorherige Tags bleiben erhalten.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      * @param tags Tag-Array, Länge jedes Tag-Namens max. 40 Bytes, max. 1000 Tags, Gesamtlänge pro Vorgang max. 5000 Bytes
      */
     public static void addTag(Context context, int sequence, String... tags)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für das Hinzufügen von Tags private static final int SEQUENCE_TAG_ADD = 1; // Tags hinzufügen: "china", "guangdong", "shenzhen" MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen"); // Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_ADD){ // Tag erfolgreich hinzugefügt. Erfolgreiche Tags können jetzt abgerufen werden. String[] tags = tagMessage.getTags(); } }
              
              // Konstante für das Hinzufügen von Tags
private static final int SEQUENCE_TAG_ADD = 1;
// Tags hinzufügen: "china", "guangdong", "shenzhen"
MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen");

// Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
    if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(tagMessage.getSequence() == SEQUENCE_TAG_ADD){
        // Tag erfolgreich hinzugefügt. Erfolgreiche Tags können jetzt abgerufen werden.
        String[] tags = tagMessage.getTags();
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, which represents adding the specified tag operation companion object { private const val SEQUENCE_TAG_ADD = 1 } // Add tags: "china","guangdong","shenzhen" MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen") // After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code return } if (tagMessage.sequence == SEQUENCE_TAG_ADD) { // The specified tag is added successfully. At this time, you can view the tag array of the successful operation val tags = tagMessage.tags } }
              
              // Define a constant here, which represents adding the specified tag operation
companion object {
    private const val SEQUENCE_TAG_ADD = 1
}
// Add tags: "china","guangdong","shenzhen"
MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen")

// After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback
override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_ADD) {
        // The specified tag is added successfully. At this time, you can view the tag array of the successful operation
        val tags = tagMessage.tags
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

deleteTag

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onTagMessage zurückgegeben.
/** * Löscht das angegebene Tag, Löschlogik: Das angegebene Tag wird entfernt. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation * @param tags Tag-Array, Länge jedes Tag-Namens max. 40 Bytes, max. 1000 Tags, Gesamtlänge pro Vorgang max. 5000 Bytes */ public static void deleteTag(Context context, int sequence, String... tags)
              
                   /**
      * Löscht das angegebene Tag, Löschlogik: Das angegebene Tag wird entfernt.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      * @param tags Tag-Array, Länge jedes Tag-Namens max. 40 Bytes, max. 1000 Tags, Gesamtlänge pro Vorgang max. 5000 Bytes
      */
     public static void deleteTag(Context context, int sequence, String... tags)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für das Löschen von Tags private static final int SEQUENCE_TAG_DELETE = 2; // Tags löschen: "china", "guangdong", "shenzhen" MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen"); // Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE){ // Tag erfolgreich gelöscht String[] tags = tagMessage.getTags(); } }
              
              // Konstante für das Löschen von Tags
private static final int SEQUENCE_TAG_DELETE = 2;
// Tags löschen: "china", "guangdong", "shenzhen"
MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen");

// Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
    if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE){
        // Tag erfolgreich gelöscht
        String[] tags = tagMessage.getTags();
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, which represents the operation of deleting the specified tag companion object { private const val SEQUENCE_TAG_DELETE = 2 } // Delete tags: "china","guangdong","shenzhen" MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen") // After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code return } if (tagMessage.sequence == SEQUENCE_TAG_DELETE) { // Delete the specified tag successfully, at this time, you can view the tag array of the successful operation val tags = tagMessage.tags } }
              
              // Define a constant here, which represents the operation of deleting the specified tag
companion object {
    private const val SEQUENCE_TAG_DELETE = 2
}
// Delete tags: "china","guangdong","shenzhen"
MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen")

// After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback
override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_DELETE) {
        // Delete the specified tag successfully, at this time, you can view the tag array of the successful operation
        val tags = tagMessage.tags
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

updateTag

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onTagMessage zurückgegeben.
/** * Aktualisiert das angegebene Tag, Überschreiblogik: Vorherige Tags werden entfernt. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation * @param tags Tag-Array, Länge jedes Tag-Namens max. 40 Bytes, max. 1000 Tags, Gesamtlänge pro Vorgang max. 5000 Bytes */ public static void updateTag(Context context, int sequence, String... tags)
              
                   /**
      * Aktualisiert das angegebene Tag, Überschreiblogik: Vorherige Tags werden entfernt.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      * @param tags Tag-Array, Länge jedes Tag-Namens max. 40 Bytes, max. 1000 Tags, Gesamtlänge pro Vorgang max. 5000 Bytes
      */
     public static void updateTag(Context context, int sequence, String... tags)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für das Aktualisieren von Tags private static final int SEQUENCE_TAG_UPDATE = 3; // Tags aktualisieren: "beijing", "shanghai", "guangzhou", "shenzhen" (vorherige Tags werden ungültig) MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen"); // Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_UPDATE){ // Tag erfolgreich aktualisiert String[] tags = tagMessage.getTags(); } }
              
              // Konstante für das Aktualisieren von Tags
private static final int SEQUENCE_TAG_UPDATE = 3;
// Tags aktualisieren: "beijing", "shanghai", "guangzhou", "shenzhen" (vorherige Tags werden ungültig)
MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen");

// Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
    if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(tagMessage.getSequence() == SEQUENCE_TAG_UPDATE){
        // Tag erfolgreich aktualisiert
        String[] tags = tagMessage.getTags();
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, which represents the operation of updating the specified tag companion object { private const val SEQUENCE_TAG_UPDATE = 3 } // Update tag: "beijing","shanghai","guangzhou","shenzhen", the previously set tag will be invalid MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen") // After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code return } if (tagMessage.sequence == SEQUENCE_TAG_UPDATE) { // Update the specified tag successfully, and you can view the tag array with successful operation at this time val tags = tagMessage.tags } }
              
              // Define a constant here, which represents the operation of updating the specified tag
companion object {
    private const val SEQUENCE_TAG_UPDATE = 3
}
// Update tag: "beijing","shanghai","guangzhou","shenzhen", the previously set tag will be invalid
MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen")

// After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback
override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_UPDATE) {
        // Update the specified tag successfully, and you can view the tag array with successful operation at this time
        val tags = tagMessage.tags
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

queryTag

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onTagMessage zurückgegeben.
/** * Abfrage eines bestimmten Tags. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation * @param tag Tag-Name, max. 40 Bytes */ public static void queryTag(Context context, int sequence, String tag)
              
                   /**
      * Abfrage eines bestimmten Tags.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      * @param tag Tag-Name, max. 40 Bytes
      */
     public static void queryTag(Context context, int sequence, String tag)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für die Abfrage eines Tags private static final int SEQUENCE_TAG_QUERY = 4; // Tag abfragen MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china"); // Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_QUERY){ // Tag erfolgreich abgefragt String tag = tagMessage.getQueryTag(); boolean valid = tagMessage.isQueryTagValid(); } }
              
              // Konstante für die Abfrage eines Tags
private static final int SEQUENCE_TAG_QUERY = 4;
// Tag abfragen
MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china");

// Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
    if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(tagMessage.getSequence() == SEQUENCE_TAG_QUERY){
        // Tag erfolgreich abgefragt
        String tag = tagMessage.getQueryTag();
        boolean valid = tagMessage.isQueryTagValid();
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, which represents the query specified tag operation companion object { private const val SEQUENCE_TAG_QUERY = 4 } // query label MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china") // After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code return } if (tagMessage.sequence == SEQUENCE_TAG_QUERY) { // Query the specified tag successfully, at this time, you can view the tag and status of the successful operation val tag = tagMessage.queryTag val valid = tagMessage.isQueryTagValid } }
              
              // Define a constant here, which represents the query specified tag operation
companion object {
    private const val SEQUENCE_TAG_QUERY = 4
}
// query label
MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china")

// After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback
override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_QUERY) {
        // Query the specified tag successfully, at this time, you can view the tag and status of the successful operation
        val tag = tagMessage.queryTag
        val valid = tagMessage.isQueryTagValid
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

deleteAllTag

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onTagMessage zurückgegeben.
/** * Löscht alle Tags, Löschlogik: Alle Tags werden entfernt. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation */ public static void deleteAllTag(Context context, int sequence, String... tags)
              
                   /**
      * Löscht alle Tags, Löschlogik: Alle Tags werden entfernt.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      */
     public static void deleteAllTag(Context context, int sequence, String... tags)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für das Löschen aller Tags private static final int SEQUENCE_TAG_DELETE_ALL = 5; // Alle Tags löschen MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE_ALL); // Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){ // Alle Tags erfolgreich gelöscht } }
              
              // Konstante für das Löschen aller Tags
private static final int SEQUENCE_TAG_DELETE_ALL = 5;
// Alle Tags löschen
MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE_ALL);

// Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
    if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){
        // Alle Tags erfolgreich gelöscht
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here to represent delete all tag operations companion object { private const val SEQUENCE_TAG_DELETE_ALL = 5 } // remove all tags MTPushPrivatesApi.deleteAllTag(context, SEQUENCE_TAG_DELETE_ALL) // After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code return } if (tagMessage.sequence == SEQUENCE_TAG_DELETE_ALL) { // delete all tags successfully } }
              
              // Define a constant here to represent delete all tag operations
companion object {
    private const val SEQUENCE_TAG_DELETE_ALL = 5
}
// remove all tags
MTPushPrivatesApi.deleteAllTag(context, SEQUENCE_TAG_DELETE_ALL)

// After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback
override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // tag operation failed, detailed error information can be found in MTPushPrivatesApi.Code
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_DELETE_ALL) {
        // delete all tags successfully
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

queryAllTag

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onTagMessage zurückgegeben.
/** * Alle Tags abfragen. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation */ public static void queryAllTag(Context context, int sequence, String... tags)
              
                   /**
      * Alle Tags abfragen.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      */
     public static void queryAllTag(Context context, int sequence, String... tags)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für die Abfrage aller Tags private static final int SEQUENCE_TAG_QUERY_ALL = 6; // Alle Tags abfragen MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL); // Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){ // Alle Tags erfolgreich abgefragt String[] tags = tagMessage.getTags(); } }
              
              // Konstante für die Abfrage aller Tags
private static final int SEQUENCE_TAG_QUERY_ALL = 6;
// Alle Tags abfragen
MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL);

// Nach dem Überschreiben von MTCommonReceiver die Methode onTagMessage implementieren, um das Callback zu erhalten
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
    if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Tag-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){
        // Alle Tags erfolgreich abgefragt
        String[] tags = tagMessage.getTags();
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, which represents querying all tag operations companion object { private const val SEQUENCE_TAG_QUERY_ALL = 6 } // query all tags MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL) // After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // The tag operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code return } if (tagMessage.sequence == SEQUENCE_TAG_QUERY_ALL) { // Query all tags successfully, at this time, you can view the tag array with successful operation val tags = tagMessage.tags } }
              
              // Define a constant here, which represents querying all tag operations
companion object {
    private const val SEQUENCE_TAG_QUERY_ALL = 6
}
// query all tags
MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL)

// After inheriting MTCommonReceiver, override the onTagMessage method to get the tag operation callback
override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // The tag operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_QUERY_ALL) {
        // Query all tags successfully, at this time, you can view the tag array with successful operation
        val tags = tagMessage.tags
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

setAlias

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onAliasMessage zurückgegeben.
/** * Alias setzen * * Es wird empfohlen, für unterschiedliche Nutzer:innen in derselben App unterschiedliche Aliase zu verwenden, um eine eindeutige Identifikation zu gewährleisten. * * Alias nicht auf eine:n Nutzer:in beschränken. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation * @param alias Gültige Alias-Zeichen: Buchstaben (Groß-/Kleinschreibung), Zahlen, Unterstrich, chinesische Zeichen, Sonderzeichen @!#$&*+=.|. Einschränkung: Max. 40 Bytes (UTF-8) */ public static void setAlias(Context context, int sequence, String alias)
              
                   /**
      * Alias setzen
      *
      * Es wird empfohlen, für unterschiedliche Nutzer:innen in derselben App unterschiedliche Aliase zu verwenden, um eine eindeutige Identifikation zu gewährleisten.
      *
      * Alias nicht auf eine:n Nutzer:in beschränken.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      * @param alias Gültige Alias-Zeichen: Buchstaben (Groß-/Kleinschreibung), Zahlen, Unterstrich, chinesische Zeichen, Sonderzeichen @!#$&*+=.|. Einschränkung: Max. 40 Bytes (UTF-8)
      */
     public static void setAlias(Context context, int sequence, String alias)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für das Setzen eines Alias private static final int SEQUENCE_ALIAS_SET = 7; // Alias setzen: "young" MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young"); // Nach dem Überschreiben von MTCommonReceiver die Methode onAliasMessage implementieren, um das Callback zu erhalten @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // Alias-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_SET){ // Alias erfolgreich gesetzt String alias = aliasMessage.getAlias(); } }
              
              // Konstante für das Setzen eines Alias
private static final int SEQUENCE_ALIAS_SET = 7;
// Alias setzen: "young"
MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young");

// Nach dem Überschreiben von MTCommonReceiver die Methode onAliasMessage implementieren, um das Callback zu erhalten
@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage){
    if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Alias-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(aliasMessage.getSequence() == SEQUENCE_ALIAS_SET){
        // Alias erfolgreich gesetzt
        String alias = aliasMessage.getAlias();
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, which represents setting alias operation companion object { private const val SEQUENCE_ALIAS_SET = 7 } // Set alias: "young" MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young") // After inheriting MTCommonReceiver, override the onAliasMessage method to get the alias operation callback override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) { if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // The alias operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code return } if (aliasMessage.sequence == SEQUENCE_ALIAS_SET) { // The alias is set successfully, and you can view the alias of the successful operation at this time val alias = aliasMessage.alias } }
              
              // Define a constant here, which represents setting alias operation
companion object {
    private const val SEQUENCE_ALIAS_SET = 7
}
// Set alias: "young"
MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young")

// After inheriting MTCommonReceiver, override the onAliasMessage method to get the alias operation callback
override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) {
    if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // The alias operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code
        return
    }
    if (aliasMessage.sequence == SEQUENCE_ALIAS_SET) {
        // The alias is set successfully, and you can view the alias of the successful operation at this time
        val alias = aliasMessage.alias
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

getAlias

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onAliasMessage zurückgegeben.
/** * Alias abfragen * * Es wird empfohlen, für unterschiedliche Nutzer:innen in derselben App unterschiedliche Aliase zu verwenden, um eine eindeutige Identifikation zu gewährleisten. * * Alias nicht auf eine:n Nutzer:in beschränken. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation */ public static void getAlias(Context context, int sequence)
              
                   /**
      * Alias abfragen
      *
      * Es wird empfohlen, für unterschiedliche Nutzer:innen in derselben App unterschiedliche Aliase zu verwenden, um eine eindeutige Identifikation zu gewährleisten.
      *
      * Alias nicht auf eine:n Nutzer:in beschränken.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      */
     public static void getAlias(Context context, int sequence)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für das Abfragen eines Alias private static final int SEQUENCE_ALIAS_GET = 8; // Alias abfragen MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET); // Nach dem Überschreiben von MTCommonReceiver die Methode onAliasMessage implementieren, um das Callback zu erhalten @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // Alias-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_GET){ // Alias erfolgreich abgefragt String alias = aliasMessage.getAlias(); } }
              
              // Konstante für das Abfragen eines Alias
private static final int SEQUENCE_ALIAS_GET = 8;
// Alias abfragen
MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET);

// Nach dem Überschreiben von MTCommonReceiver die Methode onAliasMessage implementieren, um das Callback zu erhalten
@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage){
    if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Alias-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(aliasMessage.getSequence() == SEQUENCE_ALIAS_GET){
        // Alias erfolgreich abgefragt
        String alias = aliasMessage.getAlias();
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, which represents the operation of obtaining alias companion object { private const val SEQUENCE_ALIAS_GET = 8 } // get alias MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET) // After inheriting MTCommonReceiver, override the onAliasMessage method to get the alias operation callback override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) { if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // The alias operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code return } if (aliasMessage.sequence == SEQUENCE_ALIAS_GET) { // Get the alias successfully, you can view the alias of the successful operation at this time val alias = aliasMessage.alias } }
              
              // Define a constant here, which represents the operation of obtaining alias
companion object {
    private const val SEQUENCE_ALIAS_GET = 8
}
// get alias
MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET)

// After inheriting MTCommonReceiver, override the onAliasMessage method to get the alias operation callback
override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) {
    if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // The alias operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code
        return
    }
    if (aliasMessage.sequence == SEQUENCE_ALIAS_GET) {
        // Get the alias successfully, you can view the alias of the successful operation at this time
        val alias = aliasMessage.alias
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

clearAlias

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Bei korrekter Umgebung wird das Ergebnis über onAliasMessage zurückgegeben.
/** * Alias löschen * * Es wird empfohlen, für unterschiedliche Nutzer:innen in derselben App unterschiedliche Aliase zu verwenden, um eine eindeutige Identifikation zu gewährleisten. * * Alias nicht auf eine:n Nutzer:in beschränken. * * @param context darf nicht leer sein * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation */ public static void clearAlias(Context context, int sequence)
              
                   /**
      * Alias löschen
      *
      * Es wird empfohlen, für unterschiedliche Nutzer:innen in derselben App unterschiedliche Aliase zu verwenden, um eine eindeutige Identifikation zu gewährleisten.
      *
      * Alias nicht auf eine:n Nutzer:in beschränken.
      *
      * @param context darf nicht leer sein
      * @param sequence Benutzerdefinierte Operationssequenznummer, wird zusammen mit dem Ergebnis zurückgegeben, zur Identifikation der Operation
      */
     public static void clearAlias(Context context, int sequence)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für das Löschen eines Alias private static final int SEQUENCE_ALIAS_CLEAR = 7; // Alias löschen MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR); // Nach dem Überschreiben von MTCommonReceiver die Methode onAliasMessage implementieren, um das Callback zu erhalten @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // Alias-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_CLEAR){ // Alias erfolgreich gelöscht } }
              
              // Konstante für das Löschen eines Alias
private static final int SEQUENCE_ALIAS_CLEAR = 7;
// Alias löschen
MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR);

// Nach dem Überschreiben von MTCommonReceiver die Methode onAliasMessage implementieren, um das Callback zu erhalten
@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage){
    if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){
        // Alias-Operation fehlgeschlagen, Details siehe MTPushPrivatesApi.Code
        return;
    }
    if(aliasMessage.getSequence() == SEQUENCE_ALIAS_CLEAR){
        // Alias erfolgreich gelöscht
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here to represent clear alias operation companion object { private const val SEQUENCE_ALIAS_CLEAR = 9 } // clear aliases MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR) // After inheriting MTCommonReceiver, override the onAliasMessage method to get the alias operation callback override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) { if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) { // The alias operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code return } if (aliasMessage.sequence == SEQUENCE_ALIAS_CLEAR) { // Clear alias successfully } }
              
              // Define a constant here to represent clear alias operation
companion object {
    private const val SEQUENCE_ALIAS_CLEAR = 9
}
// clear aliases
MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR)

// After inheriting MTCommonReceiver, override the onAliasMessage method to get the alias operation callback
override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) {
    if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        // The alias operation failed, for detailed error information, please refer to MTPushPrivatesApi.Code
        return
    }
    if (aliasMessage.sequence == SEQUENCE_ALIAS_CLEAR) {
        // Clear alias successfully
    }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

setNotificationShowTime

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal/Google-Kanal, wenn die App im Vordergrund ist (Anzeige durch Engagelab).
/** * Legt die Anzeigedauer von Benachrichtigungen fest. Standardmäßig werden Benachrichtigungen jederzeit angezeigt. * * @param context darf nicht leer sein * @param beginHour Startzeit (24-Stunden-Format, Bereich 0 bis 23) * @param endHour Endzeit (24-Stunden-Format, Bereich 0 bis 23), beginHour darf nicht größer oder gleich endHour sein * @param weekDays Wochentags-Array (7-Tage-System, Werte 1 bis 7), leeres Array = keine Anzeige */ public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)
              
                   /**
      * Legt die Anzeigedauer von Benachrichtigungen fest. Standardmäßig werden Benachrichtigungen jederzeit angezeigt.
      *
      * @param context darf nicht leer sein
      * @param beginHour Startzeit (24-Stunden-Format, Bereich 0 bis 23)
      * @param endHour Endzeit (24-Stunden-Format, Bereich 0 bis 23), beginHour darf nicht größer oder gleich endHour sein
      * @param weekDays Wochentags-Array (7-Tage-System, Werte 1 bis 7), leeres Array = keine Anzeige
      */
     public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Benachrichtigungen werden wöchentlich von 9 bis 21 Uhr an den Tagen 1/3/5/7 angezeigt MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7);
              
                   // Benachrichtigungen werden wöchentlich von 9 bis 21 Uhr an den Tagen 1/3/5/7 angezeigt
     MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Set the notification display time from 9 am to 9 pm on 1/3/5/7 every week MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7)
              
              // Set the notification display time from 9 am to 9 pm on 1/3/5/7 every week
     MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7)

            
Diesen Codeblock im schwebenden Fenster anzeigen

resetNotificationShowTime

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal/Google-Kanal, wenn die App im Vordergrund ist (Anzeige durch Engagelab).
/** * Setzt die Anzeigedauer von Benachrichtigungen zurück, Standard ist jederzeitige Anzeige. * * @param context darf nicht leer sein */ public static void resetNotificationShowTime(Context context)
              
                   /**
      * Setzt die Anzeigedauer von Benachrichtigungen zurück, Standard ist jederzeitige Anzeige.
      *
      * @param context darf nicht leer sein
      */
     public static void resetNotificationShowTime(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Setzt die Anzeigedauer für Benachrichtigungen zurück (Standard: jederzeit) MTPushPrivatesApi.resetNotificationShowTime(context);
              
                   // Setzt die Anzeigedauer für Benachrichtigungen zurück (Standard: jederzeit)
     MTPushPrivatesApi.resetNotificationShowTime(context);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Reset the notification display time, which is displayed at any time by default MTPushPrivatesApi.resetNotificationShowTime(context)
              
              // Reset the notification display time, which is displayed at any time by default
     MTPushPrivatesApi.resetNotificationShowTime(context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

setNotificationSilenceTime

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal/Google-Kanal, wenn die App im Vordergrund ist (Anzeige durch Engagelab).
/** * Legt die Ruhezeit für Benachrichtigungen fest, Standard ist keine Ruhezeit. * * @param context darf nicht leer sein * @param beginHour Startzeit der Ruhezeit (24-Stunden-Format, Bereich 0 bis 23) * @param beginMinute Startminute der Ruhezeit (Bereich 0 bis 59) * @param endHour Endzeit der Ruhezeit (24-Stunden-Format, Bereich 0 bis 23) * @param endMinute Endminute der Ruhezeit (Bereich 0 bis 59) */ public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)
              
                   /**
      * Legt die Ruhezeit für Benachrichtigungen fest, Standard ist keine Ruhezeit.
      *
      * @param context darf nicht leer sein
      * @param beginHour Startzeit der Ruhezeit (24-Stunden-Format, Bereich 0 bis 23)
      * @param beginMinute Startminute der Ruhezeit (Bereich 0 bis 59)
      * @param endHour Endzeit der Ruhezeit (24-Stunden-Format, Bereich 0 bis 23)
      * @param endMinute Endminute der Ruhezeit (Bereich 0 bis 59)
      */
     public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Ruhezeit von 21:30 Uhr bis 9:30 Uhr am nächsten Tag MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);
              
                   // Ruhezeit von 21:30 Uhr bis 9:30 Uhr am nächsten Tag
     MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Set the notification silent time from 9:30 p.m. to 9:30 a.m. the next day MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30)
              
              // Set the notification silent time from 9:30 p.m. to 9:30 a.m. the next day
     MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30)

            
Diesen Codeblock im schwebenden Fenster anzeigen

resetNotificationSilenceTime

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal/Google-Kanal, wenn die App im Vordergrund ist (Anzeige durch Engagelab).
/** * Setzt die Ruhezeit für Benachrichtigungen zurück, Standard ist keine Ruhezeit. * * @param context darf nicht leer sein */ public static void resetNotificationSilenceTime(Context context)
              
                   /**
      * Setzt die Ruhezeit für Benachrichtigungen zurück, Standard ist keine Ruhezeit.
      *
      * @param context darf nicht leer sein
      */
     public static void resetNotificationSilenceTime(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Ruhezeit für Benachrichtigungen zurücksetzen (Standard: keine Ruhezeit) MTPushPrivatesApi.resetNotificationSilenceTime(context);
              
                   // Ruhezeit für Benachrichtigungen zurücksetzen (Standard: keine Ruhezeit)
     MTPushPrivatesApi.resetNotificationSilenceTime(context);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Reset the notification silent time, the default is not silent at any time MTPushPrivatesApi.resetNotificationSilenceTime(context)
              
              // Reset the notification silent time, the default is not silent at any time
     MTPushPrivatesApi.resetNotificationSilenceTime(context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

setNotificationLayout

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal
/** * Legt ein benutzerdefiniertes Benachrichtigungs-Layout fest, Standard ist das Systemlayout. * * @param context darf nicht leer sein * @param builderId Build-ID * @param notificationLayout Objekt für benutzerdefiniertes Layout, darf nicht leer sein */ public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)
              
                   /**
      * Legt ein benutzerdefiniertes Benachrichtigungs-Layout fest, Standard ist das Systemlayout.
      *
      * @param context darf nicht leer sein
      * @param builderId Build-ID
      * @param notificationLayout Objekt für benutzerdefiniertes Layout, darf nicht leer sein
      */
     public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für die Build-ID private static final int BUILDER_ID = 11; // NotificationLayout erstellen NotificationLayout notificationLayout = new NotificationLayout() .setLayoutId(R.layout.custom_notification_layout) .setIconViewId(R.id.iv_notification_icon) .setIconResourceId(R.drawable.mtpush_notification_icon) .setTitleViewId(R.id.tv_notification_title) .setContentViewId(R.id.tv_notification_content) .setTimeViewId(R.id.tv_notification_time); // Benutzerdefiniertes Layout mit Build-ID festlegen MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);
              
              // Konstante für die Build-ID
private static final int BUILDER_ID = 11;

// NotificationLayout erstellen
NotificationLayout notificationLayout = new NotificationLayout()
    .setLayoutId(R.layout.custom_notification_layout)
    .setIconViewId(R.id.iv_notification_icon)
    .setIconResourceId(R.drawable.mtpush_notification_icon)
    .setTitleViewId(R.id.tv_notification_title)
    .setContentViewId(R.id.tv_notification_content)
    .setTimeViewId(R.id.tv_notification_time);

// Benutzerdefiniertes Layout mit Build-ID festlegen
MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, representing the build id companion object { private const val BUILDER_ID = 11 } // Build a notificationLayout val notificationLayout = NotificationLayout() .setLayoutId(R.layout.custom_notification_layout) // layout layout_id .setIconViewId(R.id.iv_notification_icon) // notification icon view_id .setIconResourceId(R.drawable.mtpush_notification_icon) // notification icon source_id .setTitleViewId(R.id.tv_notification_title) // notification title view_id .setContentViewId(R.id.tv_notification_content) // notification content view_id .setTimeViewId(R.id.tv_notification_time) // notification time view_id // Set the custom layout with the build id as BUILDER_ID, and specify builderId as BUILDER_ID when sending the notification to change the layout of the notification MTPushPrivatesApi.setNotificationLayout(applicationContext, BUILDER_ID, notificationLayout)
              
              // Define a constant here, representing the build id
companion object {
    private const val BUILDER_ID = 11
}

// Build a notificationLayout
val notificationLayout = NotificationLayout()
    .setLayoutId(R.layout.custom_notification_layout) // layout layout_id
    .setIconViewId(R.id.iv_notification_icon) // notification icon view_id
    .setIconResourceId(R.drawable.mtpush_notification_icon) // notification icon source_id
    .setTitleViewId(R.id.tv_notification_title) // notification title view_id
    .setContentViewId(R.id.tv_notification_content) // notification content view_id
    .setTimeViewId(R.id.tv_notification_time) // notification time view_id

// Set the custom layout with the build id as BUILDER_ID, and specify builderId as BUILDER_ID when sending the notification to change the layout of the notification
MTPushPrivatesApi.setNotificationLayout(applicationContext, BUILDER_ID, notificationLayout)

            
Diesen Codeblock im schwebenden Fenster anzeigen

resetNotificationLayout

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal
/** * Setzt das benutzerdefinierte Benachrichtigungs-Layout zurück, Standard ist das Systemlayout. * * @param context darf nicht leer sein * @param builderId ID des benutzerdefinierten Layouts */ public static void resetNotificationLayout(Context context, int builderId)
              
                   /**
      * Setzt das benutzerdefinierte Benachrichtigungs-Layout zurück, Standard ist das Systemlayout.
      *
      * @param context darf nicht leer sein
      * @param builderId ID des benutzerdefinierten Layouts
      */
     public static void resetNotificationLayout(Context context, int builderId)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Konstante für die Build-ID private static final int BUILDER_ID = 11; // Benutzerdefiniertes Layout mit Build-ID zurücksetzen (Systemlayout verwenden) MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID);
              
              // Konstante für die Build-ID
private static final int BUILDER_ID = 11;

// Benutzerdefiniertes Layout mit Build-ID zurücksetzen (Systemlayout verwenden)
MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Define a constant here, representing the build id companion object { private const val BUILDER_ID = 11 } // Reset the custom layout with build id as BUILDER_ID, specify builderId as BUILDER_ID when sending the notification, and use the system default layout MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID)
              
              // Define a constant here, representing the build id
companion object {
    private const val BUILDER_ID = 11
}

// Reset the custom layout with build id as BUILDER_ID, specify builderId as BUILDER_ID when sending the notification, and use the system default layout
MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID)

            
Diesen Codeblock im schwebenden Fenster anzeigen

setNotificationCount

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal/Google-Kanal, wenn die App im Vordergrund ist (Anzeige durch Engagelab).
/** * Legt die Anzahl der Benachrichtigungen in der Benachrichtigungsleiste fest, Standard ist 5. * * @param context darf nicht leer sein * @param count Begrenzung der Anzahl, bei Überschreitung wird die älteste Benachrichtigung entfernt, darf nicht <= 0 sein */ public static void setNotificationCount(Context context, int count)
              
                   /**
      * Legt die Anzahl der Benachrichtigungen in der Benachrichtigungsleiste fest, Standard ist 5.
      *
      * @param context darf nicht leer sein
      * @param count Begrenzung der Anzahl, bei Überschreitung wird die älteste Benachrichtigung entfernt, darf nicht <= 0 sein
      */
     public static void setNotificationCount(Context context, int count)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Anzahl der Benachrichtigungen auf 50 setzen MTPushPrivatesApi.setNotificationCount(context, 50);
              
                   // Anzahl der Benachrichtigungen auf 50 setzen
     MTPushPrivatesApi.setNotificationCount(context, 50);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Set the number of notifications in the notification bar to 50 MTPushPrivatesApi.setNotificationCount(context, 50)
              
              // Set the number of notifications in the notification bar to 50
     MTPushPrivatesApi.setNotificationCount(context, 50)

            
Diesen Codeblock im schwebenden Fenster anzeigen

resetNotificationCount

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Unterstützte Kanäle: Engagelab-Kanal/Google-Kanal, wenn die App im Vordergrund ist (Anzeige durch Engagelab).
/** * Setzt die Anzahl der Benachrichtigungen in der Benachrichtigungsleiste zurück, Standard ist 5. * * @param context darf nicht leer sein */ public static void resetNotificationCount(Context context)
              
                   /**
      * Setzt die Anzahl der Benachrichtigungen in der Benachrichtigungsleiste zurück, Standard ist 5.
      *
      * @param context darf nicht leer sein
      */
     public static void resetNotificationCount(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Anzahl der Benachrichtigungen zurücksetzen (Standard: 5) MTPushPrivatesApi.resetNotificationCount(context);
              
                   // Anzahl der Benachrichtigungen zurücksetzen (Standard: 5)
     MTPushPrivatesApi.resetNotificationCount(context);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Reset the number of notifications in the notification bar, the default number is 5 MTPushPrivatesApi.resetNotificationCount(context)
              
              // Reset the number of notifications in the notification bar, the default number is 5
     MTPushPrivatesApi.resetNotificationCount(context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

setNotificationBadge

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
/** * Legt die Anzahl der App-Badges fest, Standard ist 0 (nur für Huawei/Honor gültig). * * @param context darf nicht leer sein * @param badge Anzahl der App-Badges */ public static void setNotificationBadge(Context context, int badge)
              
                   /**
      * Legt die Anzahl der App-Badges fest, Standard ist 0 (nur für Huawei/Honor gültig).
      *
      * @param context darf nicht leer sein
      * @param badge Anzahl der App-Badges
      */
     public static void setNotificationBadge(Context context, int badge)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Anzahl der App-Badges auf 1 setzen MTPushPrivatesApi.setNotificationBadge(context, 1);
              
                   // Anzahl der App-Badges auf 1 setzen
     MTPushPrivatesApi.setNotificationBadge(context, 1);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Set the number of application badges to 1 MTPushPrivatesApi.setNotificationBadge(context, 1)
              
              // Set the number of application badges to 1
     MTPushPrivatesApi.setNotificationBadge(context, 1)

            
Diesen Codeblock im schwebenden Fenster anzeigen

resetNotificationBadge

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
/** * Setzt die Anzahl der App-Badges zurück, Standard ist 0 (nur für Huawei/Honor gültig). * * @param context darf nicht leer sein */ public static void resetNotificationBadge(Context context)
              
                   /**
      * Setzt die Anzahl der App-Badges zurück, Standard ist 0 (nur für Huawei/Honor gültig).
      *
      * @param context darf nicht leer sein
      */
     public static void resetNotificationBadge(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Anzahl der App-Badges zurücksetzen (Standard: 0) MTPushPrivatesApi.resetNotificationBadge(context);
              
                   // Anzahl der App-Badges zurücksetzen (Standard: 0)
     MTPushPrivatesApi.resetNotificationBadge(context);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Reset the number of application badges, the default is 0 MTPushPrivatesApi.resetNotificationBadge(context)
              
              // Reset the number of application badges, the default is 0
     MTPushPrivatesApi.resetNotificationBadge(context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

showNotification

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
/** * Benachrichtigung anzeigen * * @param context darf nicht leer sein * @param notificationMessage Benachrichtigungsobjekt, darf nicht leer sein */ public static void showNotification(Context context, NotificationMessage notificationMessage)
              
                   /**
      * Benachrichtigung anzeigen
      *
      * @param context darf nicht leer sein
      * @param notificationMessage Benachrichtigungsobjekt, darf nicht leer sein
      */
     public static void showNotification(Context context, NotificationMessage notificationMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Grundlegende Benachrichtigung erstellen (messageId und content erforderlich) NotificationMessage notificationMessage = new NotificationMessage() .setMessageId("12345") .setNotificationId(12345) .setTitle("custom_notification_title") .setContent("custom_notification_content"); // Benachrichtigung anzeigen MTPushPrivatesApi.showNotification(context, notificationMessage);
              
                   // Grundlegende Benachrichtigung erstellen (messageId und content erforderlich)
     NotificationMessage notificationMessage = new NotificationMessage()
         .setMessageId("12345")
         .setNotificationId(12345)
         .setTitle("custom_notification_title")
         .setContent("custom_notification_content");
     // Benachrichtigung anzeigen
     MTPushPrivatesApi.showNotification(context, notificationMessage);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Build a basic notification, where messageId and content are required, otherwise the notification cannot be displayed val notificationMessage = NotificationMessage() .setMessageId("12345") .setNotificationId(12345) .setTitle("custom_notification_title") .setContent("custom_notification_content") // display notification MTPushPrivatesApi.showNotification(context, notificationMessage)
              
              // Build a basic notification, where messageId and content are required, otherwise the notification cannot be displayed
     val notificationMessage = NotificationMessage()
         .setMessageId("12345")
         .setNotificationId(12345)
         .setTitle("custom_notification_title")
         .setContent("custom_notification_content")
     // display notification
     MTPushPrivatesApi.showNotification(context, notificationMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

clearNotification

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
/** * Löscht die Benachrichtigung mit der angegebenen notifyId * * @param context darf nicht leer sein * @param notifyId Benachrichtigungs-ID */ public static void clearNotification(Context context, int notifyId)
              
                   /**
      * Löscht die Benachrichtigung mit der angegebenen notifyId
      *
      * @param context darf nicht leer sein
      * @param notifyId Benachrichtigungs-ID
      */
     public static void clearNotification(Context context, int notifyId)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Benachrichtigung mit der angegebenen notifyId löschen MTPushPrivatesApi.clearNotification(context, 12345);
              
                   // Benachrichtigung mit der angegebenen notifyId löschen
     MTPushPrivatesApi.clearNotification(context, 12345);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Clear the notification with the specified notifyId MTPushPrivatesApi.clearNotification(context, 12345)
              
              // Clear the notification with the specified notifyId
     MTPushPrivatesApi.clearNotification(context, 12345)

            
Diesen Codeblock im schwebenden Fenster anzeigen

reportNotificationArrived

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Wenn kein Engagelab-Herstellerpaket integriert ist, aber Engagelab die Zustellrate erfassen soll, bitte diese Schnittstelle aufrufen.
/** * Meldet das Eintreffen der Herstellerbenachrichtigung. * * HTTP/HTTPS wird verwendet. * * @param context darf nicht leer sein * @param messageId Engagelab messageId, darf nicht leer sein * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId Hersteller messageId, optional */ public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Meldet das Eintreffen der Herstellerbenachrichtigung.
      *
      * HTTP/HTTPS wird verwendet.
      *
      * @param context darf nicht leer sein
      * @param messageId Engagelab messageId, darf nicht leer sein
      * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId Hersteller messageId, optional
      */
     public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Meldet das Eintreffen der Herstellerbenachrichtigung, messageId: "12345", Hersteller: Xiaomi, Hersteller messageId: "MI-6476RHT25" MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");
              
                   // Meldet das Eintreffen der Herstellerbenachrichtigung, messageId: "12345", Hersteller: Xiaomi, Hersteller messageId: "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Report the arrival of the manufacturer's notification, the messageId is "12345", the manufacturer is Xiaomi, and the manufacturer's messageId is "MI-6476RHT25" MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")
              
              // Report the arrival of the manufacturer's notification, the messageId is "12345", the manufacturer is Xiaomi, and the manufacturer's messageId is "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")

            
Diesen Codeblock im schwebenden Fenster anzeigen

reportNotificationClicked

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Wenn kein Engagelab-Herstellerpaket integriert ist, aber Engagelab die Klickrate erfassen soll, bitte diese Schnittstelle aufrufen.
/** * Meldet den Klick auf die Herstellerbenachrichtigung. * * HTTP/HTTPS wird verwendet. * * @param context darf nicht leer sein * @param messageId Engagelab messageId, darf nicht leer sein * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId Hersteller messageId, optional */ public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Meldet den Klick auf die Herstellerbenachrichtigung.
      *
      * HTTP/HTTPS wird verwendet.
      *
      * @param context darf nicht leer sein
      * @param messageId Engagelab messageId, darf nicht leer sein
      * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId Hersteller messageId, optional
      */
     public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Meldet den Klick auf die Herstellerbenachrichtigung, messageId: "12345", Hersteller: Xiaomi, Hersteller messageId: "MI-6476RHT25" MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");
              
                   // Meldet den Klick auf die Herstellerbenachrichtigung, messageId: "12345", Hersteller: Xiaomi, Hersteller messageId: "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Report the manufacturer's notification click, the messageId is "12345", the manufacturer is Xiaomi, and the manufacturer's messageId is "MI-6476RHT25" MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")
              
              // Report the manufacturer's notification click, the messageId is "12345", the manufacturer is Xiaomi, and the manufacturer's messageId is "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")

            
Diesen Codeblock im schwebenden Fenster anzeigen

reportNotificationDeleted

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Wenn kein Engagelab-Herstellerpaket integriert ist, aber Engagelab die Löschrate erfassen soll, bitte diese Schnittstelle aufrufen.
/** * Meldet das Löschen der Herstellerbenachrichtigung. * * HTTP/HTTPS wird verwendet. * * @param context darf nicht leer sein * @param messageId Engagelab messageId, darf nicht leer sein * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId Hersteller messageId, optional */ public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Meldet das Löschen der Herstellerbenachrichtigung.
      *
      * HTTP/HTTPS wird verwendet.
      *
      * @param context darf nicht leer sein
      * @param messageId Engagelab messageId, darf nicht leer sein
      * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId Hersteller messageId, optional
      */
     public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Meldet das Löschen der Herstellerbenachrichtigung, messageId: "12345", Hersteller: Xiaomi, Hersteller messageId: "MI-6476RHT25" MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");
              
                   // Meldet das Löschen der Herstellerbenachrichtigung, messageId: "12345", Hersteller: Xiaomi, Hersteller messageId: "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Report the manufacturer to delete the notification, the messageId is "12345", the manufacturer is mi, and the manufacturer's messageId is "MI-6476RHT25" MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")
              
              // Report the manufacturer to delete the notification, the messageId is "12345", the manufacturer is mi, and the manufacturer's messageId is "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")

            
Diesen Codeblock im schwebenden Fenster anzeigen

reportNotificationOpened

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Wenn kein Engagelab-Herstellerpaket integriert ist, aber Engagelab die Öffnungsrate erfassen soll, bitte diese Schnittstelle aufrufen.
  • Einige Hersteller (z. B. Huawei/Oppo/Vivo) bieten keine Callbacks für Benachrichtigungseingang und -klick. Nach der Konfiguration der Aktivität, auf die die Benachrichtigung verweist, können die Parameter im Ziel-Intent abgefragt werden. Es wird empfohlen, für alle Hersteller die Zielaktivität zu konfigurieren.
  • Ab MTPush 4.0.0 nicht mehr erforderlich.
/** * Meldet das Öffnen der Herstellerbenachrichtigung. * * HTTP/HTTPS wird verwendet. * * @param context darf nicht leer sein * @param messageId Engagelab messageId, darf nicht leer sein * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId Hersteller messageId, optional */ public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Meldet das Öffnen der Herstellerbenachrichtigung.
      *
      * HTTP/HTTPS wird verwendet.
      *
      * @param context darf nicht leer sein
      * @param messageId Engagelab messageId, darf nicht leer sein
      * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId Hersteller messageId, optional
      */
     public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

Bundle bundle = intent.getExtras(); String platformMessage = ""; // Huawei if (intent.getData() != null) { platformMessage = intent.getData().toString(); } // Andere Hersteller if (TextUtils.isEmpty(platformMessage) && intent.getExtras() != null) { if (bundle.containsKey("JMessageExtra")) { platformMessage = bundle.getString("JMessageExtra"); } else { platformMessage = bundle.getString("MTMessageExtra"); } } if (TextUtils.isEmpty(platformMessage)) { return; } JSONObject messageJson = new JSONObject(platformMessage); tvMessage.setText(toLogString(messageJson)); // Auslesen String messageId = messageJson.optString("msg_id"); byte platform = (byte) messageJson.optInt("rom_type"); String title = messageJson.optString("n_title"); String content = messageJson.optString("n_content"); // Meldet das Öffnen der Benachrichtigung (empfohlen für alle Hersteller, nur für Versionen < 4.0.0 erforderlich) MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "");
              
                   Bundle bundle = intent.getExtras();
     String platformMessage = "";
     // Huawei
     if (intent.getData() != null) {
         platformMessage = intent.getData().toString();
     }
     // Andere Hersteller
     if (TextUtils.isEmpty(platformMessage) && intent.getExtras() != null) {
         if (bundle.containsKey("JMessageExtra")) {
              platformMessage = bundle.getString("JMessageExtra");
         } else {
              platformMessage = bundle.getString("MTMessageExtra");
         }
     }
     if (TextUtils.isEmpty(platformMessage)) {
         return;
     }
     JSONObject messageJson = new JSONObject(platformMessage);
     tvMessage.setText(toLogString(messageJson));
     // Auslesen
     String messageId = messageJson.optString("msg_id");
     byte platform = (byte) messageJson.optInt("rom_type");
     String title = messageJson.optString("n_title");
     String content = messageJson.optString("n_content");
     // Meldet das Öffnen der Benachrichtigung (empfohlen für alle Hersteller, nur für Versionen < 4.0.0 erforderlich)
     MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

val bundle = intent.extras var platformMessage = "" // huawei if (intent.data != null) { platformMessage = intent.data!!.toString() } // other manufacturers if (TextUtils.isEmpty(platformMessage) && intent.extras != null) { bundle?.let { if (it.containsKey("JMessageExtra")) { platformMessage = it.getString("JMessageExtra", "") } else { platformMessage = it.getString("MTMessageExtra", "") } } } if (TextUtils.isEmpty(platformMessage)) { return } val messageJson = JSONObject(platformMessage) tvMessage.setText(toLogString(messageJson)) // parse val messageId = messageJson.optString("msg_id") val platform = messageJson.optInt("rom_type").toByte() val title = messageJson.optString("n_title") val content = messageJson.optString("n_content") // Report the notification and click on the activity to open it. It is recommended that all manufacturers jump to add it. It is only required for versions below MTPush4.0.0 MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "")
              
              val bundle = intent.extras
     var platformMessage = ""
     // huawei
     if (intent.data != null) {
         platformMessage = intent.data!!.toString()
     }
     // other manufacturers
     if (TextUtils.isEmpty(platformMessage) && intent.extras != null) {
         bundle?.let {
             if (it.containsKey("JMessageExtra")) {
                 platformMessage = it.getString("JMessageExtra", "")
             } else {
                 platformMessage = it.getString("MTMessageExtra", "")
             }
         }
     }
     if (TextUtils.isEmpty(platformMessage)) {
         return
     }
     val messageJson = JSONObject(platformMessage)
     tvMessage.setText(toLogString(messageJson))
     // parse
     val messageId = messageJson.optString("msg_id")
     val platform = messageJson.optInt("rom_type").toByte()
     val title = messageJson.optString("n_title")
     val content = messageJson.optString("n_content")
     // Report the notification and click on the activity to open it. It is recommended that all manufacturers jump to add it. It is only required for versions below MTPush4.0.0
     MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "")

            
Diesen Codeblock im schwebenden Fenster anzeigen

uploadPlatformToken

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Da der Upload per TCP erfolgt, muss die Langzeitverbindung erfolgreich aufgebaut sein, d. h. diese Schnittstelle nach dem Callback onConnectStatus mit true aufrufen.
  • Wenn kein Engagelab-Herstellerpaket integriert ist, aber Engagelab Hersteller-Nachrichten pushen soll, bitte diese Schnittstelle aufrufen.
/** * Hersteller-Token hochladen * * Upload erfolgt per TCP * * @param context darf nicht leer sein * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param token Vom Hersteller zurückgegebenes Token, darf nicht leer sein * @param region Für internationale Versionen von Xiaomi/Oppo: "GLOBAL", sonst "NULL" */ public static void uploadPlatformToken(Context context, byte platform, String token, String region)
              
                   /**
      * Hersteller-Token hochladen
      *
      * Upload erfolgt per TCP
      *
      * @param context darf nicht leer sein
      * @param platform Hersteller (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param token Vom Hersteller zurückgegebenes Token, darf nicht leer sein
      * @param region Für internationale Versionen von Xiaomi/Oppo: "GLOBAL", sonst "NULL"
      */
     public static void uploadPlatformToken(Context context, byte platform, String token, String region)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

// Hersteller-Token melden, Hersteller: Xiaomi, Token: "MI-6476s-afs-afs-afaR-HT25" MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL");
              
                   // Hersteller-Token melden, Hersteller: Xiaomi, Token: "MI-6476s-afs-afs-afaR-HT25"
     MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL");

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

// Report the manufacturer token, the manufacturer is mi, and the manufacturer token is "MI-6476s-afs-afs-afaR-HT25" MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL")
              
              // Report the manufacturer token, the manufacturer is mi, and the manufacturer token is "MI-6476s-afs-afs-afaR-HT25"
     MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL")

            
Diesen Codeblock im schwebenden Fenster anzeigen

clearPlatformToken

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
  • Da der Upload per TCP erfolgt, muss die Langzeitverbindung erfolgreich aufgebaut sein, d. h. diese Schnittstelle nach dem Callback onConnectStatus mit true aufrufen.
  • Wenn kein Engagelab-Herstellerpaket integriert ist, aber Engagelab Hersteller-Nachrichten pushen soll, bitte diese Schnittstelle aufrufen.
/** * Token löschen. Nach dem Aufruf kann das Token nur noch über uploadPlatformToken gemeldet werden. Das SDK erfasst und meldet das Token nicht mehr automatisch. Nach einem Kaltstart wird es zurückgesetzt. * Über das Callback onPlatformToken überwachen. Wenn platform -128 ist, war das Löschen erfolgreich. * * TCP-Verbindung erforderlich. * * @param context darf nicht leer sein */ public static void clearPlatformToken(Context context)
              
                  /**
     * Token löschen. Nach dem Aufruf kann das Token nur noch über uploadPlatformToken gemeldet werden. Das SDK erfasst und meldet das Token nicht mehr automatisch. Nach einem Kaltstart wird es zurückgesetzt.
     * Über das Callback onPlatformToken überwachen. Wenn platform -128 ist, war das Löschen erfolgreich.
     * 
     * TCP-Verbindung erforderlich.
     *
     * @param context darf nicht leer sein
     */
    public static void clearPlatformToken(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

Java:

MTPushPrivatesApi.clearPlatformToken(context);
              
                  MTPushPrivatesApi.clearPlatformToken(context);

            
Diesen Codeblock im schwebenden Fenster anzeigen

onFragmentResume

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
/** * @param context darf nicht leer sein * @param fragmentName Vollständiger Klassenname des Fragments (this.getClass().getCanonicalName()) */ public static void onFragmentResume(Context context, String fragmentName)
              
              /**
 * @param context           darf nicht leer sein
 * @param fragmentName      Vollständiger Klassenname des Fragments (this.getClass().getCanonicalName())
 */
public static void onFragmentResume(Context context, String fragmentName)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

MTPushPrivatesApi.clearPlatformToken(context)
              
              MTPushPrivatesApi.clearPlatformToken(context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onFragmentPause

  • Bitte zuerst init aufrufen, sonst ist der Aufruf ungültig.
/** * @param context darf nicht leer sein * @param fragmentName Vollständiger Klassenname des Fragments (this.getClass().getCanonicalName()) */ public static void onFragmentPause(Context context, String fragmentName)
              
              /**
 * @param context           darf nicht leer sein
 * @param fragmentName      Vollständiger Klassenname des Fragments (this.getClass().getCanonicalName())
 */
public static void onFragmentPause(Context context, String fragmentName)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Hinweise zur Verwendung: Da es vier Möglichkeiten gibt, ein Fragment in Android hinzuzufügen, muss jede Methode unterschiedlich behandelt werden. Nachfolgend finden Sie Erklärungen zur Steuerung der In-App-Anzeige für das jeweilige Fragment basierend auf diesen vier Methoden.

Fragment-Verwendung Kann Fragment-Lebenszyklus überwacht werden? JPush Dynamic Display Page Interface Call Method
Methode 1: add/show/hide Lebenszyklus kann nicht überwacht werden Aufruf von onFragmentResume und onHiddenChanged im Fragment
Methode 2: ViewPager Lebenszyklus kann nicht überwacht werden Aufruf von setUserVisibleHint im Fragment
Methode 3: replace Lebenszyklus kann überwacht werden Aufruf der Lebenszyklusmethoden onResume und onPause im Fragment
Methode 4: attach/detach Lebenszyklus kann überwacht werden Aufruf der Lebenszyklusmethoden onResume und onPause im Fragment
  • add/show/hide-Methode

    1) Rufen Sie die dynamische Steuerungsschnittstelle in der onCreateView-Callbackfunktion des Fragments auf und übergeben Sie die erforderlichen Parameter. @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); return inflater.inflate(R.layout.black_fragment, container, false); } 2) Rufen Sie die dynamische Steuerungsschnittstelle im onHiddenChanged-Callback des Fragments auf und übergeben Sie die erforderlichen Parameter. @Override public void onHiddenChanged(boolean hidden) { String classname = this.getClass().getCanonicalName(); if (!hidden) { // context sollte application context sein MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); } else { // verstecken MTPushPrivatesApi.onFragmentPaused(MyApplication.gContext, classname); } super.onHiddenChanged(hidden); }
                  
                  1) Rufen Sie die dynamische Steuerungsschnittstelle in der onCreateView-Callbackfunktion des Fragments auf und übergeben Sie die erforderlichen Parameter.
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        return inflater.inflate(R.layout.black_fragment, container, false);
    }  
    
    2) Rufen Sie die dynamische Steuerungsschnittstelle im onHiddenChanged-Callback des Fragments auf und übergeben Sie die erforderlichen Parameter.
    
    @Override
    public void onHiddenChanged(boolean hidden) {
        String classname = this.getClass().getCanonicalName();
        if (!hidden) { // context sollte application context sein
            MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        } else { // verstecken
            MTPushPrivatesApi.onFragmentPaused(MyApplication.gContext, classname);  
        } 
        
        super.onHiddenChanged(hidden);
    }  
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
  • ViewPager-Methode

    1) Rufen Sie die dynamische Steuerungsschnittstelle im setUserVisibleHint-Callback des Fragments auf und übergeben Sie die erforderlichen Parameter. @Override public void setUserVisibleHint(boolean isVisibleToUser) { String classname = this.getClass().getCanonicalName(); if (isVisibleToUser) { // application context übergeben MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); } else { // verstecken MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); } super.setUserVisibleHint(isVisibleToUser); }
                  
                  1) Rufen Sie die dynamische Steuerungsschnittstelle im setUserVisibleHint-Callback des Fragments auf und übergeben Sie die erforderlichen Parameter.
    
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        String classname = this.getClass().getCanonicalName();
        if (isVisibleToUser) {
            // application context übergeben
            MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        } else { // verstecken
            MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);  
        } 
        
        super.setUserVisibleHint(isVisibleToUser);
    }    
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
  • replace- oder attach/detach-Methoden

    Rufen Sie die dynamische Seitenkonfiguration im Lebenszyklus-Callback des hinzugefügten Fragments auf. @Override public void onResume() { // application context übergeben String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); super.onResume(); } @Override public void onPause() { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); super.onPause(); }
                  
                  Rufen Sie die dynamische Seitenkonfiguration im Lebenszyklus-Callback des hinzugefügten Fragments auf.
    
    @Override
    public void onResume() { // application context übergeben
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        super.onResume();
    }
    
    @Override
    public void onPause() {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);  
        super.onPause();
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

MTCommonReceiver

  • Wird hauptsächlich für Methoden-Callbacks verwendet.
  • Alle Methoden-Callbacks in dieser Klasse laufen im Hauptprozess.

onNotificationStatus

  • Nach jedem SDK-Start wird der aktuelle Benachrichtigungsschalter-Status per Callback übermittelt.
  • Danach wird nur bei Änderung des Benachrichtigungsschalters ein Callback ausgelöst.
/** * Callback für den Anwendungs-Benachrichtigungsschalter-Status * * @param context darf nicht leer sein * @param enable ob der Benachrichtigungsschalter an ist, true = an, false = aus */ @Override public void onNotificationStatus(Context context, boolean enable)
              
                  /**
     * Callback für den Anwendungs-Benachrichtigungsschalter-Status
     *
     * @param context darf nicht leer sein
     * @param enable  ob der Benachrichtigungsschalter an ist, true = an, false = aus
     */
    @Override
    public void onNotificationStatus(Context context, boolean enable)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onConnectStatus

/** * Ob die Langzeitverbindung erfolgreich hergestellt wurde * * Nach der Initialisierung wird die Langzeitverbindung aufgebaut; bei Erfolg oder Fehler wird diese Methode per Callback aufgerufen * * @param context darf nicht leer sein * @param enable ob die Langzeitverbindung erfolgreich ist, true = erfolgreich; false = fehlgeschlagen */ public void onConnectStatus(Context context, boolean enable)
              
                  /**
     * Ob die Langzeitverbindung erfolgreich hergestellt wurde
     *
     * Nach der Initialisierung wird die Langzeitverbindung aufgebaut; bei Erfolg oder Fehler wird diese Methode per Callback aufgerufen
     *
     * @param context darf nicht leer sein
     * @param enable  ob die Langzeitverbindung erfolgreich ist, true = erfolgreich; false = fehlgeschlagen
     */
    public void onConnectStatus(Context context, boolean enable)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onNotificationArrived

  • Engagelab-/Xiaomi-/Meizu-Kanal liefern diesen Methoden-Callback (Google-Kanal: App muss im Vordergrund sein, damit der Callback ausgelöst wird).
  • Details zu notificationMessage siehe NotificationMessage
/** * Benachrichtigungsnachricht zugestellt * * Wird per Callback aufgerufen, wenn eine Push-Benachrichtigung zugestellt wurde * * @param context darf nicht leer sein * @param notificationMessage Benachrichtigungsnachricht */ public void onNotificationArrived(Context context, NotificationMessage notificationMessage)
              
                  /**
     * Benachrichtigungsnachricht zugestellt
     *
     * Wird per Callback aufgerufen, wenn eine Push-Benachrichtigung zugestellt wurde
     *
     * @param context              darf nicht leer sein
     * @param notificationMessage  Benachrichtigungsnachricht
     */
    public void onNotificationArrived(Context context, NotificationMessage notificationMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onNotificationUnShow

  • Wird aufgerufen, wenn eine Benachrichtigung im Hintergrund gesendet, im Vordergrund nicht angezeigt wird und die App im Vordergrund ist.
/** * Benachrichtigungsnachricht wird im Vordergrund nicht angezeigt * * @param context darf nicht leer sein * @param notificationMessage Benachrichtigungsnachricht */ @Override public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)
              
                  /**
     * Benachrichtigungsnachricht wird im Vordergrund nicht angezeigt
     *
     * @param context              darf nicht leer sein
     * @param notificationMessage  Benachrichtigungsnachricht
     */
    @Override
    public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onNotificationClicked

/** * Benachrichtigungsnachricht angeklickt * * Wird per Callback aufgerufen, wenn eine Push-Benachrichtigung angeklickt wurde * * @param context darf nicht leer sein * @param notificationMessage Benachrichtigungsnachricht */ public void onNotificationClicked(Context context, NotificationMessage notificationMessage)
              
                  /**
     * Benachrichtigungsnachricht angeklickt
     *
     * Wird per Callback aufgerufen, wenn eine Push-Benachrichtigung angeklickt wurde
     *
     * @param context              darf nicht leer sein
     * @param notificationMessage  Benachrichtigungsnachricht
     */
    public void onNotificationClicked(Context context, NotificationMessage notificationMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onNotificationDeleted

  • Wird nur bei Löschung einer Engagelab-Kanal-Benachrichtigung ausgelöst.
  • Details zu notificationMessage siehe NotificationMessage
  • Kann nicht aufgerufen werden, wenn die App im beendeten Zustand ist.
/** * Benachrichtigungsnachricht gelöscht * * Wird per Callback aufgerufen, wenn eine Push-Benachrichtigung gelöscht wurde * * @param context darf nicht leer sein * @param notificationMessage Benachrichtigungsnachricht */ public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)
              
                  /**
     * Benachrichtigungsnachricht gelöscht
     *
     * Wird per Callback aufgerufen, wenn eine Push-Benachrichtigung gelöscht wurde
     *
     * @param context              darf nicht leer sein
     * @param notificationMessage  Benachrichtigungsnachricht
     */
    public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onCustomMessage

  • Benutzerdefinierte Nachrichten werden nicht in der Benachrichtigungsleiste angezeigt.
  • Wird nur bei Löschung einer Engagelab-Kanal-Benachrichtigung ausgelöst.
  • Details zu customMessage siehe CustomMessage
/** * Benutzerdefinierte Nachricht zugestellt * * Wird per Callback aufgerufen, wenn eine benutzerdefinierte Nachricht zugestellt wurde * * @param context darf nicht leer sein * @param customMessage Benutzerdefinierte Nachricht */ public void onCustomMessage(Context context, CustomMessage customMessage)
              
                  /**
     * Benutzerdefinierte Nachricht zugestellt
     *
     * Wird per Callback aufgerufen, wenn eine benutzerdefinierte Nachricht zugestellt wurde
     *
     * @param context       darf nicht leer sein
     * @param customMessage Benutzerdefinierte Nachricht
     */
    public void onCustomMessage(Context context, CustomMessage customMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onTagMessage

/** * Tag-Operationsnachricht * * @param context darf nicht leer sein * @param tagMessage Tag-Informationen */ public void onTagMessage(Context context, TagMessage tagMessage)
              
                  /**
     * Tag-Operationsnachricht
     *
     * @param context    darf nicht leer sein
     * @param tagMessage Tag-Informationen
     */
    public void onTagMessage(Context context, TagMessage tagMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onAliasMessage

/** * Alias-Operationsnachricht * * @param context ApplicationContext-Objekt * @param aliasMessage Alias-Nachricht */ public void onAliasMessage(Context context, AliasMessage aliasMessage)
              
                  /**
     * Alias-Operationsnachricht
     *
     * @param context      ApplicationContext-Objekt
     * @param aliasMessage Alias-Nachricht
     */
    public void onAliasMessage(Context context, AliasMessage aliasMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onPlatformToken

  • Callback für Hersteller-Token-Nachrichten
/** * Hersteller-Operationsnachricht * * @param context ApplicationContext-Objekt * @param platformMessage Hersteller-Token-Nachricht */ public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)
              
                  /**
     * Hersteller-Operationsnachricht
     *
     * @param context         ApplicationContext-Objekt
     * @param platformMessage Hersteller-Token-Nachricht
     */
    public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onInAppMessageShow

  • Callback bei Anzeige einer In-App-Nachricht
/** * * * @param context ApplicationContext-Objekt * @param inAppMessage In-App-Nachricht */ public void onInAppMessageShow(Context context, InAppMessage inAppMessage)
              
                  /**
     *
     *
     * @param context      ApplicationContext-Objekt
     * @param inAppMessage In-App-Nachricht
     */
    public void onInAppMessageShow(Context context, InAppMessage inAppMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

onInAppMessageClick

  • Callback beim Klick auf eine In-App-Nachricht
/** * * * @param context ApplicationContext-Objekt * @param inAppMessage In-App-Nachricht */ public void onInAppMessageClick(Context context, InAppMessage inAppMessage)
              
                  /**
     *
     *
     * @param context      ApplicationContext-Objekt
     * @param inAppMessage In-App-Nachricht
     */
    public void onInAppMessageClick(Context context, InAppMessage inAppMessage)

            
Diesen Codeblock im schwebenden Fenster anzeigen

NotificationChannel-Konfiguration

Unterstützte Version

Erste unterstützte Version: MTPush SDK v3.3.0

Funktionsbeschreibung

Ab Android 8.0 laufen alle Benachrichtigungen über NotificationChannel. Entwickler können NotificationChannel selbst definieren und bei API-Push die channelId angeben. Unter Android 8.0 und höher sucht das System zuerst den Channel zur channelId; Wichtigkeit, Sound, Vibration und LED werden durch den Channel bestimmt. Wird keine channelId gefunden oder befindet man sich in der Stillezeit, wird der Standard-Engagelab-Channel verwendet.

Beispiel für benutzerdefinierten NotificationChannel

Java:

private void initChannel() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (nm != null) { NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "Benutzerdefinierte Benachrichtigungsgruppe"); nm.createNotificationChannelGroup(notificationChannelGroup); NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "Benutzerdefinierte Benachrichtigung", NotificationManager.IMPORTANCE_HIGH); notificationChannel.setGroup("MyGroupId"); notificationChannel.enableLights(true); notificationChannel.enableVibration(true); notificationChannel.setSound("android.resource:// Paketname /raw/ Klingelton-Datei", null); // Benutzerdefinierten Klingelton setzen nm.createNotificationChannel(notificationChannel); } } }
              
                  private void initChannel() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            if (nm != null) {
                NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "Benutzerdefinierte Benachrichtigungsgruppe");
                nm.createNotificationChannelGroup(notificationChannelGroup);

                NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "Benutzerdefinierte Benachrichtigung", NotificationManager.IMPORTANCE_HIGH);
                notificationChannel.setGroup("MyGroupId");
                notificationChannel.enableLights(true);
                notificationChannel.enableVibration(true);
                notificationChannel.setSound("android.resource:// Paketname /raw/ Klingelton-Datei", null);    // Benutzerdefinierten Klingelton setzen

                nm.createNotificationChannel(notificationChannel);
            }
        }
    }

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kotlin:

private fun initChannel() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val nm = getSystemService(NOTIFICATION_SERVICE) as NotificationManager if (nm != null) { val notificationChannelGroup = NotificationChannelGroup("MyGroupId", "Benutzerdefinierte Benachrichtigungsgruppe") nm.createNotificationChannelGroup(notificationChannelGroup) val notificationChannel = NotificationChannel( "MyChannelId", "Benutzerdefinierte Benachrichtigung", NotificationManager.IMPORTANCE_HIGH ) notificationChannel.group = "MyGroupId" notificationChannel.enableLights(true) notificationChannel.enableVibration(true) notificationChannel.setSound( "android.resource:// Paketname /raw/ Klingelton-Datei", null ) // Benutzerdefinierten Klingelton setzen nm.createNotificationChannel(notificationChannel) } } }
              
                  private fun initChannel() {
       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            val nm = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
            if (nm != null) {
                val notificationChannelGroup = NotificationChannelGroup("MyGroupId", "Benutzerdefinierte Benachrichtigungsgruppe")
                nm.createNotificationChannelGroup(notificationChannelGroup)

                val notificationChannel = NotificationChannel(
                    "MyChannelId",
                    "Benutzerdefinierte Benachrichtigung",
                    NotificationManager.IMPORTANCE_HIGH
                )
                notificationChannel.group = "MyGroupId"
                notificationChannel.enableLights(true)
                notificationChannel.enableVibration(true)
                notificationChannel.setSound(
                    "android.resource:// Paketname /raw/ Klingelton-Datei",
                    null
                ) // Benutzerdefinierten Klingelton setzen

                nm.createNotificationChannel(notificationChannel)
            }
        }
    }

            
Diesen Codeblock im schwebenden Fenster anzeigen

NotificationMessage

  • Benachrichtigungsnachricht
Attribut Typ Beschreibung
messageId String Pflicht, Engagelab messageId, für Nachverfolgung und Statistik, darf nicht leer sein; bei leerer Angabe wird keine Benachrichtigung angezeigt
overrideMessageId String Engagelab overrideMessageId, für Nachverfolgung und Statistik
platform byte Herstellertyp, Standard Engagelab, MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor MTPushPrivatesApi.PLATFORM_HONOR: 7
Google MTPushPrivatesApi.PLATFORM_GOOGLE: 8
platformMessageId String Hersteller-messageId, für Hersteller-Nachverfolgung und Statistik
notificationId int Benachrichtigungs-ID, kann mit clearNotification aufgehoben werden
smallIcon String Kleines Icon, Standard drawable/mtpush_notification_icon.png
largeIcon String Großes Icon, in der Regel rechts neben der Benachrichtigung
title String Benachrichtigungstitel, bei leerer Angabe wird der Anwendungsname verwendet
content String Pflicht, Benachrichtigungsinhalt, darf nicht leer sein; bei leerer Angabe wird keine Benachrichtigung angezeigt
extras Bundle Zusätzliche Felder, key/value jeweils String
builderId int Benachrichtigungslayout-ID, kann mit setNotificationLayout gesetzt werden, Standard Systemlayout
style int Benachrichtigungsstil, Standard 0
Großtext NOTIFICATION_STYLE_BIG_TEXT: 1
Posteingang NOTIFICATION_STYLE_INBOX: 2
Großbild NOTIFICATION_STYLE_BIG_PICTURE: 3
bigText String Großtext, wirksam wenn style NOTIFICATION_STYLE_BIG_TEXT
inbox String[] Posteingang, wirksam wenn style NOTIFICATION_STYLE_INBOX
bigPicture String Großbild, wirksam wenn style NOTIFICATION_STYLE_BIG_PICTURE
priority int Dringlichkeit der Benachrichtigung, Standard 0
Niedrig: keine LED, keine Vibration, kein Klingelton, Notification.PRIORITY_LOW: -1
Normal: LED, Vibration, Klingelton, Notification.PRIORITY_DEFAULT: 0
Hoch: LED, Vibration, Klingelton, Heads-up, Notification.PRIORITY_HIGH: 1
defaults int Klingelton, Vibration, LED der Benachrichtigung, Standard Notification.DEFAULT_ALL: -1
Klingelton Notification.DEFAULT_SOUND: 1
Vibration Notification.DEFAULT_VIBRATE: 2
LED Notification.DEFAULT_LIGHTS: 4
Kombination möglich, z. B. 7 = Klingelton + Vibration + LED
Ab Android 8.0 folgt dieses Attribut dem Channel
category String Benachrichtigungstyp, für Sortierung/Filterung in der Leiste, z. B. Notification.CATEGORY_ALARM, Notification#CATEGORY_CALL
sound String Klingelton der Benachrichtigung, Datei muss unter res/raw liegen
Ab Android 8.0 folgt der Klingelton dem Channel; wenn der Channel keinen Klingelton hat, gilt der benutzerdefinierte Klingelton nicht
Klingelton am besten im Channel setzen und bei Push mit channelId übereinstimmend halten
channelId String Ab Android 8.0 erforderlich; wenn nicht gesetzt, setzt das SDK es (nur Engagelab-Kanal und Google-Kanal bei App im Vordergrund)
intentUri String Ziel nach Klick auf die Benachrichtigung, derzeit nur Activity, Activity-Sprung per Intent.toURI()
badge int Badge-Zahl dieser Benachrichtigung (kumulativ), Wert > 0, sonst ungültig, empfohlen 1
Nur Huawei und Xiaomi
Xiaomi: Badge nach Klick -1
Huawei: Badge nach Klick nicht -1, setNotificationBadge aufrufen

CustomMessage

  • Benutzerdefinierte Nachricht
Attribut Typ Beschreibung
messageId String Pflicht, Engagelab messageId, für Nachverfolgung und Statistik, darf nicht leer sein
platform byte Herstellertyp, Standard Engagelab, MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor MTPushPrivatesApi.PLATFORM_HONOR: 7
Google MTPushPrivatesApi.PLATFORM_GOOGLE: 8
platformMessageId String Hersteller-messageId, für Hersteller-Nachverfolgung und Statistik
title String Nachrichtentitel
content String Nachrichteninhalt
contentType String Nachrichtentyp
extras Bundle Zusätzliche Felder, key/value jeweils String

TagMessage

  • Tag-Nachricht
Attribut Typ Beschreibung
sequence int Vom Nutzer definierte Operationssequenznummer, wird mit dem Ergebnis zurückgegeben, kennzeichnet die Eindeutigkeit einer Operation
code int Operationsergebnis, Details siehe code
tags String[] Tag-Array, wird zurückgegeben bei:
addTag
deleteTag
updateTag
queryAllTag
queryTag String Tag, wird zurückgegeben bei:
queryTag
queryTagValid boolean Tag-Status, wird zurückgegeben bei:
queryTag

AliasMessage

  • Alias-Nachricht
Attribut Typ Beschreibung
sequence int Vom Nutzer definierte Operationssequenznummer, wird mit dem Ergebnis zurückgegeben
code int Operationsergebnis, Details siehe code
alias String Alias, wird zurückgegeben bei:
setAlias
getAlias

PlatformTokenMessage

  • Hersteller-Token-Nachricht
Attribut Typ Beschreibung
platform byte Herstellertyp, Standard Engagelab, MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor MTPushPrivatesApi.PLATFORM_HONOR: 7
Google MTPushPrivatesApi.PLATFORM_GOOGLE: 8
token String Vom Hersteller zurückgegebener Token

InAppMessage

  • In-App-Nachricht
Attribut Typ Beschreibung
messageId String Pflicht, Engagelab messageId, für Nachverfolgung und Statistik, darf nicht leer sein
overrideMessageId String Engagelab overrideMessageId, für Nachverfolgung und Statistik
target String Zielseitenpfad für die Anzeige der In-App-Nachricht
imageUrl String Bild-URL der In-App-Nachricht
extras String Durchgereichte Zusatzinformationen
content String Inhalt der In-App-Nachricht
expired long Ablaufzeit
delay long Verzögerte Anzeigezeit
interval long Anzeigeintervall der In-App-Nachricht
duration long Anzeigedauer der In-App-Nachricht
msgTime long Zeitpunkt, zu dem das SDK die In-App-Nachricht empfängt

Code

code int-Wert Beschreibung
SUCCESS 0 Erfolg
NULL_TAG_AND_ALIAS 6001 Ungültige Einstellung
TIMEOUT 6002 Einstellungs-Timeout, erneuter Versuch empfohlen, z. B. bei schlechtem Netz oder unvollständiger Initialisierung
INVALID_ALIAS 6003 Alias-String ungültig; gültig: Buchstaben (case-sensitive), Ziffern, Unterstrich, CJK, Sonderzeichen (ab 2.1.6) @!#$&*+=.|
TOO_LONG_ALIAS 6004 Alias zu lang, max. 40 Bytes (CJK UTF-8 = 3 Bytes)
INVALID_TAGS 6005 Ein Tag-String ungültig; gültig: Buchstaben (case-sensitive), Ziffern, Unterstrich, CJK, Sonderzeichen (ab 2.1.6) @!#$&*+=.|
TOO_LONG_TAG 6006 Ein Tag zu lang, max. 40 Bytes pro Tag (CJK UTF-8 = 3 Bytes)
TOO_MANY_TAGS 6007 Anzahl der Tags pro Gerät überschreitet das Limit, max. 1000 pro Vorgang
TOO_LONG_TAGS 6008 Gesamtlänge der Tags pro Vorgang über 5000
UNKNOWN_ERROR 6009 Unbekannter Fehler
INVALID_JSON 6010 Ungültiges JSON
INVOKE_TOO_SOON 6012 Tag-/Alias-Operationen zu häufig
CONNECT_NOT_ENABLE 6013 CONNECT_NOT_ENABLE
INVALID_MOBILE_NUMBER 6023 Ungültige Mobilnummer
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren