Cette version de L'application N'est pas configurée pour la facturation via Google Play

quand j'essaie d'exécuter mon application avec la facturation In-app, je reçois l'erreur: "Cette version de l'application n'est pas configurée pour la facturation via Google Play. Vérifiez le centre d'aide pour plus d'informations".

j'ai l'autorisation de facturation déjà dans le fichier Manifeste et j'ai signé .apk téléchargé comme un projet sur Google Play et j'ai également installé ce même apk signé sur mon téléphone.

comment résoudre ce problème?

222
demandé sur Gatekeeper 2012-06-17 07:20:22

17 réponses

Cette erreur peut être causée par plusieurs raisons.

Voici la liste des exigences pour les tests Google IAB.

conditions préalables:

  1. AndroidManifest doit inclure com".Android.distributeur.BILLING "permission .
  2. APK est construit en mode de libération .
  3. APK signé avec la certificat(s) de mainlevée .
  4. APK est chargé sur alpha/beta distribution canal (précédemment-comme un brouillon) à la console du développeur au moins une fois. (prend un certain temps ~2h-24h ).
  5. IAB les produits sont publiés et leur statut est fixé à active .
  6. le(s) Compte (s) D'essai est (sont) Ajouté (s) console de développement.

exigences relatives aux essais:

  1. Test APK a le même code de version que celui téléchargé sur la console du développeur.
  2. Test APK est signé avec la même certificat(s) comme un téléchargés à dev.console.
  3. compte D'essai (Non développeur) - est le principal compte sur l'appareil.
  4. compte Test est opté-dans comme un testeur et il est lié à un mode de paiement valide . ( @Kyone )

P. S: Debugging with release certificate : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp for the link)

P. P. S: voulait faire cette liste depuis longtemps déjà.

Thnx @zlgdev , @Kyone pour les mises à jour

267
répondu Luten 2017-05-24 07:53:01

Ahh trouvé la solution après avoir essayé pendant quelques heures.

  1. Google prend un certain temps pour traiter les applications et les mettre à jour sur leurs serveurs, pour moi, il prend environ une demi-journée. Ainsi, après avoir enregistré l'apk comme une ébauche sur Google Play, vous devez attendre quelques heures avant que les produits In-app vont répondre normalement et permettre des achats réguliers.
  2. à l'Exportation et signe APK. APK non signé essayer de faire des achats va obtenir l'erreur.
182
répondu Gatekeeper 2012-11-13 00:15:49

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"

129
répondu sandalone 2012-07-09 12:31:11

vous devez signer votre APK avec votre certificat live. Alors installez ça sur votre appareil de test. Vous pouvez ensuite tester InAppBilling. Si vous testez votre application directement via eclipse vers le périphérique(en mode debug), alors vous obtiendrez cette erreur.

si vous utilisez android.test.purchased comme le SKU, il fonctionnera tout le chemin, mais vous n'aurez pas le developerPayload dans votre réponse finale.

si vous utilisez votre propre draft dans la rubrique app, vous pouvez test tout le chemin, mais vous serez facturé et devra donc rembourser vous-même après.

vous ne pouvez pas acheter des articles avec le même compte gmail que vous utilisez pour la console de développement google play.

45
répondu Chirag Patel 2013-12-07 03:12:05

si vous êtes ici à partir de 2018, vous devez télécharger L'APK directement depuis Play Store et installer L'APK" dérivé". Peut-être est-ce parce que le magasin de jeu de Google a une fonctionnalité "App Signing by Google Play".

4
répondu Law Gimenez 2018-05-18 12:37:40

Permettez-moi seulement 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 que chaque fois que je cours, attendu signé apk est installé. Mais le type de construction 'debug' a été sélectionné.

ci-dessous a résolu le problème pour moi.

  • produit apk signé du type de construction 'release'.
  • installé manuellement l'apk.
3
répondu Shree Harsha S 2016-01-02 15:48:24

cela se produira si vous utilisez une version de l'apk différente de celle de google play.

2
répondu Amalka 2013-11-25 07:49:13

dans mon cas, j'ai vu le même message en raison des différentes signatures de l'apk installé et un téléchargé sur le marché apk.

1
répondu goRGon 2013-11-06 22:37:24

contrairement à de nombreuses réponses et commentaires sur SO et d'autres sites, vous n'avez pas à effectuer des tests préliminaires avec une version alpha/bêta de votre produit qui a été téléchargé à partir de Google Play sur votre appareil de test (le processus de publication alpha/bêta consomme souvent une demi-journée). Vous n'avez pas non plus à charger et recharger un apk de sortie signé de votre studio de développement sur votre appareil de test.

