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 signifier que les produits sont absents de la production ou que l’utilisateur n’appartient pas au groupe Testers dans Google Play. |
| ADAPTY_NOT_INITIALIZED | Le 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_CHANGED | Le 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_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 bibliothèque Play Billing. |
| 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. 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_ERROR | Cette erreur indique que vous utilisez une API de manière incorrecte. |
| BILLING_ERROR | Cette erreur indique un problème interne à Google Play. |
| 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 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_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 précisément identifié. |
| DECODING_FAILED | Nous 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_DISABLED | Nous 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_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é, donc le SDK affiche un espace réservé à sa place. Attribuez un asset image à cet élément dans le Flow 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 celui-ci ne possède pas de navigateur default en repli. Vérifiez la cible de l’action dans le Flow Builder. |
| INVALID_ACTION_URL | Une 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.