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:bedeutetcode=0nicht, dass alle Kennungen erfolgreich gesetzt wurden. Siehe Benutzerkennungen festlegen. - Ist eine object_array-Eigenschaft serverseitig nicht definiert, können Operationen auf Elementebene
code=0zurü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 |










