Der von Ihnen angeforderte Artikel kann nicht gekauft werden

95

Ich versuche, In-App-Käufe für Android Market in meine App zu integrieren, stoße aber leider jedes Mal auf einen nervigen Fehler, wenn ich versuche, ein echtes Inapp-Produkt zu kaufen.

Ich habe die Beispielanwendung (Dungeons) genommen und meiner App hinzugefügt. Ich habe den öffentlichen Schlüssel aktualisiert und auch die Liste der Produkte auf Folgendes aktualisiert:

/ ** Eine Reihe von Produktlisteneinträgen für die Produkte, die gekauft werden können. * /

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

};

Ich habe die Anwendung mit Eclipse exportiert, auf meinem Telefon installiert und auf die Android Market-Website hochgeladen. Auch auf der Android Market-Website habe ich als In-App-Kauf voll hinzugefügt und veröffentlicht.

Ich habe auch mein Google Mail-Konto als Testkonto hinzugefügt (das ist das Konto, bei dem ich auf meinem Telefon angemeldet bin).

Wenn ich die Anwendung auf meinem Telefon ausführe, erhalte ich eine Nachricht, die Sie angefordert haben und die nicht zum Kauf verfügbar ist. Die Android-Nachricht wird angezeigt, wenn ich versuche, sie vollständig zu kaufen. Wenn ich jedoch beispielsweise android.test.purchased versuche, funktioniert sie absolut einwandfrei.

In der Dokumentation zu dem Artikel, den Sie angefordert haben und der nicht für Android verfügbar ist, heißt es:

Zeigt an, dass Android Market das angeforderte Element nicht in der Produktliste der Anwendung finden kann. Dies kann passieren, wenn die Produkt-ID in Ihrer REQUEST_PURCHASE-Anforderung falsch geschrieben ist oder wenn ein Artikel nicht in der Produktliste der Anwendung veröffentlicht ist.

Die Produkt-ID ist definitiv dieselbe, sie ist definitiv veröffentlicht und die Anfrage muss in Ordnung sein, da es sich um die Beispielanwendung handelt.

ich benutze die gleiche version von apk und ich habe auch inapp produkte veröffentlicht und apk auch aktiviert. Aber ich stehe immer noch vor dem gleichen Problem. Bitte helfen Sie mir, es zu beheben.

Irgendwelche Gedanken wären dankbar!

Laxman
quelle
1
Sie veröffentlichen Ihr Produkt?
Mohsin Naeem
Das Google-Konto, für das Sie verwendet haben Merchant Account, unterscheidet sich vom Gerätekonto.
Mohsin Naeem
1
Stellen Sie sicher, dass das Produkt, das Sie im Play Store hinzugefügt haben, den Status "aktiv"
Ali
Stellen Sie sicher, dass Ihre Tester auf den Opt-In-Link geklickt haben ...
Pixel

Antworten:

181

Meine Erfahrung mit diesem Fehler ist:

  1. Stellen Sie sicher, dass Sie die signierte APK auf die Entwicklerkonsole hochladen.

  2. Stellen Sie sicher, dass Sie die signierte APK auf Ihrem Gerät installieren und die App nicht im Debugger starten.

  3. Stellen Sie sicher, dass Sie ein Testkonto in Ihrer Entwicklerkonsole erstellen.

  4. Richten Sie Ihr Testkonto ein

    1. Stellen Sie sicher, dass Sie Ihr Gerät mit Ihrem Testkonto anmelden.
    2. Stellen Sie bei geschlossenen Alpha / Beta-Tests sicher, dass Sie Ihr Testkonto zur ausgewählten Testergruppe hinzugefügt haben. Dies können Sie auf der Seite zur Verwaltung Ihrer Alpha / Beta-Version tun.
    3. Stellen Sie bei geschlossenen Alpha / Beta-Tests sicher, dass Ihr Testkonto die Teilnahme am Testen dieser Anwendung über einen speziellen Einladungslink akzeptiert hat
  5. Stellen Sie sicher, dass Sie eine App-Abrechnung in Ihrer Entwicklerkonsole erstellen und das Element schließlich über die Konsole aktivieren !!! (Dies ist derjenige, der mich dazu gebracht hat, das Tutorial von Google vollständig zu befolgen.)

  6. Stellen Sie sicher, dass VersionCode und VersionName im Manifest mit der Version in der Entwicklerkonsole übereinstimmen (Alpha, Beta oder Produktion. Entwürfe funktionieren nicht mehr). @alexgophermix Antwort hat bei mir funktioniert.

