l'article que vous avez demandé n'est pas disponible à l'achat

95

J'essaie d'intégrer les achats intégrés de l'Android Market dans mon application, mais je rencontre malheureusement une erreur ennuyeuse chaque fois que j'essaie d'acheter un vrai produit inapp.

J'ai pris l'exemple d'application (Donjons) et l'ai ajouté à mon application. J'ai mis à jour la clé publique et également mis à jour la liste des produits comme suit:

/ ** Un tableau d'entrées de liste de produits pour les produits pouvant être achetés. * /

private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
    new CatalogEntry("full", "Full v", Managed.MANAGED),

};

J'ai exporté l'application à l'aide d'Eclipse, je l'ai installée sur mon téléphone et l'ai également téléchargée sur le site Web d'Android Market. Également sur le site Web de l'Android Market, j'ai ajouté la version complète en tant qu'achat intégré et je l'ai publiée.

J'ai également ajouté mon compte googlemail en tant que compte de test (c'est celui auquel je suis connecté sur mon téléphone).

Lorsque j'exécute l'application sur mon téléphone, j'obtiens un message Android de l'article que vous avez demandé non disponible à l'achat chaque fois que j'essaie de l'acheter complet, mais si j'essaye, par exemple, android.test.purchased, cela fonctionne parfaitement.

La documentation de l'article que vous avez demandé non disponible à l'achat Android indique ce qui suit:

Indique qu'Android Market ne trouve pas l'élément demandé dans la liste de produits de l'application. Cela peut se produire si l'ID de produit est mal orthographié dans votre demande REQUEST_PURCHASE ou si un article n'est pas publié dans la liste de produits de l'application.

L'ID de produit est définitivement le même, il est définitivement publié et la demande doit être traitée correctement car il s'agit de l'exemple d'application.

J'utilise la même version d'apk et j'ai également publié des produits inapp et activé apk également. mais je suis toujours confronté au même problème, aidez-moi s'il vous plaît à le résoudre.

Toute réflexion sera apprécié!

laxman
la source
1
vous publiez votre produit?
Mohsin Naeem
le compte Google que vous avez utilisé Merchant Accountest différent du compte de l'appareil?
Mohsin Naeem
1
Assurez-vous que le produit que vous avez ajouté sur le Play Store affiche le statut "actif"
Ali
Assurez-vous que vos testeurs ont cliqué sur le lien d'activation ...
Pixel

Réponses:

181

Mon expérience sur cette erreur est:

  1. Assurez-vous de téléverser l'APK signé dans la console développeur.

  2. Assurez-vous d'installer l'APK signé sur votre appareil et non de lancer l'application dans le débogueur.

  3. Assurez-vous de créer un compte de test dans votre console développeur.

  4. Configurer votre compte de test

    1. Assurez-vous de vous connecter à votre appareil avec votre compte de test.
    2. Dans le cas d'un test alpha / bêta fermé, assurez-vous d'avoir ajouté votre compte de test au groupe de testeurs sélectionné, vous pouvez le faire sur la page de gestion de votre version alpha / bêta.
    3. En cas de test alpha / bêta fermé, assurez-vous que votre compte de test a accepté la participation au test de cette application via un lien d'invitation spécial
  5. Assurez-vous de créer la facturation dans l'application dans votre console développeur et enfin d'activer l'élément depuis la console !!! (c'est celui qui m'a obtenu après avoir suivi complètement le tutoriel de google)

  6. Assurez-vous de définir VersionCode et VersionName dans le fichier manifeste pour être identiques à la version de la console développeur (Alpha, Bêta ou Production. Les brouillons ne fonctionnent plus). La réponse @alexgophermix a fonctionné pour moi.

Si vous cherchez à tester des paiements sans retrait d'argent réel, vous devez en outre ajouter votre compte de test à une autre liste spéciale de comptes "Comptes Gmail avec accès de test", vous pouvez le trouver sur le paramètre de compte de jeu (pas de projet!). Sur la page où vous pouvez voir une liste de vos projets, allez dans les paramètres, puis sur la page "Détails du compte" (faites défiler vers le bas, c'est presque en bas de page), vous trouverez la liste "Comptes Gmail avec accès test".

