web-dev-qa-db-fra.com

Erreur d'application: cette version de l'application n'est pas configurée pour la facturation du marché

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:

  • J'ai d'abord essayé les ID de produit réservés pour tester les réponses de facturation statique dans l'application. Cela fonctionne sans problème.
  • J'ai téléchargé un brouillon APK sur le marché (avec signature de production, pas de signature de débogage), qui comprenait l'autorisation com.Android.vending.BILLING.
  • Lorsque j'ai fait cela, j'ai pu ajouter un "produit intégré" à mon application sur le marché et définir son statut sur publié.
  • J'ai créé un utilisateur de test et réinitialisé mon appareil pour faire de cet utilisateur de test le compte principal sur mon appareil de test.
  • L'identifiant du produit réservé fonctionne toujours.

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?

91
Peter Fortuin

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.

157
esilver

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".

43
Simon K

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.

34
ashughes

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

22
jen_h

J'ai également rencontré le même problème ... mais maintenant le problème est résolu

Mes observations basées sur quelques essais:

  1. Le code de version doit correspondre à la fois sur Google Play et sur l'appareil
  2. Même si les versions correspondent, nous pouvons toujours obtenir cette erreur
  3. Attendez environ 1 à 2 heures puis essayez, nous ne le feront pas obtenez cette erreur

J'espère que cela t'aides

14
user1444172

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:

  1. AndroidManifest doit inclure l'autorisation "com.Android.vending.BILLING" .
  2. APK est construit en mode de libération .
  3. APK est signé avec le certificat (s) de version .
  4. L'APK est téléchargé sur canal de distribution alfa/beta (auparavant - en tant que brouillon) sur la console du développeur au moins une fois. (prend un certain temps ~ 2h-24h ).
  5. Les produits IAB sont publiés et leur statut défini sur actif .
  6. Le ou les comptes de test sont ajoutés dans la console développeur.

Exigences de test:

  1. L'APK de test a le même versionCode que celui téléchargé sur la console du développeur.
  2. L'APK de test est signé avec le même (s) certificat (s) que celui téléchargé sur dev.console.
  3. Compte test (pas développeur) - est le compte principal sur l'appareil .

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

7
Luten

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.

6
JaakL

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.

0
user1174195

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

0
Nathan Prather