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:

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:

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:

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.
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.
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.
MTCorePrivatesApi.setTcpSSl(true);
              
              MTCorePrivatesApi.setTcpSSl(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.
// 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

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:

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

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:

String userId = MTCorePrivatesApi.getUserId(context);
              
              String 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:

String registrationId = MTCorePrivatesApi.getRegistrationId(context);
              
              String 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.
// 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.

configOldPushVersion

  • Wenn im Backend nicht auf Version tag: V3.5.4-newportal-20210823-gamma.57 oder höher aktualisiert wurde, muss diese Methode aufgerufen werden, sonst gibt es Probleme beim Klick auf Benachrichtigungen.
  • Muss in der Methode Application.onCreate() aufgerufen werden.
  • Bitte vor init aufrufen.
/** * Konfiguriert die Push-Versionsnummer als 3.9.X. * * @param context darf nicht leer sein */ public static void configOldPushVersion(Context context)
              
                   /**
      * Konfiguriert die Push-Versionsnummer als 3.9.X.
      *
      * @param context darf nicht leer sein
      */
     public static void configOldPushVersion(Context context)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Beispielcode:

public class ExampleApplication extends Application { @Override public void onCreate() { // Debug-Modus aktivieren MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // Alte Version für Klick auf Benachrichtigung aktivieren MTPushPrivatesApi.configOldPushVersion(context.getApplicationContext()); // Initialisierung MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

     @Override
     public void onCreate() {
         // Debug-Modus aktivieren
         MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);
         // Alte Version für Klick auf Benachrichtigung aktivieren
         MTPushPrivatesApi.configOldPushVersion(context.getApplicationContext());
         // Initialisierung
         MTPushPrivatesApi.init(context.getApplicationContext());
     }
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

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:

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:

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

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:

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

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:

// Ö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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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:

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

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

(Der Rest der Dokumentation, wie MTCommonReceiver, NotificationChannel-Konfiguration, NotificationMessage, CustomMessage, TagMessage, AliasMessage, PlatformTokenMessage, InAppMessage und Code bleibt im Original erhalten, da keine Übersetzung für diesen Teil angefordert wurde. Bitte geben Sie Bescheid, falls auch diese Abschnitte ins Deutsche übersetzt werden sollen.)

icon
Vertrieb kontaktieren