Lorsque j'essaie d'exécuter mon application avec la facturation intégrée, le message d'erreur suivant s'affiche: "Cette version de l'application n'est pas configurée pour la facturation via Google Play. Consultez le centre d'aide pour plus d'informations".
J'ai déjà la permission de facturation dans le fichier Manifest et un fichier .apk signé a été chargé en tant que brouillon sur Google Play et j'ai également installé le même fichier apk signé sur mon téléphone.
Toute aide sur la façon de résoudre ce problème?
Ahh a trouvé la solution après avoir essayé quelques heures.
Cette erreur peut être causée par plusieurs raisons.
Voici la liste des exigences pour les tests Google IAB.
Conditions préalables:
Exigences de test:
P.S: Débogage avec certificat de version: https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp pour le lien)
P.P.S: Je voulais faire cette liste depuis longtemps déjà.
La même chose se produira si votre version publiée n'est pas la même que celle que vous testez sur votre téléphone.
Par exemple, la version téléchargée est Android:versionCode="1"
et la version que vous testez sur votre téléphone est Android:versionCode="2"
.
Vous devez signer votre APK avec votre certificat en direct. Puis installez-le sur votre appareil de test. Vous pouvez ensuite tester InAppBilling. Si vous testez votre application en mode d'exécution directe via Eclipse vers périphérique (en mode débogage), vous obtiendrez cette erreur.
Si vous utilisez Android.test.purchased
en tant que SKU, cela fonctionnera jusqu'au bout, mais le développeurPayload ne figurera pas dans votre réponse finale.
Si vous utilisez votre propre brouillon dans l'élément de l'application, vous pouvez effectuer un test complet, mais des frais vous seront facturés et vous devrez donc les rembourser vous-même ultérieurement.
Vous ne pouvez pas acheter d’éléments avec le même compte Gmail que celui que vous utilisez pour la console de développement Google Play.
Si vous êtes ici à partir de 2018, vous devez télécharger l'APK directement à partir du Play Store et installer l'APK "dérivé". C'est peut-être parce que Google Play Store a une fonctionnalité "App Signing by Google Play".
Dans la console du développeur:
Settings
-> Account details
-> License Testing
-> Comptes Gmail avec accès de test
et tapez ici vos comptes
Laissez-moi juste ajouter ce qui est arrivé avec moi, peut aider quelqu'un.
C'était principalement dû à la signature.
Depuis que j'ai ajouté les détails de la signature dans la structure du projet, je pensais que chaque fois que je cours, l'apk signé signé est installé. Mais le type de construction 'debug' a été sélectionné.
Le correctif ci-dessous a résolu le problème pour moi.
Cela se produira si vous utilisez une version de l'apk différente de celle de Google Play.
Avait le même problème, et il n'a pas été résolu avant que je lis le post de DZDomi. Il est soudain apparu qu'un paramètre de la console de développeur Google devait être activé. Dans la section "Achats via l'application", il existe une ligne pour votre produit et, à l'extrême droite, un statut. Il devrait être actif!
Contrairement à de nombreuses réponses et commentaires sur SO et d'autres sites, vous n'avez PAS à effectuer de tests préliminaires avec une version alpha/bêta de votre produit qui a été téléchargée à partir de Google Play sur votre appareil de test (la publication alpha/bêta). processus mange souvent une demi-journée). Vous ne devez pas non plus charger et re-charger une version signée apk de votre studio de développement sur votre appareil de test.
Vous POUVEZ déboguer les services de facturation d'applications intégrés dans Google Play en utilisant l'application de débogage chargée depuis votre studio de développement directement sur votre appareil de test via ADB. Si vous rencontrez des erreurs empêchant cela, vous avez probablement commis une erreur dans votre code. Portez une attention particulière au CASE de vos SKU (identifiants produits) et à leur format (par exemple, si vous chargez votre APK en tant que com.mydomain.my_product_id, assurez-vous d'essayer de l'acheter de cette manière - en fournissant le même cas et le même domaine). . En outre, portez une attention particulière à votre type d'élément - il devrait être "inapp" ou "subs" pour les achats ou les abonnements gérés/non gérés dans l'application, respectivement.
Comme suggéré par Chirag Patel, à condition que votre code de facturation soit correctement établi, effectuez tous les tests à l'aide du sku Android.test.purchased (ID du produit) lors de vos tests préliminaires. Recherchez cet ID tout au long de vos opérations de facturation pour le transmettre lors des contrôles de signature, de jeton et de charge utile, car ces données ne sont pas fournies par le système de test de Google. De plus, attribuez cet ID à l'un de vos produits test pour tester son achat, son déverrouillage/son chargement et sa présentation tout au long de votre schéma. Pour EFFACER l'achat, consommez-le simplement en transmettant le même sku ET une chaîne de jetons formatée de cette façon; aucun autre champ n'est pertinent:
"inapp:"+appContext.getAppContext().getPackageName()+":Android.test.purchased";
Une fois cette phase d’essai terminée, passez à l’essai en semi-direct avec votre produit alpha/bêta. Créez un groupe Google (essentiellement une liste de diffusion), ajoutez-y vos e-mails d'utilisateurs test et ajoutez/invitez ce groupe à tester votre appareil au cours de cette phase (effectuée à la partie "APK" de la liste de développeurs Google de votre application). Les achats seront simulés mais ne seront pas facturés. Toutefois, pour les effacer et les tester à nouveau, Google indique que vous devez les rembourser à partir de votre portefeuille Google. CECI est la seule phase de test qui nécessite le processus fastidieux d’utilisation des charges alpha/bêta et des utilisateurs de test.
Si vous voulez déboguer IAB, que devez-vous faire?
Soumettez pour que Google lance une version de votre application avec l'autorisation de l'IAB sur le manifeste:
Ajoutez un produit à votre application sur Google Play: Administration de la facturation in-app
Définissez un magasin de clés de débogage personnalisé signé: Configurez Eclipse pour utiliser le magasin de clés signé
Dans mon cas, j'ai vu le même message en raison des signatures différentes de l'apk installé et d'un apk téléchargé sur le marché.
Une autre raison non mentionnée ici est que vous devez effectuer des tests sur un périphérique réel. Avec l’émulateur qui devient vraiment bon, c’est une erreur facile à faire.
mon problème était que j'ai essayé de vérifier avec le debug.keystore, je veux dire l'exécuter par Eclipse. mon téléphone et que je pourrais le tester normalement.
Le problème se produit également lorsque vous avez ajouté un achat intégré après avoir téléchargé l'apk, mais que vous n'avez pas publié l'application dans le Play Store (alpha, bêta et production).
Ce qui signifie essentiellement que vous devez ajouter l'achat In-App APRÈS que vous ayez publié l'apk dans le Play Store (alpha, bêta et production). Sinon, vous ne pourrez pas acheter ou interroger pour l'achat In-App.
SOLUTION
Attendez quelques instants après le téléchargement de votre application sur Play Store, car Google met du temps à mettre à jour les versions des applications. Cela fonctionnera!
J'ai le même problème en moto c2 + dans mon cas, c’est un problème d’appareil une fois que je redémarre alors cela fonctionnera parfaitement ...