pinux
la source
5
N'oubliez pas de tester l'application à l'aide de la version signée. +1
Vamsi Challa
36
Assurez-vous de définir VersionCode et VersionName dans le manifeste pour qu'ils soient identiques à la version de la console développeur (Alpha, Bêta ou Production. Les brouillons ne fonctionnent plus). La réponse @alexgophermix a fonctionné pour moi. +1
i.shadrin
6
De plus, assurez-vous que l'utilisateur de test a opté pour l'Alpha (si vous utilisez cet obv). Il ne suffit pas de les ajouter au test de licence.
ADB
4
Assurez-vous d'avoir accepté de devenir testeur en ouvrant l'URL d'activation et en utilisant le compte de test.
bogumil
1
Les codes de version doivent correspondre, merci pour la mise en garde, ce qui a sauvé un moment de panique.
Meanman
97

Voici quelques éléments à vérifier:

  1. Vous avez créé un apk et l'avez publié dans le tableau de bord GooglePlay en version alpha ou bêta .
  2. L'application dans le tableau de bord GooglePlay n'est PAS en mode Brouillon , mais en Publiée (vous devrez rendre verts tous les petits cercles avec l'icône de coche sur le côté gauche de l'écran avant de pouvoir publier).
  3. Vous avez défini un autre compte de test que celui qui est "associé" au tableau de bord GooglePlay. Pour ce faire, créez un groupe Google+, ajoutez votre compte de test à ce groupe et spécifiez le groupe Google+ dans le tableau de bord GooglePlay.
  4. L'apk que vous utilisez pour tester l'achat a le même code de version, le même nom de version et, surtout, il est signé avec le même keystore que l'apk que vous avez publié dans le magasin.
  5. Vous attendez quelques heures entre le moment où vous modifiez quelque chose dans le tableau de bord pour que les modifications se propagent. Cela prend quelques heures.
  6. Assurez-vous que la valeur sku est une valeur sku valide (comparez-la avec celle que vous avez entrée dans le tableau de bord GP).
  7. Vous essayez d'acheter un article déjà acheté . Obtenez les articles achetés et affichez-les dans le journal pour voir si oui. Si tel est le cas, consommez ce produit ou remboursez votre compte de test (vous devrez attendre que le remboursement se propage. Cela prend quelques heures).
  8. Assurez-vous que les Inapps sont actifs !

Ce qui m'a fait, après 6 heures, c'est cette dernière partie:

  1. Assurez-vous que vous êtes connecté à google (dans votre navigateur) avec le compte de test et que vous ouvrez ce lien (marqué en rouge) et que vous acceptez de devenir testeur !!!! http://i.stack.imgur.com/VSgAV.png

METTRE À JOUR

  1. Si vous utilisez des saveurs pour créer des apks ciblant différents processeurs et que vous construisez pour arm, armv7 et x86 et que vous les téléchargez tous dans le magasin, n'oubliez pas d'utiliser l'un d'eux pour tester les inapps. Si vous utilisez une version "universelle" qui contient toutes les bibliothèques CPU (fondamentalement une autre version que celle du magasin), cela ne fonctionnera pas.
AndreiBogdan
la source
14
J'ai la même situation avec toi. tout 1-8 n'est pas un problème mais c'est 9 c'est le problème. Perdre ma journée entière pour trouver ça. Tu es mon sauveur de vie.
Paiboon Panusbordee
2
Oui, la dernière partie est la plus importante, semble que Google ait changé les règles, il fonctionnait sans l'étape 9, mais maintenant, pour la version bêta fermée ou ouverte, vous devez cliquer sur le lien. Merci mec!
Siyuan Zhang
mon problème était 4. le code de version de l'apk installé n'était pas le même que celui de google play apk. Une fois que j'ai fait la même version, cela a fonctionné. Cette réponse est précieuse.
Jeudi
Je déteste tellement cette incertitude de "quelques heures"! Pendant ces "quelques heures", mon patron panique habituellement! Btw, si vous avez un APK installé manuellement, vous ne recevrez aucune mise à jour! Et c'est stupide qu'avec son propre APK signé, l'IAB ne fonctionne pas. Je suppose que nous devons attendre la putain de mise à jour!
WindRider
1
Merci pour l'étape 9
zdd
45

Cela se produit lorsque le produit est Inactivesur le Play Store, Activatele produit et cela devrait fonctionner correctement.

AnilPatel
la source
Jamais pensé à ça ...: D Merci d'avoir gagné plus d'heures!
Kamran Ahmed
Qu'entendez-vous par inactif ? Les développeurs doivent simplement utiliser la version Alpha de l'APK.
IgorGanapolsky
23

