Push-API erstellen

Senden Sie eine Benachrichtigung oder eine Nachricht an ein einzelnes Gerät oder eine Geräteliste. Der übermittelte Inhalt kann nur ein per JSON dargestelltes Push-Objekt sein.

Dies ist die aktuelle Version der Push-API. Die Verbesserungen in Version v4 sind:

  • Zugriffsautorisierung per HTTP Basic Authentication. So kann die gesamte API-Anfrage mit gängigen HTTP-Tools abgewickelt werden, z. B. curl, Browser-Plugins usw.
  • Push-Inhalt vollständig im JSON-Format.

Anfrage-Limits

Unsere API begrenzt die Aufrufhäufigkeit, um Stabilität und Fairness des Dienstes zu gewährleisten. Die QPS-Limits (Queries Per Second) pro AppKey lauten:

  • Standard-Limit: Maximal 500 Anfragen pro Sekunde.
  • Erweitertes Limit: Wenn Sie unseren kostenpflichtigen Tarif nutzen und Ihr kostenpflichtiger AppKey ein höheres QPS-Limit benötigt, wenden Sie sich bitte an unser Vertriebsteam: Sales@engagelab.com.

Anfragemethode

POST

Aufrufadresse

Die Schnittstellen-Serviceadresse steht in eins-zu-eins-Beziehung zum gewählten Zugangspunkt des Rechenzentrums. Bitte verwenden Sie die Aufrufadresse, die zum Zugangspunkt Ihrer Anwendung passt.

Derzeit betreibt EngageLab zwei Zugangspunkte in Rechenzentren; die Daten zwischen verschiedenen Service-Zugangspunkten sind vollständig isoliert. Sie können die Aufrufadresse entsprechend dem beim Anlegen des Produkts gewählten Rechenzentrum-Zugangspunkt wählen.

POST v4/push
              
              
POST v4/push

            
Diesen Codeblock im schwebenden Fenster anzeigen

Aufrufvalidierung

Weitere Informationen finden Sie in der REST-API-Übersicht unter Authentifizierungsmethode.

Anfragebeispiel

Anfrage-Header

> POST /v4/push HTTP/1.1 > Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==
              
              > POST /v4/push HTTP/1.1
> Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==

            
Diesen Codeblock im schwebenden Fenster anzeigen

Anfrage-Body

{ "from": "push", "to": "all", "body": { "platform": "all", "notification": { "alert" :"Hello, Push!", "android": { "alert": "Hi, Push!", "title": "Send to Android", "builder_id": 1, "extras": { "newsid": 321 } }, "ios": { "alert": "Hi, MTPush!", "sound": "default", "badge": "+1", "extras": { "newsid": 321 } } }, "options": { "time_to_live": 60, "apns_production": false } }, "request_id": "12345678", "custom_args":{ "Engagelab": "push to you" } }' > POST /v4/push HTTP/1.1 > Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==
              
              {
    "from": "push",
    "to": "all",
    "body": {
        "platform": "all",
        "notification": {
            "alert" :"Hello, Push!",
            "android": {
                "alert": "Hi, Push!",
                "title": "Send to Android",
                "builder_id": 1,
                "extras": {
                    "newsid": 321
                }
            },
            "ios": {
                "alert": "Hi, MTPush!",
                "sound": "default",
                "badge": "+1",
                "extras": {
                    "newsid": 321
                }
            }
        },
        "options": {
            "time_to_live": 60,
            "apns_production": false
        }
    },
    "request_id": "12345678",
    "custom_args":{
             "Engagelab": "push to you"
    }
}'
> POST /v4/push HTTP/1.1
> Authorization: Basic Yzk2ZjQyZTBkMmU2NjJlNDVkMDM1YWIxOmRmNGQ1OWU4NGVhYzJmOWQ1M2IzNmYxMg==

            
Diesen Codeblock im schwebenden Fenster anzeigen

Anfrageparameter

Die Parameterstruktur des Pushs ist in der folgenden Tabelle beschrieben:

