Codes d’erreur du SDK MA iOS

Définition des codes d’erreur client

Ce guide s’applique au SDK MTMA autonome v5.5.0 et versions ultérieures.

Code Description Détails
0 Requête réussie La requête API a réussi
-1 Échec de la requête Erreur réseau, format de réponse invalide, MA désactivé dans la configuration d’initialisation ou autre erreur inconnue
-2 Échec de la requête start: n’a pas été appelé, MTMA n’a pas été initialisé avec succès, ou la MA AppKey, le projet ou l’identité a changé avant l’exécution d’une requête en attente
-3 Paramètre invalide Échec de validation des paramètres, par exemple une MA AppKey ne comportant pas exactement 24 lettres ou chiffres, ou aucun identifiant utilisable après le nettoyage d’identifyAccount:
-4 Projet désactivé Une API détecte pendant l’exécution que MA est désactivé, ou le serveur renvoie une erreur de projet désactivé. Pour MA désactivé dans la configuration d’initialisation, voir -1
-5 Ancien code Indiquait auparavant un échec d’inscription AppPush ; n’est plus utilisé par MTMA autonome
-6 Projet changé Le projet a changé ; rappelez start: pour initialiser
-7 Requête en cours Une API sans prise en charge de file d’attente a déjà une requête en cours. Les appels valides à start: ne renvoient pas ce code du fait d’une autre initialisation en cours ; les requêtes de canal Push tiers sont mises en file dans l’ordre

Codes métier serveur

Le tableau ci-dessus répertorie les erreurs produites par le SDK lui-même. En cas d’échec métier côté serveur, le SDK renvoie le code métier et le message correspondants ; les callbacks peuvent donc contenir des codes positifs. Ces codes précis servent uniquement au diagnostic et leur stabilité entre versions n’est pas garantie. Ne les utilisez pas pour conditionner la logique applicative.

Utilisez MTMAInitResult.isSuccess pour déterminer la réussite de l’initialisation ; pour les autres API, code=0 indique que la requête a réussi. En cas d’échec inattendu, fournissez le code et le message d’origine au support technique.

  • Pour identifyAccount:, code=0 ne signifie pas que tous les identifiants ont été définis avec succès. Consultez Définir les identifiants utilisateur.
  • Si une propriété object_array n’est pas définie côté serveur, les opérations sur ses éléments peuvent renvoyer code=0 sans modification. Pour les autres cas sans modification des données, consultez Définir les propriétés utilisateur. Confirmez le résultat effectif dans la console MA ou les propriétés utilisateur côté serveur.
Scénario code du callback message du callback
Le serveur renvoie un échec métier (HTTP 4xx/5xx, corps de réponse JSON valide contenant un code numérique) code serveur d’origine msg/message serveur d’origine
Erreur réseau ou code métier impossible à extraire du corps de réponse -1 Message fixe du SDK
Projet désactivé / projet changé (HTTP 400 + 40001/40002) -4 / -6 Voir le tableau ci-dessus

Annexe : codes métier serveur courants

Les valeurs suivantes servent uniquement de référence pour le diagnostic ; leur stabilité entre versions du SDK ou du serveur n’est pas garantie :

Code Signification
55004 Paramètre métier invalide, par exemple un Bundle Identifier non associé ou différent de la configuration de la source MA, une AppKey de canal non associée au projet courant ou un channelId inexistant dans ce projet. Consultez message pour connaître la cause précise
55108 EUID invalide, par exemple lorsque l’EUID et le MA RID n’appartiennent pas au même utilisateur MA
55110 Requêtes trop fréquentes, par exemple lorsque le même RID AppPush fait l’objet d’associations simultanées. Réessayez plus tard
55000 Erreur système du serveur

Résultats par identifiant

Les résultats suivants incluent la validation locale du SDK et les réponses serveur. Pour les règles de traitement des champs, consultez Classe MTMAUserID :

Code Signification
0 Cet identifiant utilisateur a été traité avec succès
3001 La valeur de l’identifiant utilisateur ne doit pas être vide (code serveur de référence ; cette version du SDK considère les valeurs vides de ses quatre champs d’identifiant publics comme omises et ne produit pas de résultat 3001 par champ)
3002 L’identifiant utilisateur n’est pas défini dans le projet courant
3003 La valeur de l’identifiant utilisateur dépasse la longueur maximale
3013 Le type ou le format de la valeur de l’identifiant utilisateur est invalide, y compris les types autres que NSString
Icon Solid Transparent White Qiyu
Contactez-nous