Depuis quelques jours, il est possible d'utiliser la facturation via l'application dans les applications Android. Très cool bien sûr. Alors, j'ai commencé à travailler sur une mise à jour de mon application pour l'implémenter. Mais maintenant je rencontrer quelques problèmes. Voici ce que j'ai fait:
Maintenant vient le problème. Lorsque j'utilise mon propre ID de produit (celui que j'ai ajouté auparavant, voir ci-dessus), une boîte de dialogue s'affiche avec le texte suivant:
"Erreur d'application: cette version de l'application n'est pas configurée pour la facturation du marché. Consultez le centre d'aide pour plus d'informations."
Il n'y a rien d'étrange que je puisse trouver dans le journal. Quelqu'un sait ce que je fais mal ici?
Je viens de rencontrer ce problème et j'ai réalisé que c'était parce que j'exécutais une version non signée de débogage de mon application. Dans Eclipse, lorsque j'ai exporté et signé mon application et que je l'ai installée sur le téléphone, j'ai pu utiliser mes produits intégrés à l'application sans voir ce message d'erreur.
J'ai constaté qu'une fois que je télécharge une nouvelle copie de mon APK sur le marché, je ressens cette "erreur d'application" au cours de l'heure suivante. Après au moins une heure (parfois jusqu'à deux heures doivent s'écouler), je ne reçois plus cette erreur et je peux ensuite acheter mes articles sans aucun problème. Il semble que les serveurs Google aient besoin d'au moins une heure pour traiter le fait que vous ayez téléchargé un nouvel APK (en ce qui concerne l'aspect facturation InApp de l'APK).
Je vous conseille donc d'attendre 1 à 2 heures après le téléchargement de votre fichier APK, puis de voir si vous obtenez toujours "l'erreur d'application".
J'ai également rencontré ce problème. J'ai finalement réalisé que mon application publiée avait un code de version de 3, mon brouillon (apk non publié avec l'autorisation de facturation) avait un code de version de 4, et l'apk signé que j'utilisais pour tester la facturation via l'application était toujours au versionCode 3. Une fois que je changé le versionCode à 4, j'ai pu accéder à la page de produit réelle de l'application pour l'achat que je demandais.
Cela peut se produire sur des versions signées et publiées lorsque l'apk téléchargé en tant que brouillon ne correspond pas à l'apk exécuté sur votre système en mode test. Assurez-vous simplement que vos versions correspondent, vous devriez être bien en mode test et cesser de voir les erreurs.
Le gros problème ici est que nous verrons ce même comportement en production, c'est-à-dire que nous publierons 1.0.0-1 avec facturation intégrée, puis nous publierons 1.0.0-2, et les utilisateurs exécutant 1.0.0-1 seront impossible d'acheter ou de faire restaurer ses achats et recevra la même erreur (très mauvaise expérience utilisateur). J'ai parcouru la documentation pour mentionner ce comportement spécifique au mode test, mais pas de chance jusqu'à présent; nous avons ajouté un bogue ici: http://code.google.com/p/marketbilling/issues/detail?id=15#c
J'ai également rencontré le même problème ... mais maintenant le problème est résolu
Mes observations basées sur quelques essais:
J'espère que cela t'aides
Copié à partir d'une question en double: https://stackoverflow.com/a/22469253/1321401
Cette erreur peut se produire pour plusieurs raisons.
Voici la liste des exigences pour les tests Google IAB.
Conditions préalables:
Exigences de test:
PS: Débogage avec certificat de version : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp pour le lien)
P.P.S: Je voulais déjà faire cette liste depuis longtemps.
Thnx @ zlgdev pour la mise à jour
Ma solution était que je devais utiliser la même clé pour signer apk dans Market (en tant que brouillon APK) et dans test. Donc, au lieu de simplement exécuter l'application, je dois toujours exporter l'APK signé avec chaque mise à jour, le désinstaller et le réinstaller dans l'appareil à l'aide des commandes de ligne de commande apk. En principe, vous pouvez également utiliser votre propre magasin de clés comme magasin de débogage, mais cela nécessite l'utilisation de mots de passe et de noms codés en dur spécifiques pour les clés.
Je pensais partager une autre solution possible si vous obtenez cette erreur. J'ai initialement téléchargé sur Google un brouillon de mon apk avec l'autorisation de facturation activée, j'ai donc pu configurer dans les achats de l'application. Plus tard, j'ai téléchargé une autre apk sans l'autorisation de facturation manquante dans mon AndroidManifest, ce qui a entraîné l'erreur. Cela semble certainement un cas peu probable, mais cela m'est arrivé, c'est donc possible.
Modifier: dans le même ordre d'idées, si la version que vous avez soumise en tant que brouillon à google n'est pas signée, l'erreur se produira également.
Pour ajouter mes deux cents, j'ai pu le tester en téléchargeant vers la version Beta et en créant un compte Gmail avec un accès de test sous l'onglet paramètres avec une nouvelle version de mon application ...
Je passe maintenant à la production ...
Merci! Nathan