Il y a une autre cause possible à cette erreur, qui m'a presque rendu fou pendant une journée entière jusqu'à ce que je trouve quel était le problème: la version apk. Si vous travaillez avec un apk local (correctement signé, clé correcte, bons ID de produit) avec un numéro de version supérieur à celui téléchargé sur le Play Store, vous obtiendrez également cette erreur.

J'espère que cela aide quelqu'un

DavidBVal
la source
Cela ne répond pas à la question. Une fois que vous aurez une réputation suffisante, vous pourrez commenter n'importe quel message ; au lieu de cela, fournissez des réponses qui ne nécessitent pas de clarification de la part du demandeur . - De l'avis
tttony
11
Les informations de cette réponse sont en fait bonnes à savoir et pourraient être la bonne réponse pour certaines personnes comme moi
AlexioVay
6
@tttony J'ai signalé une autre cause de l'erreur, je n'ai demandé aucune clarification. Ce n'est pas une hypothèse ou une question, si vous installez manuellement un APK avec un numéro de version supérieur à celui publié, les achats intégrés renverront cette erreur.
DavidBVal
2
C'était une information très utile à avoir. Merci beaucoup d'avoir gagné autant de temps. Pouces vers le haut.
Aritra Roy
22

Cette erreur survient lorsque tout ce que vous avez fait est parfait, que vous avez utilisé un APK signé avec le bon identifiant de produit, mais vous devez noter que le compte que vous utilisez peut ne pas avoir les informations de carte de crédit valides appropriées .

Ainsi, chaque fois que vous souhaitez acheter un produit, même avec un compte de test , ce compte doit avoir des détails de crédit valides.

Nirali
la source
Cette réponse à la fois vraie et rare à trouver. Merci beaucoup d'avoir fait un effort supplémentaire et de ne pas avoir ajouté une autre réponse «Activez votre produit».
Don
19

Peut-être que j'ai mal fait cela, mais vous obtiendrez également cette erreur si la version que vous testez n'est pas sur le Play Store en tant qu'alpha, bêta ou production.

Je mets souvent à jour mon VersionCode et VersionName tout en testant encore une nouvelle version (AVANT de télécharger sur Play Store) et puis je me retrouve avec cette erreur lorsque je vais tester les fonctionnalités spécifiques de l'IAB.

alexgophermix
la source
4
Et attendez également au moins 45 à 90 minutes après le téléchargement sur le Play Store pour qu'il commence à fonctionner.
mm2001
9

Pour mon cas, il faut aller chercher le lien depuis l'onglet APK Opt-in URL. Ouvrez un navigateur et utilisez le lien. Ensuite, inscrivez-vous en tant que testeur sur cette page.

Payne Chu
la source
9

vous devez accepter de devenir testeur

Gestion des versions -> versions de l'application -> gérer le testeur, puis ouvrir ce lien (URL d'activation) en mode navigation privée pour vous connecter au compte du testeur

entrez la description de l'image ici

vuhung3990
la source
Je suis un testeur et j'ai le même problème.
Jorgesys
4

veuillez vérifier si vous utilisez le même identifiant de messagerie de compte de test ou non

laxman
la source
ha mon appareil se connecte comme un autre identifiant de messagerie, après avoir défini l'identifiant de messagerie de testaccount est l'identifiant principal, ce problème est résolu.
laxman
3
Cela ne répond pas à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son message - vous pouvez toujours commenter vos propres articles, et une fois que vous avez une réputation suffisante, vous pourrez commenter n'importe quel article .
Aziz Shaikh
J'ai eu cette erreur lorsque mon appareil se connecte en tant qu'identifiant de messagerie autre que l'ID de messagerie du compte de test (ID de messagerie de testaccount spécifié dans la console du développeur sous la clé publique) .si je définis l'ID de messagerie de testaccount comme ID de messagerie principal de mon appareil
laxman
4

Derniers ajouts (2016/11):

  1. le testeur doit ACCEPTER la demande de test issue du lien extrait de la Developer Console (section: APK)

  2. l'application doit être PUBLIÉE : il est possible de publier en version bêta / alpha; INFO: si vous cliquez sur "Publier" dans la Developer Console, l'application ne sera pas publiée sur Production sauf si vous la propagez dans l'onglet Production (dans la section APK);

