Gérer les erreurs dans le SDK Android

Chaque erreur renvoyée par le SDK est de type AdaptyError.

Tip

Activez les journaux détaillés avant de déboguer. La plupart des AdaptyError encapsulent une erreur sous-jacente de Play Billing, du réseau ou du backend. Avec les journaux détaillés activés (Adapty.logLevel = AdaptyLogLevel.VERBOSE — voir Journalisation), cette erreur encapsulée s’affiche dans la console, ce qui indique généralement la cause réelle.

Important

Si ces solutions ne résolvent pas votre problème, consultez Autres problèmes pour connaître les étapes à suivre avant de contacter le support afin de nous permettre de vous aider plus efficacement.

ErreurSolution
UNKNOWNCette erreur indique qu’une erreur inconnue ou inattendue s’est produite.
ITEM_UNAVAILABLECette erreur survient principalement lors de la phase de test. Elle peut signifier que les produits sont absents de la production ou que l’utilisateur n’appartient pas au groupe Testers dans Google Play.
ADAPTY_NOT_INITIALIZEDLe SDK Adapty n’est pas activé.
Cela se produit le plus souvent quand un écran de démarrage ou un hook d’interface appelé tôt invoque des méthodes Adapty avant que Adapty.activate ne termine. Le symptôme est intermittent et peut ne pas se reproduire sur un émulateur car les délais diffèrent sur un vrai appareil. Attendez que Adapty.activate soit terminé avant de planifier tout autre appel SDK. Consultez l’ordre d’appel dans le SDK Android pour la séquence complète. Vous devez également configurer correctement le SDK Adapty via la méthode Adapty.activate.
PROFILE_WAS_CHANGEDLe profil utilisateur a été modifié pendant l’opération.
Cela se produit quand une méthode est appelée alors qu’Adapty.identify est encore en cours d’exécution — l’appel en cours atterrit sur un profil qui est sur le point d’être remplacé, et le SDK le rejette. Attendez qu’Adapty.identify soit terminé avant de planifier d’autres appels SDK. Consultez l’ordre d’appel dans le SDK Android.
PRODUCT_NOT_FOUNDCette erreur indique que le produit demandé pour l’achat n’est pas disponible dans le store.

CURRENT_SUBSCRIPTION_TO_UPDATE

_NOT_FOUND_IN_HISTORY

L’abonnement d’origine à remplacer est introuvable dans les abonnements actifs.
BILLING_SERVICE_TIMEOUTCette erreur indique que la requête a atteint le délai d’attente maximum avant que Google Play puisse répondre. Cela peut être causé, par exemple, par un retard dans l’exécution de l’action demandée par l’appel à la bibliothèque Play Billing.
FEATURE_NOT_SUPPORTEDLa fonctionnalité demandée n’est pas prise en charge par le Play Store sur l’appareil actuel.
BILLING_SERVICE_DISCONNECTEDCette erreur indique que la connexion de l’application cliente au service Google Play Store via le BillingClient a été interrompue.
BILLING_SERVICE_UNAVAILABLECette erreur indique que le service Google Play Billing est actuellement indisponible. Dans la plupart des cas, cela signifie qu’il y a un problème de connexion réseau entre l’appareil client et les services Google Play Billing.
BILLING_UNAVAILABLE

Cette erreur indique qu’un problème de facturation s’est produit pendant le processus d’achat. Les causes possibles sont :

1. L’application Play Store sur l’appareil de l’utilisateur est absente ou obsolète.

2. L’utilisateur se trouve dans un pays non pris en charge.

3. L’utilisateur fait partie d’un compte entreprise dont l’administrateur a désactivé les achats.

4. Google Play n’a pas pu débiter le moyen de paiement de l’utilisateur (par exemple, une carte bancaire expirée).

5. L’utilisateur n’est pas connecté à l’application Play Store.

DEVELOPER_ERRORCette erreur indique que vous utilisez une API de manière incorrecte.
BILLING_ERRORCette erreur indique un problème interne à Google Play.
ITEM_ALREADY_OWNEDLe produit a déjà été acheté.
ITEM_NOT_OWNEDCette erreur indique que l’action demandée sur l’article a échoué car l’utilisateur n’en est pas propriétaire.
BILLING_NETWORK_ERRORCette erreur indique qu’un problème de connexion réseau s’est produit entre l’appareil et les systèmes Play.
NO_PRODUCT_IDS_FOUND

Cette erreur indique qu’aucun des produits du paywall n’est disponible dans le store.