Wenn Sie Zahlungen ohne tatsächliche Geldabhebung testen möchten, müssen Sie Ihr Testkonto zusätzlich zu einer anderen speziellen Liste von Konten "Google Mail-Konten mit Testzugriff" hinzufügen. Diese finden Sie in der Einstellung des Spielkontos (nicht Projekt!). Auf der Seite, auf der eine Liste Ihrer Projekte angezeigt wird, gehen Sie zu den Einstellungen. Auf der Seite "Kontodetails" (nach unten scrollen, fast am Ende der Seite) finden Sie die Liste "Google Mail-Konten mit Testzugriff".

Pinux
quelle
5
Denken Sie immer daran, die Anwendung mit einem signierten Build zu testen. +1
Vamsi Challa
36
Stellen Sie sicher, dass VersionCode und VersionName im Manifest mit der Version in der Entwicklerkonsole übereinstimmen (Alpha, Beta oder Produktion. Entwürfe funktionieren nicht mehr). @alexgophermix Antwort hat bei mir funktioniert. +1
i.shadrin
6
Stellen Sie außerdem sicher, dass sich der Testbenutzer für das Alpha angemeldet hat (wenn Sie dieses Objekt verwenden). Es reicht nicht aus, sie zum Lizenztest hinzuzufügen.
ADB
4
Stellen Sie sicher, dass Sie als Tester zugelassen wurden, indem Sie die Anmelde-URL öffnen und das Testkonto verwenden.
Bogumil
1
Die Versionscodes müssen übereinstimmen, danke für das Heads-up, was einen Moment purer Panik erspart hat.
Meanman
97

Hier sind einige Dinge zu überprüfen:

  1. Sie haben gerade eine apk erstellt und Sie haben veröffentlichen es die Googleplay- Dashboard in Alpha oder Beta .
  2. Die App im GooglePlay-Dashboard befindet sich NICHT im Entwurfsmodus , sondern im veröffentlichten Modus (Sie müssen alle kleinen Kreise mit dem Häkchensymbol auf der linken Seite des Bildschirms grün machen, bevor Sie veröffentlichen können).
  3. Sie haben ein anderes Testkonto als das dem GooglePlay-Dashboard "angehängte" Konto eingerichtet. Sie können dies tun, indem Sie eine Google+ Gruppe erstellen, Ihr Testkonto zu dieser Gruppe hinzufügen und die Google+ Gruppe im GooglePlay-Dashboard angeben.
  4. Die Apk, mit der Sie den Kauf testen, hat denselben Versionscode und Versionsnamen und ist vor allem mit demselben Keystore signiert wie die Apk, die Sie im Store veröffentlicht haben.
  5. Sie warten einige Stunden, bis Sie etwas im Dashboard ändern, damit sich die Änderungen verbreiten. Dies dauert einige Stunden.
  6. Stellen Sie sicher, dass der SKU-Wert ein gültiger SKU-Wert ist (vergleichen Sie ihn mit dem Wert , den Sie im GP-Dashboard eingegeben haben).
  7. Sie versuchen, einen bereits gekauften Artikel zu kaufen . Holen Sie sich die gekauften Artikel und zeigen Sie sie im Protokoll an, um festzustellen, ob dies der Fall ist. Wenn ja, verbrauchen Sie dieses Produkt oder erstatten Sie das Geld auf Ihr Testkonto (Sie müssen warten, bis sich die Rückerstattung verbreitet. Es dauert einige Stunden.)
  8. Stellen Sie sicher, dass die Inapps aktiv sind !

Was es nach 6 Stunden für mich getan hat, war dieser letzte Teil:

  1. Stellen Sie sicher, dass Sie mit dem Testkonto bei Google (in Ihrem Browser) angemeldet sind und diesen Link (rot markiert) öffnen und zustimmen, Tester zu werden !!!! http://i.stack.imgur.com/VSgAV.png

