Gérer les erreurs dans le SDK Android
Chaque erreur renvoyée par le SDK est de type AdaptyError.
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.
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.
| Erreur | Solution |
|---|---|
| UNKNOWN | Cette erreur indique qu’une erreur inconnue ou inattendue s’est produite. |
| ITEM_UNAVAILABLE | Cette erreur survient principalement lors de la phase de test. Elle peut indiquer que les produits sont absents de la production ou que l’utilisateur n’appartient pas au groupe Testeurs dans Google Play. |
| ADAPTY_NOT_INITIALIZED | Le SDK Adapty n’est pas activé. Ce problème apparaît le plus souvent lorsqu’un écran de démarrage ou un hook d’interface précoce appelle des méthodes Adapty avant que Adapty.activate ne retourne. Le symptôme est intermittent et peut ne pas se reproduire sur un émulateur car le timing sur un appareil réel est différent. Attendez que Adapty.activate se termine avant de planifier tout autre appel SDK. Consultez l’ordre des appels 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_CHANGED | Le profil utilisateur a été modifié pendant l’opération. Cela se produit lorsqu’une méthode est appelée alors qu’ Adapty.identify est encore en cours — l’appel en cours atterrit sur un profil sur le point d’être remplacé, et le SDK le rejette. Attendez qu’Adapty.identify se termine avant de planifier d’autres appels SDK. Consultez l’ordre des appels dans le SDK Android. |
| PRODUCT_NOT_FOUND | Cette 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_TIMEOUT | Cette 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 Play Billing Library. |
| FEATURE_NOT_SUPPORTED | La fonctionnalité demandée n’est pas prise en charge par le Play Store sur l’appareil actuel. |
| BILLING_SERVICE_DISCONNECTED | Cette erreur indique que la connexion de l’application cliente au service Google Play Store via le BillingClient a été interrompue. |
| BILLING_SERVICE_UNAVAILABLE | Cette 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. Causes possibles : 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 de crédit expirée). 5. L’utilisateur n’est pas connecté à l’application Play Store. |
| DEVELOPER_ERROR | Cette erreur indique que vous utilisez une API de manière incorrecte. |
| BILLING_ERROR | Cette erreur indique un problème interne à Google Play lui-même. |
| ITEM_ALREADY_OWNED | Le produit a déjà été acheté. |
| ITEM_NOT_OWNED | Cette erreur indique que l’action demandée sur l’article a échoué car l’utilisateur n’en est pas propriétaire. |
| BILLING_NETWORK_ERROR | Cette 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 :
|
| NO_PURCHASES_TO_RESTORE | Déprécié dans Adapty Android SDK 3.17.3 et 4.0.2 : restorePurchases() ne retourne 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 les versions antérieures du SDK, cette erreur indique que Google Play n’a pas trouvé d’achat à restaurer. |
| AUTHENTICATION_ERROR | Vous devez configurer correctement le SDK Adapty via la méthode Adapty.activate. |
| BAD_REQUEST | Requête incorrecte. Assurez-vous d’avoir suivi toutes les étapes requises pour l’intégration avec Google Play. |
| SERVER_ERROR | Erreur serveur. |
| REQUEST_FAILED | Cette erreur indique un problème réseau qui ne peut pas être défini précisément. |
| DECODING_FAILED | Impossible de 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_DISABLED | Impossible de traiter les événements analytics car vous les avez désactivés. |
| WRONG_PARAMETER | Cette erreur indique que certains de vos paramètres sont incorrects : vide alors qu’il ne peut pas l’être, mauvais type, etc. Le SDK retourne également cette erreur lorsqu’il ne peut pas lire un fichier de paywall 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_USER | Adapty.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.
| Erreur | Solution |
|---|---|
| WRONG_ASSET_TYPE | Un élément image dans le flow pointe vers un asset qui est un remplissage de couleur ou de dégradé, de sorte que le SDK affiche un espace réservé à sa place. Assignez un asset image à cet élément dans le Flow & Paywall Builder. |
| JS_EXCEPTION | Le JavaScript du flow a levé une exception. Lisez le texte de l’exception dans le message d’erreur. |
| NAVIGATOR_NOT_FOUND | Une action d’ouverture d’écran désigne un navigateur absent de la configuration de vue du flow, et le flow ne dispose d’aucun navigateur default en fallback. Vérifiez la cible de l’action dans le Flow & Paywall Builder. |
| INVALID_ACTION_URL | Une action d’ouverture d’URL fait référence à un identifiant de chaîne qui ne se résout pas en URL. Définissez une URL valide pour cette action dans le Flow & Paywall 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.