Schlüsselwort Typ Option Bedeutung
from String Optional Aktueller Dienst-Absender
to String oder JSON-Objekt Erforderlich Empfangsziel
body JSON-Objekt Erforderlich Anfrage-Body
platform String oder JSON-Array Erforderlich Push-Plattform
notification JSON-Objekt Optional
  • Benachrichtigungsinhalt, der an den Client gesendet wird.
  • Zusammen mit message ist genau eines erforderlich; beide dürfen nicht gleichzeitig vorkommen.
  • message JSON-Objekt Optional
  • Nachrichteninhalt, der an den Client gesendet wird.
  • Zusammen mit notification ist genau eines erforderlich; beide dürfen nicht gleichzeitig vorkommen.
  • options JSON-Objekt Optional Push-Parameter
    request_id String Optional Vom Kunden definierbares optionales Feld zur Zuordnung der Antwort zu einer bestimmten Anfrage.
    custom_args JSON-Objekt Optional Vom Kunden definierbare optionale Felder, die beim Callback zurückgegeben werden. Der Wert umfasst maximal 128 Zeichen.

    from

    Aktueller Dienst-Absender, Typ String, optionales Feld.

    Anfragebeispiel

    { "from":"push" }
                  
                  {
        "from":"push"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    to

    Push-Geräteobjekt: Liste der Geräte, an die gesendet werden kann. Zur Festlegung des Ziels stellt App Push verschiedene Wege bereit, z. B. Alias, Tag, Registrierungs-ID, Untergruppe, Broadcast usw.

    Push-Ziel

    Neben Broadcast gibt es folgende Möglichkeiten:

    Schlüsselwort Typ Bedeutung Beschreibung Hinweis
    all String Broadcast senden Push an alle Geräte Das Ziel umfasst Geräte, die in den letzten 365 Tagen aktiv waren.
    tag JSON-Array Tag Array. Mehrere Tags stehen in ODER-Beziehung, d. h. Vereinigungsmenge. Tags für großflächige Geräte- bzw. Nutzerattribute.
  • Pro Push maximal 20.
  • Zulässige Tags: Buchstaben (groß/klein), Ziffern, Unterstrich, chinesische Zeichen.
  • Begrenzung: Jedes Tag max. 40 Byte (Länge per UTF-8).
  • tag_and JSON-Array Tag AND Array. Mehrere Tags in UND-Beziehung, d. h. Schnittmenge. Unterscheidet sich von tag; maximal 20 pro Push.
    tag_not JSON-Array Tag NOT Array. Zuerst Vereinigung mehrerer Tags, danach Komplement zu dieser Menge. Pro Push maximal 20.
    alias JSON-Array Alias Array. Mehrere Aliase in ODER-Beziehung, d. h. Vereinigungsmenge. Nutzer über Alias identifizieren.
  • Ein Gerät kann nur ein Alias haben und umgekehrt.
  • Pro Push maximal 1000.
  • Zulässige Aliase: Buchstaben (groß/klein), Ziffern, Unterstrich, chinesische Zeichen.
  • Begrenzung: Jedes Alias max. 40 Byte (UTF-8).
  • registration_id JSON-Array Registrierungs-ID Array. Mehrere Registrierungs-IDs in ODER-Beziehung, d. h. Vereinigungsmenge. Gerätekennung. Pro Push maximal 1000.
    live_activity_id String Kennung für Live Activity Entspricht dem Wert liveActivityId im iOS SDK. Bei Updates einer Live Activity erforderlich.
    seg JSON Nutzergruppen-ID ID der in der Konsole angelegten Nutzergruppe. Als Array definiert, derzeit aber nur ein Eintrag pro Push. Derzeit ist nur ein Eintrag pro Push möglich.

    Die implizite Beziehung mehrerer Werte in einem Array ist ODER (Vereinigung); bei tag_and hingegen UND (Schnittmenge) innerhalb des Arrays.

    Wird tag_not allein verwendet, wenden wir die tag_not-Logik auf die Broadcast-Nutzer an.

    Diese Typen können kombiniert werden. Bei Kombination mehrerer Ausdrücke gilt implizit UND (Schnittmenge). Beispiel:

    "to" : {"tag" : [ "tag1", "tag2"], "tag_and" : ["tag3", "tag4"], "tag_not" : ["tag5", "tag6"] }

    Zuerst wird das Feld tag ausgewertet tag1 oder tag2 = A;

    dann das Feld tag_and tag3 und tag4 = B;

    dann tag_not nicht (tag5 oder tag6) = C;

    Das Endergebnis von to ist A und B und C.


    Beispiel

    • Push an alle (Broadcast):
    { "to": "all", }
                  
                  {
      "to": "all",
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    • Push an mehrere Tags (mindestens eines der Tags): in Shenzhen, Guangzhou oder Peking
    { "to":{ "tag":[ "Shenzhen", "Guangzhou", "Beijing" ] } }
                  
                  {
        "to":{
            "tag":[
                "Shenzhen",
                "Guangzhou",
                "Beijing"
            ]
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    • Push an mehrere Tags (alle Tags gleichzeitig): in Shenzhen und „female“
    { "to":{ "tag_and":[ "Shenzhen", "female" ] } }
                  
                  {
        "to":{
            "tag_and":[
                "Shenzhen",
                "female"
            ]
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    • Push an mehrere Aliase:
    { "to":{ "alias":[ "4314", "892", "4531" ] } }
                  
                  {
        "to":{
            "alias":[
                "4314",
                "892",
                "4531"
            ]
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    • Push an mehrere Registrierungs-IDs:
    { "to": { "registration_id": [ "4312kjklfds2", "8914afd2", "45fdsa31" ] } }
                  
                  {
      "to": {
        "registration_id": [
          "4312kjklfds2",
          "8914afd2",
          "45fdsa31"
        ]
      }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    • Mehrere Zieltypen gleichzeitig: in Shenzhen oder Guangzhou und gleichzeitig „female“ und „members“
    { "to":{ "tag":[ "Shenzhen", "Guangzhou" ], "tag_and":[ "female", "members" ] } }
                  
                  {
        "to":{
            "tag":[
                "Shenzhen",
                "Guangzhou"
            ],
            "tag_and":[
                "female",
                "members"
            ]
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    • Live-Activity-Nachricht senden
    { "to": { "live_activity_id": "LiveActivity-1" } }
                  
                    {
          "to": {
              "live_activity_id": "LiveActivity-1"
          }
      }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Push an Nutzersegment-ID:

    { "to": { "seg": { "id":"segid" } } }
                  
                  {
      "to": {
        "seg": {
          "id":"segid"
        }
      }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Body

    Anfrage-Body. Unterstützte Felder:

    Schlüsselwort Typ Option Bedeutung
    platform String oder JSON-Array Erforderlich Push-Plattform
    notification JSON-Objekt Optional
  • Benachrichtigungsinhalt, der an den Client gesendet wird.
  • Muss zusammen mit message betrachtet werden; genau eines von beiden, nicht beides.
  • message JSON-Objekt Optional
  • Nachrichteninhalt, der an den Client gesendet wird.
  • Muss zusammen mit notification betrachtet werden; genau eines von beiden, nicht beides.
  • live_activity JSON-Objekt Optional
  • Inhalt für Live-Activity-Nachrichten, der an den Client gesendet wird.
  • Muss zusammen mit notification oder message betrachtet werden; live_activity darf nicht gleichzeitig mit notification oder message vorkommen.
  • options JSON-Objekt Optional Push-Parameter

    Plattform

    MTPush unterstützt Push für Android, iOS und HarmonyOS. Schlüsselwörter: "android", "ios", "hmos".

    Ist die Zielplattform iOS, muss die Push-Umgebung über das Feld apns_production in options gesetzt werden: true = Produktionsumgebung (APNs Production), false = Entwicklungsumgebung (APNs Sandbox).

    Push an alle Plattformen:

    { "platform" : "all" }
                  
                  { "platform" : "all" }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Bestimmte Plattformen auswählen:

    { "platform": [ "android", "ios", "hmos" ] }
                  
                  {
      "platform": [
        "android",
        "ios",
        "hmos"
      ]
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Notification

    Das Objekt „Notification“ ist einer der Inhalts-Entity-Typen eines Pushs (der andere ist „Message“) und wird dem Client als Benachrichtigung zugestellt.

    Schlüsselwort Typ Option Bedeutung Beschreibung
    alert String oder JSON-Objekt Erforderlich Inhalt Der eigentliche Nachrichtentext. Fehlt alert unter android oder ios, wird dieser Wert verwendet.
    android JSON-Objekt Optional Android-Plattformeigenschaften Push-Parameter für Android, siehe Android-Beschreibung
    ios JSON-Objekt Optional iOS-Plattformeigenschaften Push-Parameter für iOS, siehe iOS-Beschreibung
    hmos JSON-Objekt Optional hmos-Plattformeigenschaften Push-Parameter für HarmonyOS, siehe hmos-Beschreibung

    Alert

    Die Eigenschaft alert auf dieser Ebene (direkt unter dem Notification-Objekt) ist eine Kurzform: Ist der Alert auf allen Plattformen gleich, können Sie alert nicht pro Plattform setzen; dieser Wert gilt. Gibt es plattformspezifische Definitionen, überschreiben diese den Wert hier.

    { "notification" : { "alert" : "Hello, Push!" } }
                  
                  {
      "notification" : {
        "alert" : "Hello, Push!"
      }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Das oben definierte Notification-Objekt wird an alle in platform genannten Plattformen mit derselben Alert-Nachricht gesendet.

    Android

    Benachrichtigungen unter Android werden vom MTPush SDK gemäß den Benachrichtigungsleisten-Stilen angezeigt. Unterstützte Felder:

    Schlüsselwort Datentyp Optional Bedeutung Beschreibung
    alert String oder JSON-Objekt Erforderlich Benachrichtigungsinhalt
  • Wenn gesetzt, überschreibt er den alert der übergeordneten Ebene.
  • Leerer String: nicht in der Benachrichtigungsleiste anzeigen.
  • Einschränkungen der Kanäle siehe Push-Limits.
  • title String Optional Benachrichtigungstitel
  • Wenn gesetzt, ersetzt er den App-Namen in der Anzeige.
  • Kanallimits siehe Push-Limit.
  • builder_id Int Optional ID des Benachrichtigungsleisten-Stils Das Android SDK kann benutzerdefinierte Benachrichtigungslayouts setzen; dieses Feld wählt den Stil.
    channel_id String Optional Android Notification Channel ID Bis 1000 Byte; ab Android 8.0 können Sie Benachrichtigungskanäle konfigurieren. Steuert die Darstellung anhand der Kanal-ID.
    priority Int Optional Anzeigepriorität in der Benachrichtigungsleiste Standard 0, Bereich -2 bis 2.
    category String Optional Filterung oder Sortierung des Benachrichtigungseintrags Hängt vollständig von der Strategie des Herstellers ab.
    style Int Optional Typ des Benachrichtigungsleisten-Stils Stiltyp der Benachrichtigungsleiste, Standard 0. 1=bigText, 2=Inbox, 3=bigPicture
    big_text String Optional Big-Text-Stil der Benachrichtigungsleiste
  • Gilt bei style = 1; Inhalt als großer Text.
  • Unterstützt ab API-Level 16.
  • inbox JSONObject Optional Textelement-Stil (Inbox)
  • Gilt bei style = 2, bis zu 5 Einträge, je max. 1024 Zeichen. Beispiel: {"box0":"content1"}.
  • Unterstützt ab API-Level 16.
  • big_pic_path String Optional Großbild-Stil der Benachrichtigungsleiste
  • Gilt bei style = 3, derzeit JPEG (nur FCM), .BMP (nur FCM), .jpg und .png.
  • Netz-URLs und lokale Pfade (relativ zur SD-Karte).
  • Ab API-Level 16.
  • Max. Bildgröße 1 MB.
  • extras JSON-Objekt Optional Zusatzfelder Eigene Key/Value-Informationen im JSON-Format für die Geschäftslogik.
    intent JSON-Objekt Optional Zielseite für Navigation (empfohlen) Mit intent die Zielseite bei Klick auf die Benachrichtigung festlegen. Empfehlung: intent setzen, sonst kann ein Klick wirkungslos sein. Drei Typen:
  • Zielseite: intent:#Intent;action=action path;component= package name /full activity name;end
  • App-Start: intent:#Intent;action=android.intent.action.MAIN;end (feste Adresse)
  • Deeplink: scheme://test?key1=val1&key2=val2
  • large_icon String Optional Großes Benachrichtigungssymbol
  • Symbol max. 300 KB.
  • Netz-URL oder lokaler Pfad (relativ zur SD-Karte).
  • small_icon String Optional Kleines Benachrichtigungssymbol
  • Kleines Symbol; URL, max. 300 KB.
  • Wenn small_icon_uri leer ist, wird standardmäßig dieses Feld genutzt.
  • sound String Optional Klang
  • Dateiname (ohne Endung) unter /res/raw/ im Android-Projekt.
  • Hinweis: Ab Android 8.0 wirkt dieses Attribut nicht, wenn channel_id gesetzt ist.
  • badge_add_num Int Optional Badge-Erhöhung relativ zum bisherigen Wert
  • Wirkt derzeit nur bei Huawei EMUI 8.0+, Xiaomi MIUI 6+ und vivo mit Herstellerkanal.
  • Leer lassen: Badge unverändert (Xiaomi: Standard +1 unabhängig vom Kanal).
  • Wertebereich 1–99; empfohlen 1.
  • Beispiel: badge_add_num = 1 und bisheriges Badge 2 → Anzeige 3.
  • badge_set_num Int Optional Badge auf festen Wert setzen
  • Leer lassen: Badge unverändert.
  • Bereich 0–99; der nächste Push setzt den Badge-Wert fix. Beispiel: badge_set_num = 1 → Anzeige immer 1.
  • badge_class String Optional Einstiegs-Activity-Klasse zum Desktop-Symbol, z. B. "com.test.badge.MainActivity"
  • Nur Huawei-Kanal.
  • Keine Main-Activity: Hersteller-Regeln greifen.
  • Für Badge-Inkrement: zusammen mit badge_add_num, beide erforderlich.
  • display_foreground String Optional App im Vordergrund: Benachrichtigung anzeigen
  • "1": Benachrichtigung in der Leiste auch im Vordergrund.
  • "0": im Vordergrund keine Leisten-Popup.
  • Standard: im Vordergrund werden Benachrichtigungen angezeigt. Seit MTPush Android SDK 4.3.1.
  • group_id String Optional Nachrichtengruppen-ID Eindeutige Kennung zur Gruppierung und Steuerung des Zusammenklappens. Seit MTPush Android SDK 5.3.0.
    is_fold String Optional Nachricht zusammenklappen true = geklappt, false = nicht geklappt. Zusammen mit group_id: gleiche group_id und is_fold=true → automatisch geklappt; nur group_id ohne is_fold oder is_fold=false → kein automatisches Klappen. Ab MTPush Android SDK 5.3.0.
    { "notification": { "android": { "alert": "hello, MTPush!", "title": "Push test", "builder_id": 3, "style": 1, "big_text": "big text content", "inbox":JSONObject, "big_pic_path": "picture url", "priority": 0, "category": "category str", "large_icon": "http://pushapi-sgp.engagelab.comlargeIcon.jpg", "small_icon": "http://www.small.com/small_icon.jpg", "intent": { "url": "intent:#Intent;component=push.pushapi-sgp.engagelab.com/com.example.mtpushdemo.SettingActivity;end" }, "extras": { "news_id": 134, "my_key": "a value" } } } }
                  
                  {
        "notification": {
            "android": {
                "alert": "hello, MTPush!",
                "title": "Push test",
                "builder_id": 3,
                "style": 1,
                "big_text": "big text content",
                "inbox":JSONObject,
                "big_pic_path": "picture url",
                "priority": 0,
                "category": "category str",
                "large_icon": "http://pushapi-sgp.engagelab.comlargeIcon.jpg",
                "small_icon": "http://www.small.com/small_icon.jpg",
                "intent": {
                    "url": "intent:#Intent;component=push.pushapi-sgp.engagelab.com/com.example.mtpushdemo.SettingActivity;end"
                },
                "extras": {
                    "news_id": 134,
                    "my_key": "a value"
                }
            }
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    iOS

    APNs-Benachrichtigungen auf iOS.

    Der Inhalt wird vom MTPush-Proxy an Apple APNs gesendet und erscheint auf dem Gerät als Systembenachrichtigung.

    Der Inhalt entspricht der APNs-Spezifikation; unterstützte Felder:

    Schlüsselwort Typ Option Bedeutung Beschreibung
    alert String oder JSON-Objekt Erforderlich Benachrichtigungsinhalt
  • Überschreibt den alert der Elternebene.
  • Leerer Inhalt: keine Anzeige in der Leiste.
  • String oder offizielles alert payload mit unterstützten Schlüsseln wie title und subtitle.
  • sound String oder JSON-Objekt Optional Benachrichtigungston
  • Normale Benachrichtigung: String.
  • Fehlt das Feld: kein Ton.
  • Mit Feld: angegebener Ton, sonst Standard.
  • Leerer String: iOS 7 Standardton, iOS 8+ kein Ton.
  • Alert-Benachrichtigung: JSON-Objekt mit offizieller Struktur (critical, name, volume).
  • badge Int oder String Optional App-Badge
  • Werte N, +N, -N mit N in [0,99]. Beispiel Upload 10: setzt auf N, 10+N, 10-N (<0 klärt Badge).
  • 0 oder leerer String: Badge löschen.
  • Leer lassen: Badge unverändert.
  • MTPush SDK setzt standardmäßig „+1“.
  • content-available Boolean Optional Hintergrund-Push Details: "content-available":true = Background Remote Notification, sonst normale Remote Notification: Background Remote Notification
    mutable-content Boolean Optional Benachrichtigungserweiterung iOS 10 Notification Service Extension zur Zustellungsanzeige; Client muss die Service Extension implementieren und serverseitig mutable-content setzen.
  • true: UNNotificationServiceExtension.
  • Ohne Feld: normale Remote Notification ohne Ankunftszählung.
  • category String Optional Nur iOS 8. Wert des APNs-Felds „category“.
    extras JSON-Objekt Optional Erweiterte Felder Eigene Key/Value-Daten.
    thread-id String Optional Benachrichtigungsgruppe Gruppierung von Remote-Benachrichtigungen mit gleicher thread-id.
    interruption-level String Optional Unterbrechungsstufe (Priorität, Zustellung) iOS 15: einer von active, critical, passive, timeSensitive, siehe UNNotificationInterruptionLevel.

    iOS-Benachrichtigungen von MTPush werden an APNs weitergeleitet. Die Benachrichtigungslänge in MTPush ist auf 4000 Byte begrenzt. MTPush nutzt UTF-8; ein chinesisches Zeichen zählt 3 Byte.

    Beispiel serverseitige Zustellung:

    { "notification": { "ios": { "alert": "hello, Push!", "sound": "sound.caf", "badge": 1, "extras": { "news_id": 134, "my_key": "a value" } } } }
                  
                  {
        "notification": {
            "ios": {
                "alert": "hello, Push!",
                "sound": "sound.caf",
                "badge": 1,
                "extras": {
                    "news_id": 134,
                    "my_key": "a value"
                }
            }
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Vom Client empfangene Nachricht:

    { "_j_msgid" = 813843507; aps = { alert = "hello,Push!"; badge = 1; sound = "sound.caf"; }; "my_key" = "a value"; "news_id" = 134; }
                  
                  {
      "_j_msgid" = 813843507;
      aps =     {
      alert = "hello,Push!";
      badge = 1;
      sound = "sound.caf";
    };
    "my_key" = "a value";
    "news_id" = 134;
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    hmos

    HarmonyOS-Benachrichtigungen werden vom MTPush SDK gemäß Benachrichtigungsleisten-Stilen angezeigt. Unterstützte Felder:

    Schlüsselwort Typ Option Bedeutung Beschreibung
    alert String Erforderlich Benachrichtigungsinhalt Überschreibt den Eltern-alert. Leerer String: nicht in der Leiste. Limits: Push-Beschränkungen.
    title String Optional Benachrichtigungstitel Ersetzt den App-Namen. Siehe Push-Beschränkungen.
    category String Erforderlich Nachrichtenkategorie Vom Anbieter vorgeschrieben. Harmony-Kategoriestandards. Entspricht notification.hmos.category.
    large_icon String Optional Großes Symbol Nur HTTPS-URL, z. B. https://example.com/image.png. ≤30 KB, Breite×Höhe < 12800 Pixel.
    intent JSONObject Erforderlich Navigationsziel Drei Typen: 1) App-Start: action.system.home 2) Deeplink: scheme://host?key=val 3) Action: com.test.action. Beispiel: {"url":"action.system.home"}.
    badge_add_num Int Optional Badge-Inkrement Auslassen: Badge unverändert. Bereich 1–99, addiert zum aktuellen Badge.
    badge_set_num Int Optional Badge-Fixwert Auslassen: unverändert. Bereich 0–99, setzt Badge fix.
    test_message Boolean Optional Testnachrichten-Flag false: normal (Standard); true: Test.
    receipt_id String Optional Huawei-Receipt-ID Eindeutige ID für Harmony-Downlink-Receipt-Konfiguration.
    extras JSON Optional Zusatzfelder Eigene JSON-K/V für die Geschäftslogik.
    style Int Optional Benachrichtigungsstil Standard 0. 0: normal; 3: mehrzeiliger Text.
    inbox_content [String] Optional Mehrzeiliger Text Bei style=3 erforderlich. Bis 3 Einträge, je ≤1024 Zeichen; Abschneiden mit „…“.
    push_type Int Optional Push-Typ Standard 0. Unterstützt: 0-Benachrichtigung, 2-erweiterte Benachrichtigung, 10-VoIP-Anruf. Andere ungültig.
    extra_data String Optional Erweiterte Daten Entspricht Huawei extraData. Bei push_type=2 oder 10 erforderlich; bei 0 ignoriert.
    display_foreground String Optional Anzeige bei App im Vordergrund "1": anzeigen; "0": nicht anzeigen.

    Beispiel:

    { "notification": { "hmos": { "alert": "Hi, MTPush!", "title": "", "category": "", "intent": {"url": ""}, "badge_add_num": 1, "test_message": true, "receipt_id": "", "extras": {}, "style": 0, "inbox_content": [], "push_type": 0, "extra_data": "", "display_foreground": "1" } } }
                  
                  {
      "notification": {
        "hmos": {
          "alert": "Hi, MTPush!",
          "title": "",
          "category": "",
          "intent": {"url": ""},
          "badge_add_num": 1,
          "test_message": true,
          "receipt_id": "",
          "extras": {},
          "style": 0,
          "inbox_content": [],
          "push_type": 0,
          "extra_data": "",
          "display_foreground": "1"
        }
      }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Message

    In-App-Nachrichten (auch: benutzerdefinierte oder durchgereichte Nachrichten).

    • Werden nicht in der Benachrichtigungsleiste angezeigt; das MTPush SDK übergibt den Inhalt an die App.
    • iOS erhält diesen Teil über den In-App-Push-Kanal (nicht APNS), wenn die App im Vordergrund ist.

    Unterstützte Felder:

    Schlüsselwort Typ Option Bedeutung
    msg_content String oder JSON-Objekt Erforderlich Nachrichteninhalt
    title String Optional Nachrichtentitel
    content_type String Optional Inhaltstyp
    extras JSON-Objekt Optional Optionale JSON-Parameter
    test_message Boolean Optional Testnachrichten-Flag (HarmonyOS)
    receipt_id String Optional Huawei-Receipt-ID (HarmonyOS)

    Beispiel:

    { "message": { "msg_content": "Hi,Push", "content_type": "text", "title": "msg", "extras": { "key": "value" } } }
                  
                  {
      "message": {
        "msg_content": "Hi,Push",
        "content_type": "text",
        "title": "msg",
        "extras": {
          "key": "value"
        }
      }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Live_activity

    Hinweis: Live-Activity-Nachrichten erfordern ein iOS-P8-Zertifikat; in den iOS-Authentifizierungseinstellungen im Web-Portal wählen Sie „Token Authentication Configuration“.

    Der Inhalt einer Live-Activity-Nachricht umfasst folgende Felder:

    Schlüsselwort Typ Option Beschreibung
    ios JSON-Objekt Erforderlich Detaillierte Felder siehe iOS JSON-Objekt.

    iOS JSON-Objekt {#ios-json-object}

    Schlüsselwort Typ Option Beschreibung
    event string Erforderlich Erstellung: "start", Update: "update", Ende: "end"; bei event=start erforderlich
    attributes-type string Optional Live-Activity-Typ, vom Entwickler definiert; bei event=start verpflichtend
    content-state JSON-Objekt Erforderlich Dynamischer Inhalt; muss zum Client-SDK passen (Apple content-state).
    alert JSON-Objekt Optional Siehe iOS alert JSON-Objekt.
    dismissal-date int Optional Anzeigezeitpunkt für das Ende der Live Activity.
    attributes JSON-Objekt Optional Statischer Inhalt; muss zum Client-SDK passen (Apple attributes).
    stale-date int Optional Ablauf der Anzeige; liegt er vor der aktuellen Zeit, wird die Activity nicht aktualisiert.
    relevance-score int Optional Priorität auf der Dynamic Island, 1–100, höher = wichtiger; ohne Angabe höchste Priorität.
    apns-priority int Optional 5 oder 10, Standard 10; apns-priority=5 zählt nicht gegen Apples Ratenlimit, Überschreitung begrenzt Benachrichtigungen.

    iOS alert JSON-Objekt {#ios-alert-json-object}

    Schlüsselwort Typ Option Beschreibung
    title string Optional Titel auf Apple-Watch-Nachrichten.
    body string Optional Text auf Apple-Watch-Nachrichten.
    sound string Optional Benachrichtigungston.
    • Live-Activity-Nachrichten von Engagelab Push werden an Apple-Server weitergeleitet. Dynamische Update-Daten (ActivityKit) dürfen 4096 Byte nicht überschreiten.
    • Engagelab Push begrenzt aus Repackaging- und Sicherheitsgründen die Gesamtlänge der Parameter unter live_activity für "ios": { } inkl. Inhalt auf 3584 Byte. JPush/MTPush nutzt UTF-8 (ein chinesisches Zeichen = 3 Byte).

    Beispiel Live-Activity-Push

    attributes-type und live_activity_id kommen aus dem Entwickler-SDK. Vor Nutzung müssen Start- und Update-Token gemeldet werden. Ablauf siehe Apple: Live Activities mit Push.

    • Erstellen

      { "from": "push", "to": { "registration_id": [ "161a3797c816b134042" ] }, "body": { "platform": "ios", "live_activity": { "ios": { "event": "start", "content-state": { "eventStr": "hello", "eventTime":1685952000 }, "attributes": { "name": "1", "number": 2, "tag": "mytag" }, "alert": { "title": "hello", "body": "welcome" }, "attributes-type": "my_la_type", "relevance-score": 100, "apns-priority": 100 } } }, "request_id": "12345678", "custom_args": "12345678" }
                    
                    {
          "from": "push",
         "to": {
              "registration_id": [
                  "161a3797c816b134042"
              ]
          },
          "body": {
              "platform": "ios",
              "live_activity": {
                  "ios": {
                      "event": "start",
                      "content-state": {
                          "eventStr": "hello",
                          "eventTime":1685952000
                      },
                      "attributes": {
                          "name": "1",
                          "number": 2,
                          "tag": "mytag"
                      },
                      "alert": {
                          "title": "hello",
                          "body": "welcome"
                      },
                      "attributes-type": "my_la_type",
                      "relevance-score": 100,
                      "apns-priority": 100
                  }
              }
          },
          "request_id": "12345678",
          "custom_args": "12345678"
      }
      
                  
      Diesen Codeblock im schwebenden Fenster anzeigen
    • Aktualisieren

      { "from": "push", "to": { "live_activity_id": "my_la_id" }, "body": { "platform": "ios", "live_activity": { "ios": { "event": "update", "content-state": { "eventStr": "test_live", "eventTime": 198 }, "alert": { "title": "123411", "body": "123411" } } } }, "request_id": "12345678", "custom_args": "12345678" }
                    
                    {
         "from": "push",
         "to": {
               "live_activity_id": "my_la_id"
          },
          "body": {
              "platform": "ios",
              "live_activity": {
                  "ios": {
                      "event": "update",
                      "content-state": {
                          "eventStr": "test_live",
                          "eventTime": 198
                      },
      
                      "alert": {
                          "title": "123411",
                          "body": "123411"
                      }
                  }
              }
          },
          "request_id": "12345678",
          "custom_args": "12345678"
      }
      
                  
      Diesen Codeblock im schwebenden Fenster anzeigen

    Voip

    iOS-VoIP. Dieser Typ darf nicht mit anderen iOS-Nachrichtentypen kombiniert werden. Anfragestruktur:

    { "from": "push", "to": { "registration_id": [ "1a0018970a91da03de5" ] }, "request_id": "12345", "custom_args": "12345", "body": { "platform": "ios", "voip": { "key": "value // Any custom key/value pair that will be passed to the APP" } } }
                  
                  { 
        "from": "push", 
        "to": { 
            "registration_id": [ "1a0018970a91da03de5" ] 
        }, 
        "request_id": "12345", 
        "custom_args": "12345", 
        "body": { 
            "platform": "ios", 
            "voip": { 
                "key": "value // Any custom key/value pair that will be passed to the APP" 
            } 
        } 
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Options

    Aktuelle Push-Optionen:

    Schlüsselwort Typ Option Bedeutung Beschreibung
    time_to_live Int oder String Optional Offline-Aufbewahrung (Sekunden) Ist der Nutzer offline, kann die Nachricht für diese Dauer gehalten und bei erneutem Online-Sein erneut zugestellt werden. Standard 86400 (1 Tag), maximal 15 Tage. Ist der vom Anbieter unterstützte Maximalwert kleiner, gilt dieser. 0 = keine Offline-Aufbewahrung; nur online empfangbar.
    override_msg_id Long Optional Zu überschreibende Nachrichten-ID Soll ein früherer Push ersetzt werden, die vorherige msg_id angeben. Offline wird der Inhalt aktualisiert; auf Android bleibt die Benachrichtigung in der Leiste und wird durch neuen Inhalt ersetzt, solange sie nicht gelöscht wurde. Wirksam 1 Tag. Existiert msg_id nicht im Zeitfenster, Fehler 7006 und kein Push. Nur Android; Kanäle: Engagelab, Xiaomi, Meizu, OPPO, FCM, Huawei (EMUI10+).
    apns_production Boolean Optional APNs-Produktionsumgebung Nur iOS-Benachrichtigungen.
  • true: Produktion;
  • false: Entwicklung.
  • Standard: Wenn in der Konfiguration „Certificate for development“ aktiv ist und das Feld fehlt → false, sonst bei Auslassung true. Es wird dringend empfohlen, dieses Feld in Push-Anfragen explizit zu setzen.
  • apns_collapse_id String Optional Kennung zum Aktualisieren von iOS-Benachrichtigungen Stimmt eine neue APNs-Benachrichtigung mit einer bestehenden im Notification Center in apns-collapse-id überein, wird der Inhalt aktualisiert und nach oben gesetzt. Max. 64 Byte.
    big_push_duration Int Optional Dauer für verteiltes Senden (Minuten) „Slow Push“: gleichmäßige Verteilung über n Minuten; max. 1440.
    multi_language json object Optional Mehrsprachiger Push Siehe multi_language.
    third_party_channel JSON-Objekt Optional Android-Herstellerkanal-Konfiguration Gilt nur für Nutzer mit Herstellerkanal; siehe third_party_channel.
    classification Int Optional Nachrichtenklassifikation EngageLab bewertet den Typ nicht. Standard 0. 0: Betriebs-/Marketingnachrichten. 1: Systemnachrichten.
    voice_value String Optional Sprachdatei-Wert Mehrere Werte durch Komma, # steuert Parsing; sonst direkter Dateiname. Dezimalpunkt in Zahlen → Dateiname z. B. point.mp3. Sprachen u. a. "en", "zh-Hans", "zh-Hant". Passt der Inhalt nicht zur Sprachregel, keine Sprachausgabe.
    enhanc_message Bool Optional In-App-Nachrichtenanzeige verbessern true aktivieren, false deaktivieren. Sind Benachrichtigungsrechte aus und die App ist im Vordergrund, wird der Leisteninhalt als In-App-Nachricht gezeigt. Standard false, nur bei expliziter Aktivierung.
    plan_id String Optional Push-Plan-Kennung Plan muss zuvor angelegt werden (Konsole oder API).
    cid String Optional Anfrage-Kennung gegen doppelte Pushs Nur Buchstaben, Ziffern, Unterstrich, Minus, Länge ≤ 64. Muss pro AppKey eindeutig sein. Doppelte Pushs vermeiden
    auto_truncation bool Optional Automatisches Kürzen zu langer Herstellerkanal-Nachrichten Standard true. Ist der Body für den Herstellerkanal zu lang, wird gekürzt. Mit false abschaltbar.

    Mehrsprachiger Push {#multi_language}

    Feld für mehrsprachigen Push von EngageLab Push. Sie können pro Nutzersprache angepasste Titel und Texte senden, indem Sie Sprachen und Inhalte in der Anfrage angeben.

    Anfrageparameter
    Schlüsselwort Typ Option Bedeutung Beschreibung
    en string Optional Sprachschlüssel Entspricht der Nutzersprache; Codes siehe Anhang.
    content string Optional Nachrichteninhalt Ersetzt je nach Sprache notification.android.alert, notification.ios.alert, notification.web.alert und message.msg_content.
    title string Optional Nachrichtentitel Ersetzt je nach Sprache notification.android.title, notification.ios.alert, notification.web.title und message.title.
    ios_subtitle string Optional iOS-Untertitel Ersetzt je nach Sprache Daten in notification.ios.alert.
    • HarmonyOS: Nutzen Sie third_party_channel.hmos.distribution_new; nicht von der globalen Konfiguration betroffen.
    Anfragebeispiel
    HTTP Request Method: POST Request URL: /v4/grouppush or /v4/push Request Data Format: JSON Request Example: { "options": { "multi_language": { "en": { "content": "", "title": "", "ios_subtitle": "" } } } }
                  
                     HTTP Request Method: POST
       Request URL: /v4/grouppush or /v4/push
       Request Data Format: JSON
       Request Example:
       {
        "options": {
          "multi_language": {
            "en": {
              "content": "",
              "title": "",
              "ios_subtitle": ""
            }
          }
        }
       }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    Anfragebeispiel
    Successful Response: { }
                  
                  Successful Response:
    {
       
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen
    Failed Response: { "code": 400, "data": "", "message": "Error Message" }
                  
                  
    Failed Response:
    {   
        "code": 400,  
        "data": "",
      "message": "Error Message"
    }   
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Herstellerkanal (third_party_channel) {#third_party_channel}

    Persönliche Einstellungen für Android-Herstellerkanäle. Unterstützte Schlüssel: xiaomi, huawei, meizu, oppo, vivo, fcm, honor, hmos – eine oder mehrere gleichzeitig. Pro Herstellertyp können folgende Optionen gesetzt werden:

    Anfrageparameter
    Schlüsselwort Typ Option Bedeutung Beschreibung
    distribution_new String Erforderlich _ Wenn Engagelab- und Herstellerkanäle parallel genutzt werden, Downlink-Priorität setzen.
  • mtpush: erzwungen über den Engagelab-Kanal.
  • pns_mtpush: bei FCM+inländischer Herstellerkombination zuerst Xiaomi/Huawei/Meizu/OPPO/Vivo/Honor, bei Fehlschlag Engagelab.
  • mtpush_pns: zuerst Engagelab, offline dann Herstellerkanal (Hersteller sekundär).
  • fcm_mtpush: zuerst FCM, bei Fehlschlag Engagelab.
  • mtpush_fcm: zuerst Engagelab, offline dann FCM (FCM sekundär). Hinweis: Bei den vier Strategien pns_mtpush/fcm_mtpush/mtpush_pns/mtpush_fcm: Hat ein Gerät nur einen verfügbaren System-Push-Kanal (FCM oder Hersteller), werden die FCM-/Hersteller-Strategien ignoriert und der integrierte Kanal genutzt.
  • channel_id String Optional Kategorien der Benachrichtigungsleiste
  • Anpassung an Xiaomi, Huawei, OPPO; Antrag beim jeweiligen Hersteller. Leitfaden: Manufacturer Notification Categorization Guide.
  • Hinweis: Apps mit Datenverarbeitung in China bei Huawei unterstützen dieses Feld nicht. Details: Huawei Custom Notification Channels.
  • Das Feld channel_id gibt es auch unter Android. Ist es hier gesetzt, hat es Vorrang vor android.channel_id.
  • Wichtig: OPPO führt ab 20.11.2024 neue Kategorisierungsregeln ein; empfohlen, zusammen mit category und notify_level zu befüllen.
  • classification Int Optional Kategorie der Leistennachricht vivo-Herstellerkategorie, Standard 0.
  • 0: Betriebsnachricht.
  • 1: Systemnachricht. vivo prüft Systemnachrichten streng; Regeln: vivo developer platform.
  • pushMode Int Optional vivo-Push-Modus Standard 0. Details: vivo pushMode. Test-Push: Testgeräte-ID im vivo-Backend hinterlegen.
  • 0: offizieller Push.
  • 1:Test-Push.
  • importance String Optional Intelligente Klassifikation (Huawei/Honor) Entspricht Huaweis importance; leer = Standard "NORMAL". Referenz: Huawei notification message intelligent classification
  • LOW: allgemein.
  • NORMAL: wichtig.
  • HIGH: sehr wichtig (nur Huawei)
  • urgency String Optional Priorität (Huawei)
  • HIGH: sehr wichtig, kann Prozess wecken.
  • NORMAL: wichtig. Für HIGH Sondergenehmigung bei Huawei: How to apply for special permission
  • category String Optional Szenario-Kennzeichen (Huawei, vivo, OPPO) Für Huawei, vivo, OPPO: „Cloud“-Nachrichtentyp, Alarmverhalten und beschleunigte Zustellung.
  • Werte: Huawei category value description, vivo categorization standards.
  • OPPO category value description
  • Hinweis 1: Huawei erfordert Antrag auf Kategorisierung.
  • Hinweis 2: Ab 15.09.2023 verwaltet Huawei Cloud- und lokale Benachrichtigungen gemeinsam nach den Huawei Notification Categorization Standards. Werte müssen den offiziellen „Huawei cloud notification category“-Vorgaben entsprechen.
  • Hinweis 3: vivo: vivo official documentation.
  • Hinweis 4: OPPO ab 20.11.2024 neue Regeln: OPPO official documentation.
  • notify_level Int Optional OPPO: Alarmstufen der Leistennachricht
  • Offizielle Werte: 1 Leiste, 2 Leiste+Sperrbildschirm, 16 Leiste+Sperrbildschirm+Banner+Vibration+Klingelton.
  • notify_level nur für „Service and Communication“.
  • Mit notify_level ist category erforderlich.
  • small_icon_uri String Optional Kleines Symbol (Hersteller)
  • Xiaomi/Huawei.
  • Herstellerfeld hat Vorrang; leer → small_icon unter android.
  • Xiaomi: media_id; Huawei: lokaler Pfad, von Engagelab unterstützt. (Xiaomi empfiehlt keine eigenen kleinen Symbole mehr.)
  • small_icon_color String Optional Farbe kleines Symbol (Xiaomi) Anpassung an Xiaomi-Farbe; leer = grau (Feature wird von Xiaomi eingeschränkt).
    big_text String Optional Großtext (Hersteller)
  • Huawei/Honor/Xiaomi/OPPO; Xiaomi/OPPO max. 128 Zeichen.
  • Leer → big_text aus android.
  • Bei style=1 in android.
  • only_use_vendor_style Boolean Optional Nur Hersteller-Stil Nur Stil des eigenen Kanals, nicht aus android, Standard false.
  • true: nur Herstellerstil.
  • false: auch android-Stil möglich.
  • big_picture_id String Optional OPPO-Großbild-ID
  • Bei style=3 (Großbild). ID über Bild-Upload-API, hier eintragen.
  • small_picture_id String Optional OPPO-Kleinsymbol-ID
  • ID aus Kleinsymbol-Upload-API.
  • Zur Vereinheitlichung der Mehrkanal-Strategie wurde die Konfiguration von distribution_new angepasst. Bestehende herstellerspezifische Einstellungen bleiben gültig; empfohlen ist schrittweise Migration zur globalen Konfiguration (Wirksam ab 2025.04.03):

    • Priorität (neue Regeln)
      • Höchste Priorität: global third_party_channel.distribution_new (empfohlen)
        Beispiel: "distribution_new": "pns_mtpush"
      • Zweite Priorität: pro Hersteller third_party_channel.{vendor_key}.distribution_new (Legacy)
        Nur wenn global nicht gesetzt
      • Ohne Konfiguration: Standard pns_mtpush

    Hinweise zur Kompatibilität

    • Abwärtskompatibilität: Hersteller-Level funktioniert weiter, wenn das globale Feld leer ist.
    • Konflikt: Sind global und Hersteller gesetzt, gilt nur der globale Wert.
    • Langfristig: Hersteller-distribution_new kann entfallen; bitte frühzeitig anpassen.
    Anfragebeispiel
    { "third_party_channel": { "distribution_new": "pns_mtpush", "xiaomi": { "channel_id": "*******", "small_icon_uri": "http://f6.market.xiaomi.com/download/MiPass/x/x.png", "small_icon_color": "#ABCDEF" }, "huawei": { "importance": "NORMAL", "small_icon_uri": "https://xx.com/xx.jpg", "only_use_vendor_style": true }, "oppo": { "channel_id": "*******", "big_picture_id": "", "small_picture_id": "" }, "vivo": { "pushMode": 0 }, "hmos": { "distribution_new": "pns_mtpush" } } }
                  
                  {
        "third_party_channel": {
            "distribution_new": "pns_mtpush",
            "xiaomi": {
                "channel_id": "*******",
                "small_icon_uri": "http://f6.market.xiaomi.com/download/MiPass/x/x.png",
                "small_icon_color": "#ABCDEF"
            },
            "huawei": {
                "importance": "NORMAL",
                "small_icon_uri": "https://xx.com/xx.jpg",
                "only_use_vendor_style": true
            },
            "oppo": {
                "channel_id": "*******",
                "big_picture_id": "",
                "small_picture_id": ""
            },
            "vivo": {
                "pushMode": 0
            },
            "hmos": {
                "distribution_new": "pns_mtpush"
            }
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Request_id

    Optionales, vom Kunden definiertes Request-ID-Feld. Dient der Zuordnung von Anfrage und Antwort.

    Anfragebeispiel

    { "request_id":"12345678" }
                  
                  {
          "request_id":"12345678"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Antwortbeispiel

    { "msg_id": "1225764", "request_id": "12345678" }
                  
                  {
        "msg_id": "1225764",
        "request_id": "12345678"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Custom_args

    Vom Kunden definiertes optionales Feld; nicht in der direkten API-Antwort, aber im Callback.

    Anfragebeispiel

    { "custom_args":{ "args1": "args1" } }
                  
                  {
      "custom_args":{
        "args1": "args1"
      }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Rückgabeparameter

    Erfolgreiche Antwort

    Feld Typ Option Beschreibung
    request_id String Optional Die mitgeschickte benutzerdefinierte ID wird unverändert zurückgegeben.
    message_id String Erforderlich Nachrichten-ID, eindeutige Kennung einer Nachricht.
    < HTTP/1.1 200 OK < Content-Type: application/json {"request_id":"18","msg_id":"1828256757"}
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {"request_id":"18","msg_id":"1828256757"}
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Fehlerhafte Antwort

    HTTP-Status 4xx oder 5xx; Antwortbody enthält u. a.:

    Feld Typ Option Beschreibung
    code int Erforderlich Fehlercode, siehe Fehlercodes
    message String Erforderlich Fehlerdetails
    { "error":{ "code": 3002, "message": "Push.template field must be set correctly when type is template" } }
                  
                  {
        "error":{
        "code": 3002,
        "message": "Push.template field must be set correctly when type is template"
        }
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Antwort des Aufrufs

    HTTP-Statuscode

    Referenz: HTTP-Status-Code

    Fehlercodes {#fehlercodes}

    Code Beschreibung Erläuterung HTTP-Statuscode
    20101 Ungültige Push-Parameter Registrierungs-ID ungültig oder nicht zur aktuellen appkey gehörig 400
    21001 Nur HTTP POST unterstützt GET nicht unterstützt 405
    21002 Pflichtparameter fehlt Korrigieren 400
    21003 Ungültiger Parameterwert Korrigieren 400
    21004 Verifizierung fehlgeschlagen Korrigieren, siehe Aufrufvalidierung 401
    21005 Nachricht zu groß Korrigieren; Notification/Message max. 4000 Byte 400
    21008 Ungültiger app_key-Parameter appkey prüfen, Leerzeichen etc. 400
    21009 Interner Systemfehler Support kontaktieren 400
    21011 Kein passendes Push-Ziel Feld to prüfen 400
    21015 Parametervalidierung fehlgeschlagen Unerwartete Parameter 400
    21016 Parametervalidierung fehlgeschlagen Falscher Typ oder Länge überschritten 400
    21030 Interner Timeout Später erneut versuchen 503
    21050 Ungültiger live_activity-Event Event muss start, update oder end sein 400
    21051 Ungültiges live_activity-Ziel Bei Erstellung nur Broadcast oder Registrierungs-ID 400
    21052 Ungültiger live_activity attributes-type Bei event=start darf attributes-type nicht leer sein 400
    21053 Ungültiger live_activity content-state content-state darf nicht leer sein 400
    21054 live_activity-Fehler: Benachrichtigung und Custom-Message nicht gleichzeitig voip, message, notification, live_activity schließen sich aus 400
    21055 live_activity iOS ohne P8-Zertifikat Live Activity nur mit P8-Zertifikat 400
    21056 live_activity nur iOS platform muss ios sein 400
    21057 VoIP nicht mit anderen Typen kombinierbar voip, message, notification, live_activity schließen sich aus 400
    21058 VoIP nur iOS platform muss ios sein 400
    23006 Parameterfehler big_push_duration über Maximum 1440 400
    23008 Schnittstellen-Rate-Limit Push-QPS-Limit (500) erreicht 400
    23009 Push-Berechtigungsfehler Client-IP nicht in IP-Whitelist 400
    27000 Interner Speicherfehler Erneut versuchen 500
    27001 Parameterfehler Verifizierungsinformation leer 401
    27008 Parameterfehler third_party_channel mit distribution, aber leerer alert 401
    27009 Parameterfehler Ungültiges oder leeres distribution in third_party_channel 401
    21038 Push-Berechtigungsfehler VIP abgelaufen oder nicht aktiv 401
    21306 Parameterfehler Benachrichtigung und Custom-Message nicht gleichzeitig 401
    21059 Parameterfehler Dieser Nachrichtentyp unterstützt kein big_push_duration 401

    Push-Beschränkungen

    Anbieterkanal Titellänge Inhaltslänge Sensible Begriffe Sonstiges
    Engagelab-Kanal Kein Limit, Gesamtgröße begrenzt Kein Limit, Gesamtgröße begrenzt Gemäß Sensitivwörter-Funktion Notification/Message in MTPush max. 4000 Byte.
    Huawei-Kanal Kein Limit, Gesamt < 4096 Byte, Titel empfohlen ≤ 40 Zeichen Kein Limit, Gesamt < 4096 Byte, Inhalt empfohlen ≤ 1024 Zeichen Keine Inhalte zu Regierung, Führungspersonen, Taiwan-Unabhängigkeit etc. Standard für [Marketing Notification]: stille Benachrichtigung ohne Ton/Vibration.
    Honor-Kanal Kein Limit, Gesamt < 4096 Byte Kein Limit, Gesamt < 4096 Byte Wie Huawei-Themen
    Meizu-Kanal ≤ 32 Zeichen ≤ 100 Zeichen Sonderzeichen wie # verboten
  • Chinesisch und Englisch je 1 Zeichen.
  • Teilweise Speicherung in [Meizu Message Box] oben rechts.
  • Xiaomi-Kanal ≤ 50 Zeichen ≤ 128 Zeichen z. B. #, >> verboten
  • Chinesisch/Englisch je 1 Zeichen; Emojis zählen doppelt.
  • Teils unter „unwichtige“ Benachrichtigungen.
  • OPPO-Kanal ≤ 50 Zeichen Inhalt abhängig vom Stil: 1) Standard (style=1): ≤ 50; 2) Langtext (style=2): ≤ 128; 3) Großbild (style=3): ≤ 50. Gemäß Sensitivwörter Zeichenlänge: inkl. Emoji und Sonderzeichen je 1 Zeichen.
    vivo-Kanal ≤ 40 Zeichen ≤ 100 Zeichen
  • z. B. #, >> verboten.
  • Formale Nachrichten: keine reinen Zahlen/Englisch/Symbole, keine Test-Muster, Klammern etc.
  • Chinesisch/Englisch je 1 Zeichen.
  • Benachrichtigungen standardmäßig aus.
  • Marketing max. 5/Device/Tag.
  • Gleiche Marketing-Nachricht max. 1×/Tag/Device.
  • APNS-Kanal ≤ 20 Zeichen (40 lateinisch), Rest mit Ellipse
  • Mitteilungszentrale/Sperrbildschirm bis 110 Zeichen, 55 chinesische.
  • Banner bis 62 Zeichen, 31 chinesische, Rest Ellipse.
  • Gemäß Sensitivwörter Body max. 4 KB (4096 Byte). VoIP max. 5 KB (5120 Byte).
    FCM-Kanal Kein Limit, Gesamt begrenzt Kein Limit, Gesamt begrenzt Gemäß Sensitivwörter Wie MTPush 4000 Byte.
    Harmony-Kanal Kein Limit, Gesamt begrenzt Kein Limit, Gesamt begrenzt Gemäß Sensitivwörter Body max. 4096 Byte (ohne Push Token).

    Mehrsprachige Sprachcodes

    Sprache Code
    Englisch en
    Arabisch ar
    Chinesisch (vereinfacht) zh-Hans
    Chinesisch (traditionell) zh-Hant
    Tschechisch cs
    Dänisch da
    Niederländisch nl
    Französisch fr
    Deutsch de
    Hindi hi
    Italienisch it
    Japanisch ja
    Koreanisch ko
    Malaiisch ms
    Russisch ru
    Spanisch es
    Thai th
    Vietnamesisch vi
    Indonesisch id
    Norwegisch no
    Schwedisch sv
    Polnisch pl
    Türkisch tr
    Hebräisch he
    Portugiesisch pt
    Rumänisch ro
    Ungarisch hu
    Finnisch fi
    Griechisch el
    Ukrainisch uk
    Laotisch lo
    Portugiesisch (Portugal) pt_PT
    Portugiesisch (Brasilien) pt_BR
    Spanisch (Argentinien) es_AR
    Spanisch (Spanien) es_ES
    Spanisch (Lateinamerika) es_419
    Icon Solid Transparent White Qiyu
    Vertrieb kontaktieren