AKTUALISIEREN

  1. Wenn Sie Aromen verwenden, um Apks für verschiedene CPUs zu erstellen, und Sie für Arm, Armv7 und x86 erstellen und alle in den Store hochladen , denken Sie daran, eine davon zum Testen der Inapps zu verwenden. Wenn Sie einen "universellen" Build verwenden, der alle CPU-Bibliotheken enthält (im Grunde ein anderer Build als der im Store), funktioniert er nicht.
AndreiBogdan
quelle
14
Ich habe die gleiche Situation mit dir. Alle 1-8 sind kein Problem, aber es ist 9, das ist das Problem. Verschwende meinen ganzen Tag, um das zu finden. Du bist mein Lebensretter.
Paiboon Panusbordee
2
Ja, der letzte Teil ist am wichtigsten, anscheinend hat Google die Regeln geändert. Es funktioniert ohne Schritt 9, aber jetzt müssen Sie entweder für das Schließen der Beta oder für das Öffnen der Beta auf den Link klicken. Danke, Mann!
Siyuan Zhang
mein problem war 4. installierte apk versionscode war nicht der gleiche wie google play apk. Sobald ich die gleiche Version gemacht habe, hat es funktioniert. Diese Antwort ist wertvoll.
Thupten
Ich hasse diese "paar Stunden" Unsicherheit so sehr! Während dieser "paar Stunden" flippt mein Chef normalerweise aus! Übrigens, wenn Sie eine manuell installierte APK haben, erhalten Sie überhaupt kein Update! Und es ist dumm, dass das IAB mit einer eigenen signierten APK nicht funktioniert. Ich denke, wir müssen warten, bis das verdammte Update passiert!
WindRider
1
Vielen Dank für Schritt 9
zdd
45

Dies geschieht, wenn sich das Produkt Inactiveim Play Store befindet und Activatedas Produkt einwandfrei funktionieren sollte.

AnilPatel
quelle
Daran habe ich nie gedacht ...: D Danke, dass Sie mehr Stunden gespart haben!
Kamran Ahmed
Was meinst du mit Inaktiv ? Entwickler sollten nur die Alpha-Version der APK verwenden.
IgorGanapolsky
22

Dieser Fehler tritt auf, wenn alles, was Sie getan haben, perfekt ist. Sie haben signierte APK mit der richtigen Produkt-ID verwendet. Sie müssen jedoch beachten, dass das von Ihnen verwendete Konto möglicherweise nicht über die richtigen gültigen Kreditkartendaten verfügt .

Wenn Sie also ein Produkt auch mit Testkonto kaufen möchten , sollte dieses Konto über gültige Kreditdaten verfügen.

Nirali
quelle
Diese Antwort ist sowohl wahr als auch selten zu finden. Vielen Dank, dass Sie die Extrameile gegangen sind und keine weitere Antwort "Aktivieren Sie Ihr Produkt" hinzugefügt haben.
Don
22

Es gibt eine andere mögliche Ursache für diesen Fehler, die mich fast einen ganzen Tag lang verrückt gemacht hat, bis ich das Problem gefunden habe: die apk-Version. Wenn Sie mit einer lokalen apk (korrekt signiert, korrekter Schlüssel, korrekte Produkt-IDs) mit einer höheren Versionsnummer als der im Play Store hochgeladenen arbeiten, wird dieser Fehler ebenfalls angezeigt.

Hoffe das hilft jemandem

DavidBVal
quelle
Dies gibt keine Antwort auf die Frage. Sobald Sie einen ausreichenden Ruf haben, können Sie jeden Beitrag kommentieren . Geben Sie stattdessen Antworten, die nicht vom Fragesteller geklärt werden müssen . - Von der Überprüfung
tttony
10
Die Informationen dieser Antwort sind eigentlich gut zu wissen und könnten für einige Leute wie mich die richtige Antwort sein
AlexioVay
6
@tttony Ich habe auf eine andere Ursache des Fehlers hingewiesen, ich habe nicht um eine Klarstellung gebeten. Es ist nicht eine Hypothese oder die Frage, ob Sie manuell eine APK mit einer höheren Versionsnummer als die publizierten installieren, in-App - Käufe werden diese Fehler zurück.
DavidBVal
2
Es war eine sehr nützliche Information. Vielen Dank, dass Sie so viel Zeit gespart haben. Daumen hoch.
Aritra Roy
19