vous pouvez déboguer préliminaire Google Play dans les services de facturation app en utilisant le déboguez l'application chargée depuis votre studio de développement directement sur votre périphérique de test via ADB. Si vous rencontrez des erreurs qui empêchent cette, probable que vous avez fait quelque chose de mal dans votre code. Faites particulièrement attention au cas de vos SKU (product ids) et à leur format (par exemple, si vous chargez votre APK COMME com.mydomain.my_product_id, soyez sûr que vous essayez de l'acheter de cette façon - en fournissant le même cas et le même domaine). Aussi, faites particulièrement attention à votre ArticleType - cela devrait être soit "inapp" ou "subs" pour des achats ou des souscriptions d'applications gérées/non gérées, respectivement.

comme suggéré par Chirag Patel, à condition que vous avez votre code de facturation correctement établie, effectuer tous les tests en utilisant l'android.test.acheté Sku (product ID) lors de vos tests préliminaires. Vérifiez cette ID tout au long de vos opérations de facturation pour la passer par les contrôles de signature, token et payload, car ces données ne sont pas fournies par le système de test Google. Outre, donnez cet ID à l'un de vos produits de test pour tester son achat, déverrouiller/charger et sa présentation tout au long de votre schéma. Pour effacer l'achat, il suffit de le consommer, en passant le même Sku et une chaîne de caractères formatée de cette façon - aucun autre champ n'est pertinent :

    "inapp:"+appContext.getAppContext().getPackageName()+":android.test.purchased";

une fois que vous avez terminé cette phase de test, passez à un test semi-direct avec votre produit alpha/beta. Créer un groupe Google (essentiellement une liste de diffusion), y ajouter vos e-mails d'utilisateurs de test, et ajoutez/invitez ce groupe à tester votre appareil dans cette phase (réalisée dans la partie "APK" de la liste des développeurs Google de votre application). Les achats seront simulés mais ne seront pas réellement facturés - Cependant, pour effacer et tester à nouveau les achats, Google indique que vous devez les rembourser à partir de votre portefeuille Google. Il s'agit de la seule phase d'essai qui nécessite le processus fastidieux d'utilisation des charges alpha/bêta et des utilisateurs d'essai.

1
répondu Epsilon3 2016-08-18 13:44:46

avait le même problème, et il n'a pas été résolu avant que je lise le post de DZDomi. Il s'est soudain produit qu'il y a un paramètre dans la Console de développement Google que vous devez activer. Dans la section" in app purchases", 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!

1
répondu Søren 2017-03-31 06:50:20

dans la console du développeur:

Settings -> Account details -> License Testing -> comptes Gmail avec accès testing

et tapez ici vos comptes

1
répondu Pablo Cegarra 2018-07-11 12:59:20

mon problème était que j'ai essayé de vérifier avec le débogueur.keystore, je veux dire le faire passer par eclipse.Je l'ai exporté avec le keystore avec lequel j'ai publié en mode alpha(il doit être publié avant que vous puissiez le tester).installé dans mon téléphone et que j'ai pu tester à nouveau normalement.

0
répondu Gal Rom 2014-09-28 10:04:55

Si vous souhaitez déboguer IAB ce que vous avez à faire est de:

  1. soumettre à google play une version de votre application avec la permission de L'IAB sur le manifeste:

  2. Ajouter un produit à votre application sur google play: administrer la facturation In-app

  3. définir un débogueur personnalisé keystore signé: configurer Eclipse pour utiliser signé keystore

0
répondu Pablo 2017-05-23 12:02:56

le problème se produit également, lorsque vous avez ajouté un achat In-app après avoir téléchargé l'apk, mais 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, bêta et production). Sinon, vous ne serez pas en mesure d'acheter ou de requête pour l'achat Dans l'Application.

0
répondu DZDomi 2016-08-22 13:54:36

une autre raison non mentionnée ici est que vous devez tester sur un appareil réel. Avec l'émulateur devenir vraiment bon, c'est une erreur facile à faire.

0
répondu JDenais 2018-01-22 15:58:02

SOLUTION

attendez juste un peu après avoir téléchargé votre application sur play store car google prend un certain temps pour mettre à jour les versions de l'application.Ça va marcher !

0
répondu Ali Akram 2018-06-04 09:46:47

récemment google a mis en œuvre un changement sur leurs systèmes, et depuis que vous avez téléchargé au moins un APK sur votre console, vous pouvez tester vos requêtes in-app avec votre application avec n'importe quel code / numéro de version.

Cross reference LINK

configurer gradle pour signer votre build de débogage.

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("my-release-key.jks")
            storePassword "password"
            keyAlias "my-alias"
            keyPassword "password"
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.release
            ...
        }
    }
}
-1
répondu Anoop M 2018-03-28 07:08:30