PerfectGamesOnline.com
la source
2

Si le statut du produit est "Inactif", activez-le. ce résolu pour moi. Bien sûr, la mise à jour de Google prend un certain temps

Assurez-vous également que votre courrier de test a été enregistré.

vijeth.ag
la source
1

"Open Alpha Testing" ou "Open Beta Testing" a résolu le problème pour moi, après avoir essayé toutes les méthodes suggérées partout sur Internet.

Accédez à Android Developer Console -> Votre application -> APK, puis choisissez d'utiliser les tests Open Alpha / Beta. Envoyez le lien fourni à vous-même ou aux testeurs.

Tant qu'ils sont connectés avec ce compte sur leur appareil Android, ils peuvent le tester.

Bonne chance

R_Paoa
la source
1

J'ai été confronté au même problème, la solution pour moi était de télécharger la version actuelle de votre application sur le Play Store.Si c'est pour le test, téléchargez-la sur le canal Alpha ou Bêta, j'ai fait cela et l'erreur a disparu et les détails de prix sont affichés correctement.

Ameen Maheen
la source
0

Il pourrait y avoir trois possibilités:

  1. Enregistrez votre APK sur Google Play en tant que brouillon et n'oubliez pas de l'activer et de publier vos produits avec des identifiants uniques.
  2. Vérifiez que vos identifiants sont identiques aux identifiants de produit sur Google Play.
  3. ou vérifiez si les types d'éléments sont les mêmes, par exemple, gérés à la fois dans Google Play et dans votre code.

Si vous testez, pas besoin de publier l'application. Enregistrez-le simplement en tant que brouillon. Et puis attendre un certain temps peut être de 2 à 3 heures pour l'activer.

URAndroid
la source
3
au-dessus de trois conditions sont satisfaites mais il affiche la même erreur
laxman
0

Afin de résoudre ce problème, procédez comme suit:

  1. Créez le produit sur la console développeur de Google Play.

  2. Enregistrez-le et réglez-le sur "Actif".

  3. Téléchargez l'APK sur Google Play.

NB La facturation via l'application peut ne pas fonctionner avant 6 heures après la création de votre produit à l'étape 1.

inspiréMichael
la source
0

La réponse la plus votée couvre à peu près tout, mais si vous étiez aussi stupide que moi de vous précipiter dans le processus de publication de l'application afin de continuer à tester les IAP, assurez-vous de publier l'application dans le Play Store du pays que vous testez. dans! Un moyen simple de vérifier cela sur l'appareil consiste à appuyer sur le lien `` télécharger sur Google Play '' lors de l'ouverture de l'URL d'activation du test. Si vous obtenez une erreur "Élément non trouvé" lors de la tentative d'ouverture via le Google Play Store, il est probable que votre application n'y ait pas été publiée. J'ai rencontré ce problème parce que je chargeais correctement l'application signée via ADB et bien que les IAP apparaîtront dans la version, vous obtiendrez cette erreur lorsque vous essayez de les acheter.

sprince
la source
0

Lors de l'achat d'un abonnement intégré à l'application, j'avais toutes les choses de la liste ci-dessous au bon endroit.

  1. Créé apk signé et publié sur le canal alpha

  2. Ajout des identifiants de messagerie du testeur aux tests de licence

  3. Ajout des identifiants de messagerie du testeur aux tests alpha en piste fermée

  4. A choisi de devenir testeur

  5. L'ID de test était différent de l'ID du compte de développeur

  6. Était sur un appareil Android et non sur un émulateur

  7. Téléchargé l'application depuis le Play Store

J'obtenais toujours cette erreur disant "L'article que vous recherchiez est introuvable" .

Après avoir perdu 2-3 jours, j'ai découvert que cela ne fonctionnait que si un mode de paiement était configuré dans le Play Store .

Bien que la plupart des réponses soient liées à l'ancien achat IAB et que j'ai implémenté une nouvelle API client de facturation qui est - implementation 'com.android.billingclient:billing:1.0' , il n'a pas été facile de trouver la solution.

Si c'est le même cas pour quelqu'un, l'ajout d'un mode de paiement peut vous aider à surmonter cette erreur. Vous devez en ajouter un même pour le tester, cependant, il ne sera pas facturé pour les identifiants de messagerie ajoutés en tant que testeurs de licence.

abeille
la source