Si vous rencontrez cette erreur, suivez les étapes ci-dessous pour la résoudre :

  1. Vérifiez que tous les produits ont été ajoutés à l’Adapty Dashboard.
  2. Assurez-vous que le Package name de votre application correspond à celui indiqué dans la Google Play Console.
  3. Vérifiez que les identifiants de produit des stores correspondent à ceux que vous avez ajoutés au Dashboard. Notez que les identifiants ne doivent pas contenir le Bundle ID, sauf s’il est déjà inclus dans le store.
  4. Confirmez que le statut payant de l’application est Active dans vos paramètres fiscaux Google. Assurez-vous que vos informations fiscales sont à jour et que vos certificats sont valides.
  5. Vérifiez qu’un compte bancaire est associé à l’application pour qu’elle soit éligible à la monétisation.
  6. Vérifiez si les produits sont disponibles dans votre région.
  7. Assurez-vous que votre application est dans l’un des circuits de test. Le circuit Internal testing est le plus simple car il ne nécessite pas de validation et garde l’application invisible pour les clients.
NO_PURCHASES_TO_RESTOREDéprécié dans le SDK Adapty Android 4.0.2 : restorePurchases() ne renvoie plus cette erreur. Lorsqu’il n’y a rien à restaurer, la méthode se termine avec succès en retournant le profil actuel — vérifiez alors le statut du niveau d’accès dans celui-ci. Dans les versions antérieures du SDK, cette erreur indique que Google Play n’a pas trouvé d’achat à restaurer.
AUTHENTICATION_ERRORVous devez configurer correctement le SDK Adapty via la méthode Adapty.activate.
BAD_REQUESTRequête incorrecte.
Assurez-vous d’avoir suivi toutes les étapes requises pour l’intégration avec Google Play.
SERVER_ERRORErreur serveur.
REQUEST_FAILEDCette erreur indique un problème réseau qui ne peut pas être précisément identifié.
DECODING_FAILEDNous n’avons pas pu décoder la réponse.
Vérifiez votre code et assurez-vous que les paramètres envoyés sont valides. Par exemple, cette erreur peut indiquer que vous utilisez une clé API invalide.
ANALYTICS_DISABLEDNous ne pouvons pas traiter les événements d’analyse, car vous les avez désactivés.
WRONG_PARAMETER

Cette erreur indique que certains paramètres sont incorrects : vide alors qu’il ne peut pas l’être, mauvais type, etc.

Le SDK renvoie également cette erreur lorsqu’il ne peut pas lire un fichier de secours local — le plus souvent parce que la version du fichier ne correspond pas à la version du SDK. Téléchargez un nouveau fichier depuis le tableau de bord.

LOGGING_OUT_UNIDENTIFIED_USERAdapty.logout() a été appelé pour un utilisateur qui n’a jamais été identifié. Appelez-le uniquement après Adapty.identify.

Erreurs de rendu de flow

Adapty SDK 4.0 et versions ultérieures signale ces erreurs via onError dans votre AdaptyFlowEventListener plutôt qu’en les retournant depuis un appel de méthode. Voir Gérer les événements dans le SDK Android.

ErreurSolution
WRONG_ASSET_TYPEUn élément image dans le flow pointe vers un asset qui est un remplissage de couleur ou de dégradé, donc le SDK affiche un espace réservé à sa place. Attribuez un asset image à cet élément dans le Flow Builder.
JS_EXCEPTIONLe JavaScript du flow a levé une exception. Lisez le texte de l’exception dans le message d’erreur.
NAVIGATOR_NOT_FOUNDUne action d’ouverture d’écran désigne un navigateur absent de la configuration de vue du flow, et celui-ci ne possède pas de navigateur default en repli. Vérifiez la cible de l’action dans le Flow Builder.
INVALID_ACTION_URLUne action d’ouverture d’URL fait référence à un identifiant de chaîne qui ne correspond à aucune URL. Définissez une URL valide pour cette action dans le Flow Builder.

Autres problèmes

Si vous n’avez pas encore trouvé de solution, voici les prochaines étapes possibles :

  • Mettre à jour le SDK vers la dernière version : nous recommandons toujours de passer à la dernière version du SDK, car elle est plus stable et inclut des correctifs pour les problèmes connus.
  • Contacter l’équipe support ou obtenir de l’aide auprès d’autres développeurs dans le forum d’assistance.
  • Contacter l’équipe support via support@adapty.io ou via le chat : si vous n’êtes pas prêt à mettre à jour le SDK ou si cela n’a pas résolu le problème, contactez notre équipe support. Notez que votre problème sera résolu plus rapidement si vous activez la journalisation verbeuse et partagez les logs avec l’équipe. Vous pouvez également joindre des extraits de code pertinents.