Vielleicht habe ich das falsch gemacht, aber Sie erhalten diesen Fehler auch, wenn die Version, auf der Sie testen, nicht als Alpha, Beta oder Production im Play Store ist.

Ich aktualisiere häufig meinen VersionCode und meinen Versionsnamen, während ich noch eine neue Version teste (VOR dem Hochladen in den Play Store), und erhalte dann diesen Fehler, wenn ich IAB-spezifische Funktionen teste.

alexgophermix
quelle
4
Warten Sie nach dem Hochladen in den Play Store mindestens 45 bis 90 Minuten, damit es funktioniert.
mm2001
9

Für meinen Fall muss man gehen, um einen Link von den APK-Registerkarten zu erhalten Opt-in URL. Öffnen Sie einen Browser und verwenden Sie den Link. Dann registrieren Sie sich auf dieser Seite als Tester.

Payne Chu
quelle
9

Sie müssen akzeptieren, Tester zu werden

Release-Verwaltung -> App-Releases -> Tester verwalten und dann diesen Link (Anmelde-URL) im Inkognito-Modus öffnen, um das Testerkonto anzumelden

Geben Sie hier die Bildbeschreibung ein

vuhung3990
quelle
Ich bin ein Tester und ich habe das gleiche Problem.
Jorgesys
4

Bitte überprüfen Sie, ob Sie dieselbe E-Mail-ID für das Testkonto verwenden oder nicht

Laxman
quelle
Wenn sich mein Gerät als eine andere E-Mail-ID anmeldet, ist dieses Problem behoben, nachdem ich die E-Mail-ID des Testkontos als primäre ID festgelegt habe.
Laxman
3
Dies gibt keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Sobald Sie einen ausreichenden Ruf haben, können Sie jeden Beitrag kommentieren .
Aziz Shaikh
Ich habe diesen Fehler erhalten, wenn sich mein Gerät als andere als die Testkonto-Mail-ID anmeldet (Testaccount-Mail-ID, die in der Entwicklerkonsole unter dem öffentlichen Schlüssel angegeben ist) .wenn ich die Testaccount-Mail-ID als primäre Mail-ID meines Geräts festgelegt habe
laxman
4

Neueste Ergänzungen (2016/11):

  1. Der Tester muss die Testanforderung akzeptieren, die über den Link von der Developer Console (Abschnitt: APK) stammt.

  2. App muss VERÖFFENTLICHT sein : Es ist in Ordnung, in Beta / Alpha-Tests zu veröffentlichen; INFO: Wenn Sie in der Entwicklerkonsole auf "Veröffentlichen" klicken, wird die App nur dann in der Produktion veröffentlicht, wenn Sie sie auf der Registerkarte "Produktion" (in Abschnitt APK) weitergeben.

PerfectGamesOnline.com
quelle
2

Wenn der Produktstatus "Inaktiv" ist, aktivieren Sie ihn. das für mich gelöst. Das Update von Google dauert natürlich eine Weile

Stellen Sie außerdem sicher, dass Ihre Testmail registriert wurde.

vijeth.ag
quelle
1

"Open Alpha Testing" oder "Open Beta Testing" lösten das Problem für mich, nachdem ich alle im Internet vorgeschlagenen Methoden ausprobiert hatte.

Gehen Sie zu Android Developer Console -> Ihre App -> APK und aktivieren Sie Open Alpha / Beta-Tests. Senden Sie den bereitgestellten Link an sich selbst oder an Tester.

Solange sie mit diesem Konto auf ihrem Android-Gerät angemeldet sind, können sie es testen.

Viel Glück

R_Paoa
quelle
1

Ich hatte das gleiche Problem: Die Lösung für mich bestand darin, die aktuelle Version Ihrer App in den Play Store hochzuladen. Wenn sie zum Testen verwendet wird, laden Sie sie auf den Alpha-Kanal oder den Beta-Kanal hoch. Ich habe dies getan und der Fehler ist verschwunden und die Preisangaben werden korrekt angezeigt.

Ameen Maheen
quelle
0

Es gibt drei Möglichkeiten:

  1. Speichern Sie Ihre APK bei Google Play als Entwurf und vergessen Sie nicht, diese zu aktivieren und Ihre Produkte mit eindeutigen IDs zu veröffentlichen.
  2. Überprüfen Sie, ob Ihre IDs mit den Produkt-IDs bei Google Play übereinstimmen.
  3. oder prüfen Sie, ob die Elementtypen gleich sind, z. B. in Google Play und Ihrem Code verwaltet.

Wenn Sie testen, müssen Sie die App nicht veröffentlichen . Speichern Sie es einfach als Entwurf. Und dann warten Sie einige Zeit, bis dies 2 bis 3 Stunden dauert, um dies zu aktivieren.

URAndroid
quelle
3
oben drei Bedingungen sind erfüllt, aber es zeigt den gleichen Fehler
laxman
0

Gehen Sie folgendermaßen vor, um dieses Problem zu lösen:

  1. Erstellen Sie das Produkt auf der Google Play-Entwicklerkonsole.

  2. Speichern und auf "Aktiv" setzen.

  3. Laden Sie die APK auf Google Play hoch.

Hinweis: Die In-App-Abrechnung funktioniert möglicherweise erst nach 6 Stunden Erstellung Ihres Produkts in Schritt 1.

inspiriertMichael
quelle
0

Die Antwort mit der höchsten Bewertung deckt so ziemlich alles ab. Wenn Sie jedoch genauso dumm waren wie ich, den App-Release-Prozess zu durchlaufen, um mit dem Testen von IAPs fortzufahren, sollten Sie die App im Play Store des Landes veröffentlichen, in dem Sie sie testen im! Eine einfache Möglichkeit, dies auf dem Gerät zu überprüfen, besteht darin, beim Öffnen der Test-Opt-In-URL auf den Link "Bei Google Play herunterladen" zu tippen. Wenn beim Versuch, über den Google Play Store zu öffnen, die Fehlermeldung "Artikel nicht gefunden" angezeigt wird, wurde Ihre App dort wahrscheinlich nicht veröffentlicht. Ich bin auf dieses Problem gestoßen, weil ich die signierte App über ADB korrekt von der Seite geladen habe und obwohl IAPs im Build angezeigt werden, wird diese Fehlermeldung angezeigt, wenn Sie versuchen, sie zu kaufen.

Sprince
quelle
0

Beim Kauf eines In-App-Abonnements hatte ich alle Dinge aus der folgenden Liste am richtigen Ort.

  1. Signierte apk erstellt und im Alpha-Kanal veröffentlicht

  2. Tester-E-Mail-IDs zum Lizenztest hinzugefügt

  3. Tester-E-Mail-IDs zum Alpha-Test mit geschlossener Spur hinzugefügt

  4. Ich habe mich dafür entschieden , ein Tester zu sein

  5. Die Test -ID unterschied sich von der ID des Entwicklerkontos

  6. War auf Android-Gerät und nicht auf Emulator

  7. Die App wurde aus dem Play Store heruntergeladen

Trotzdem wurde die Fehlermeldung angezeigt, dass der gesuchte Artikel nicht gefunden werden konnte .

Nachdem ich 2-3 Tage verschwendet hatte, stellte ich fest, dass es nur funktionierte, wenn ein Zahlungsmodus im Play Store eingerichtet war .

Während sich die meisten Antworten auf den alten IAB-Kauf beziehen und ich eine neue Abrechnungs-Client-API implementiert habe implementation 'com.android.billingclient:billing:1.0', war es nicht einfach, die Lösung herauszufinden.

Wenn dies bei jemandem der Fall ist, können Sie diesen Fehler möglicherweise durch Hinzufügen eines Zahlungsmodus beheben. Sie müssen eine hinzufügen, auch um sie zu testen. Für E-Mail-IDs, die als Lizenztester hinzugefügt wurden , wird jedoch keine Gebühr erhoben.

Biene
quelle