Cette erreur peut être due à plusieurs raisons.
Voici la liste des exigences pour les tests Google IAB.
Conditions préalables:
- AndroidManifest doit inclure l' autorisation "com.android.vending.BILLING" .
- APK est construit en mode de libération .
- L'APK est signé avec le ou les certificats de version . (Important: avec "App Signing by Google Play" cela ne fonctionne que si vous téléchargez directement depuis GooglePlayStore!)
- L'APK est téléchargé sur le canal de distribution alpha / bêta (auparavant - en tant que brouillon) sur la console du développeur au moins une fois. (prend un certain temps ~ 2h-24h ).
- Les produits IAB sont publiés et leur statut passe à actif .
- Le ou les comptes de test sont ajoutés dans la console des développeurs.
Exigences de test:
- L'APK de test a le même code de version que celui téléchargé sur la console du développeur.
- L'APK de test est signé avec le (s) même (s) certificat (s) que celui téléchargé sur dev.console.
- Compte de test (pas développeur) - est le compte principal de l'appareil. (Le compte principal peut ne pas être nécessaire - selon le commentaire @MinosL )
- Le compte de test est activé en tant que testeur et il est lié à un mode de paiement valide . ( @Kyone )
PS: débogage avec certificat de version : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp pour le lien)
PPS: Je voulais déjà faire cette liste depuis longtemps.
Thnx @zlgdev , @Kyone , @MinosL pour les mises à jour
Ahh a trouvé la solution après avoir essayé pendant quelques heures.
la source
La même chose se produira si votre version publiée n'est pas la même que la version 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 estandroid:versionCode="2"
la source
android:versionCode="1"
et le téléphone estandroid:versionCode="2"
correct, ou je dois changer mon apk google play?.Vous devez signer votre APK avec votre certificat en direct. Installez-le ensuite sur votre appareil de test. Vous pouvez ensuite tester InAppBilling. Si vous testez votre application par exécution directe via Eclipse sur l'appareil (en mode débogage), vous obtiendrez cette erreur.
Si vous l'utilisez
android.test.purchased
comme SKU, cela fonctionnera tout le temps, mais vous n'aurez pas le developerPayload dans votre réponse finale.Si vous utilisez votre propre brouillon dans l'article de l'application, vous pouvez le tester complètement, mais vous serez facturé et devrez donc le rembourser vous-même par la suite.
Vous ne pouvez pas acheter des articles avec le même compte Gmail que vous utilisez pour la console de développement Google Play.
la source
Dans la console développeur:
Settings
->Account details
->License Testing
-> Comptes Gmail avec accès testet saisissez ici vos comptes
la source
Si vous êtes ici depuis 2018, vous devez télécharger l'APK directement depuis Play Store et installer l'APK "dérivé". Peut-être que c'est parce que le Play Store de Google dispose d'une fonctionnalité "Signature d'application par Google Play".
la source
Cela se produira si vous utilisez une version de l'apk différente de celle de Google Play.
la source
Permettez-moi d'ajouter ce qui s'est passé avec moi, peut aider quelqu'un.
C'était principalement dû à la signature.
Depuis que j'ai ajouté les détails de signature dans la structure du projet, je pensais qu'à chaque fois que je cours, l'apk signé attendu est installé. Mais le type de build 'debug' a été sélectionné.
La solution ci-dessous a résolu le problème pour moi.
la source
Dans mon cas, j'ai vu le même message en raison des différentes signatures de l'apk installé et d'un téléchargement sur l'apk du marché.
la source
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 (le processus de publication alpha / bêta mange souvent une demi-journée). Vous n'avez pas non plus à charger et à recharger une apk de version signée de votre studio de développeur sur votre appareil de test.
Vous POUVEZ déboguer les services de facturation préliminaires de Google Play dans l'application en utilisant l'application de débogage telle que chargée depuis votre studio de développement directement sur votre appareil de test via ADB. Si vous rencontrez des erreurs qui empêchent cela, il est probable que vous ayez commis une erreur dans votre code. Portez une attention particulière au CAS de vos SKU (identifiants de produit) 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 façon - en fournissant le même boîtier et le même domaine) . De plus, portez une attention particulière à votre itemType - il doit s'agir respectivement de "inapp" ou de "subs" pour les achats ou les abonnements gérés / non gérés dans l'application.
Comme suggéré par Chirag Patel, à condition que votre code de facturation soit correctement établi, effectuez tous les tests en utilisant le sku android.test.purchased (ID produit) lors de vos tests préliminaires. Recherchez cet ID tout au long de vos opérations de facturation pour le passer par les contrôles de signature, de jeton et de charge utile, car ces données ne sont pas fournies par le système de test Google. De plus, attribuez à l'un de vos produits de test cet ID pour tester son achat, déverrouiller / charger et présenter tout au long de votre schéma. Pour EFFACER l'achat, consommez-le simplement, en passant le même Sku ET une chaîne de jetons formatée de cette façon - aucun autre champ n'est pertinent:
Une fois que vous avez terminé cette phase de test, passez aux tests semi-live avec votre produit alpha / bêta. Créez un groupe Google (essentiellement une liste de diffusion), ajoutez-y les e-mails de vos utilisateurs de test et ajoutez / invitez ce groupe à tester votre appareil au cours de cette phase (effectué dans la partie "APK" de la liste des développeurs Google de votre application). Les achats seront simulés mais pas réellement facturés.Toutefois, pour effacer et retester les achats, Google indique que vous devez les rembourser à partir de votre portefeuille Google. CECI est la seule phase de test qui nécessite le long processus d'utilisation des charges alpha / bêta et des utilisateurs de test.
la source
Si vous souhaitez déboguer IAB, vous devez:
Envoyez à Google Play une version de votre application avec l'autorisation IAB sur le manifeste:
Ajouter un produit à votre application sur Google Play: Administration de la facturation via l' application
Définir un magasin de clés de débogage personnalisé signé: configurer Eclipse pour utiliser le magasin de clés signé
la source
J'ai eu le même problème, et il n'a pas été résolu avant de lire le message de DZDomi. Il s'est avéré soudainement qu'il y avait un paramètre dans la console développeur de Google que vous devez activer. Dans la section "Achats via l'application", il y a une ligne pour votre produit et à l'extrême droite, il y a un statut pour celui-ci. Il devrait être ACTIF!
la source
mon problème était que j'ai essayé de le vérifier avec le debug.keystore, je veux dire le faire fonctionner via eclipse.Je l'ai exporté avec le keystore avec lequel j'ai publié en mode alpha (il doit être publié avant de pouvoir le tester). mon téléphone et que je pouvais le tester normalement.
la source
Le problème se produit également lorsque vous avez ajouté un achat dans l'application 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 avoir publié l'apk dans le Play Store (alpha, beta et production). Sinon, vous ne pourrez pas acheter ou demander l'achat In-App.
la source
Une autre raison non mentionnée ici est que vous devez tester sur un appareil réel. L'émulateur devenant vraiment bon, c'est une erreur facile à faire.
la source
Google a récemment mis en œuvre un changement sur leurs systèmes, et puisque vous avez téléchargé au moins un APK sur votre console, vous pouvez tester vos demandes dans l'application avec votre application avec n'importe quel code / numéro de version.
LIEN de référence croisée
la source
SOLUTION
Attendez un peu après le téléchargement de votre application sur le Play Store, car Google met un certain temps à mettre à jour les versions de l'application.
la source
J'ai le même problème dans la moto c2 + dans mon cas, c'est un problème de périphérique une fois que je redémarre, il fonctionnera parfaitement ...
la source