Fehlercodes des iOS MA SDK

Definition der Client-Fehlercodes

Dieser Leitfaden gilt für das eigenständige MTMA SDK ab v5.5.0.

Code Beschreibung Details
0 Anfrage erfolgreich Die API-Anfrage war erfolgreich
-1 Anfrage fehlgeschlagen Netzwerkfehler, ungültiges Antwortformat, in der Initialisierungskonfiguration deaktivierte MA-Funktion oder ein anderer unbekannter Fehler
-2 Anfrage fehlgeschlagen start: wurde nicht aufgerufen, MTMA wurde noch nicht erfolgreich initialisiert oder MA AppKey, Projekt oder Identität haben sich vor Ausführung einer eingereihten Anfrage geändert
-3 Ungültige Einstellung Parametervalidierung fehlgeschlagen, etwa weil der MA AppKey nicht aus genau 24 Buchstaben oder Ziffern besteht oder nach der Bereinigung für identifyAccount: keine verwendbare Kennung verbleibt
-4 Projekt deaktiviert Eine Laufzeit-API erkennt eine deaktivierte MA-Funktion oder der Server meldet ein deaktiviertes Projekt. Bei deaktivierter MA-Funktion in der Initialisierungskonfiguration siehe -1
-5 Historischer Code Kennzeichnete früher eine fehlgeschlagene AppPush-Registrierung; wird vom eigenständigen MTMA nicht mehr verwendet
-6 Projekt gewechselt Das Projekt wurde gewechselt; zur Initialisierung erneut start: aufrufen
-7 Anfrage läuft Für eine API ohne Warteschlangenunterstützung läuft bereits eine Anfrage. Gültige start:-Aufrufe liefern diesen Code nicht aufgrund einer laufenden Initialisierung; Anfragen für Push-Drittanbieterkanäle werden der Reihe nach eingereiht

Serverseitige Geschäftscodes

Die obige Tabelle enthält die vom SDK selbst erzeugten Fehlercodes. Bei serverseitigen fachlichen Fehlern gibt das SDK den entsprechenden Geschäftscode und Meldungstext zurück; daher können Callbacks positive Codes enthalten. Einzelne Geschäftscodes dienen nur der Diagnose und sind nicht versionsübergreifend stabil garantiert. Verwenden Sie sie nicht für Verzweigungen der Anwendungslogik.

Prüfen Sie den Initialisierungserfolg über MTMAInitResult.isSuccess; bei anderen APIs bedeutet code=0, dass die Anfrage erfolgreich war. Geben Sie bei unerwarteten Fehlern code und message im Original an den technischen Support weiter.

  • Bei identifyAccount: bedeutet code=0 nicht, dass alle Kennungen erfolgreich gesetzt wurden. Siehe Benutzerkennungen festlegen.
  • Ist eine object_array-Eigenschaft serverseitig nicht definiert, können Operationen auf Elementebene code=0 zurückgeben, ohne etwas zu ändern. Weitere Fälle ohne Datenänderung finden Sie unter Benutzereigenschaften festlegen. Prüfen Sie das tatsächliche Ergebnis in der MA-Konsole oder in den serverseitigen Benutzereigenschaften.
Szenario Callback-code Callback-message
Server meldet einen fachlichen Fehler (HTTP 4xx/5xx, Antwortinhalt ist gültiges JSON mit numerischem code) Unveränderter code des Servers Unveränderter Text aus msg/message des Servers
Netzwerkfehler oder kein Geschäftscode aus dem Antwortinhalt auslesbar -1 Fester SDK-Meldungstext
Projekt deaktiviert / Projekt gewechselt (HTTP 400 + 40001/40002) -4 / -6 Siehe obige Tabelle

Anhang: Häufige serverseitige Geschäftscodes

Die folgenden Werte dienen ausschließlich als Diagnosehilfe. Ihre Stabilität über SDK- oder Serverversionen hinweg wird nicht zugesichert:

Code Bedeutung
55004 Ungültiger Geschäftsparameter, etwa ein nicht gebundener oder nicht zur MA-Datenquelle passender Bundle Identifier der App, ein im aktuellen Projekt nicht zugeordneter Kanal-AppKey oder eine dort nicht vorhandene channelId. Die genaue Ursache steht in message
55108 Ungültige EUID, etwa wenn EUID und MA RID nicht demselben MA-Benutzer zugeordnet sind
55110 Zu häufige Anfragen, etwa bei gleichzeitigen Bindungsversuchen für dieselbe AppPush RID. Später erneut versuchen
55000 Serverseitiger Systemfehler

Einzelergebnisse der Benutzerkennungen

Die folgenden Ergebnisse umfassen die lokale SDK-Validierung und Serverantworten. Regeln zur Feldverarbeitung siehe Klasse MTMAUserID:

Code Bedeutung
0 Diese Benutzerkennung wurde erfolgreich verarbeitet
3001 Der Wert der Benutzerkennung darf nicht leer sein (serverseitiger Referenzcode; diese SDK-Version behandelt leere Werte der vier öffentlichen Kennungsfelder als nicht übergeben und erzeugt dafür keine Einzelergebnisse mit 3001)
3002 Benutzerkennung ist im aktuellen Projekt nicht definiert
3003 Wert der Benutzerkennung überschreitet die zulässige Länge
3013 Wert der Benutzerkennung hat einen ungültigen Typ oder ein ungültiges Format, einschließlich anderer Typen als NSString
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren