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!
Merchant Account
, unterscheidet sich vom Gerätekonto.Antworten:
Meine Erfahrung mit diesem Fehler ist:
Stellen Sie sicher, dass Sie die signierte APK auf die Entwicklerkonsole hochladen.
Stellen Sie sicher, dass Sie die signierte APK auf Ihrem Gerät installieren und die App nicht im Debugger starten.
Stellen Sie sicher, dass Sie ein Testkonto in Ihrer Entwicklerkonsole erstellen.
Richten Sie Ihr Testkonto ein
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.)
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".
quelle
Hier sind einige Dinge zu überprüfen:
Was es nach 6 Stunden für mich getan hat, war dieser letzte Teil:
AKTUALISIEREN
quelle
Dies geschieht, wenn sich das Produkt
Inactive
im Play Store befindet undActivate
das Produkt einwandfrei funktionieren sollte.quelle
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.
quelle
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
quelle
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.
quelle
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.quelle
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
quelle
Bitte überprüfen Sie, ob Sie dieselbe E-Mail-ID für das Testkonto verwenden oder nicht
quelle
Neueste Ergänzungen (2016/11):
Der Tester muss die Testanforderung akzeptieren, die über den Link von der Developer Console (Abschnitt: APK) stammt.
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.
quelle
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.
quelle
"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
quelle
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.
quelle
Es gibt drei Möglichkeiten:
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.
quelle
Gehen Sie folgendermaßen vor, um dieses Problem zu lösen:
Erstellen Sie das Produkt auf der Google Play-Entwicklerkonsole.
Speichern und auf "Aktiv" setzen.
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.
quelle
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.
quelle
Beim Kauf eines In-App-Abonnements hatte ich alle Dinge aus der folgenden Liste am richtigen Ort.
Signierte apk erstellt und im Alpha-Kanal veröffentlicht
Tester-E-Mail-IDs zum Lizenztest hinzugefügt
Tester-E-Mail-IDs zum Alpha-Test mit geschlossener Spur hinzugefügt
Ich habe mich dafür entschieden , ein Tester zu sein
Die Test -ID unterschied sich von der ID des Entwicklerkontos
War auf Android-Gerät und nicht auf Emulator
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.
quelle