374 Stimmen

Diese Version der Anwendung ist nicht für die Abrechnung über Google Play konfiguriert

Wenn ich versuche, meine Anwendung mit In-App-Billing auszuführen, erhalte ich die Fehlermeldung: "Diese Version der Anwendung ist nicht für die Abrechnung über Google Play konfiguriert. Weitere Informationen finden Sie im Hilfecenter".

Ich habe die Berechtigung zur Rechnungsstellung bereits in der Manifestdatei und ich habe eine signierte .apk als Entwurf auf Google Play hochgeladen und ich habe diese signierte apk auch auf meinem Telefon installiert.

Kann mir jemand helfen, wie ich dieses Problem lösen kann?

3voto

Im Gegensatz zu vielen Antworten und Kommentaren auf SO und anderen Seiten müssen Sie KEINE Vorabtests mit einer Alpha-/Beta-Version Ihres Produkts durchführen, die Sie von Google Play auf Ihr Testgerät heruntergeladen haben (der Prozess der Alpha-/Beta-Veröffentlichung verschlingt oft einen halben Tag). Ebenso wenig müssen Sie eine signierte Release-APK von Ihrem Entwicklerstudio auf Ihr Testgerät laden und erneut laden.

Sie KÖNNEN vorläufige Google Play In-App-Abrechnungsdienste debuggen, indem Sie die Debug-App, die Sie aus Ihrem Entwicklerstudio geladen haben, über ADB direkt auf Ihr Testgerät übertragen. Wenn Sie auf Fehler stoßen, die dies verhindern, haben Sie wahrscheinlich etwas in Ihrem Code falsch gemacht. Achten Sie besonders auf den CASE Ihrer SKUs (Produkt-IDs) und deren Format (wenn Sie Ihre APK z. B. als com.mydomain.my_product_id laden, stellen Sie sicher, dass Sie versuchen, sie auf diese Weise zu kaufen - mit demselben Case und derselben Domain). Achten Sie auch besonders auf Ihren itemType - dieser sollte entweder "inapp" oder "subs" für verwaltete/unverwaltete In-App-Käufe bzw. Abonnements sein.

Wie von Chirag Patel vorgeschlagen, führen Sie alle Tests mit der Android.test.purchased Sku (Produkt-ID) während der ersten Tests durch, vorausgesetzt, Sie haben Ihren Abrechnungscode richtig eingerichtet. Überprüfen Sie diese ID während Ihrer gesamten Abrechnungsvorgänge, um sie durch Signatur-, Token- und Nutzlastprüfungen zu leiten, da diese Daten nicht vom Google-Testsystem bereitgestellt werden. Geben Sie außerdem einem Ihrer Testprodukte diese ID, um den Kauf, das Entsperren/Laden und die Präsentation in Ihrem Schema zu testen. Um den Kauf zu LÖSCHEN, konsumieren Sie ihn einfach, indem Sie dieselbe Sku UND einen so formatierten Token-String übergeben - andere Felder sind nicht relevant:

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

Sobald Sie diese Testphase abgeschlossen haben, gehen Sie mit Ihrem Alpha-/Beta-Produkt zum Semi-Live-Test über. Erstellen Sie eine Google-Gruppe (im Wesentlichen eine Mailingliste), fügen Sie ihr die E-Mails Ihrer Testnutzer hinzu und laden Sie diese Gruppe ein, Ihr Gerät in dieser Phase zu testen (dies geschieht über den "APK"-Teil des Google-Entwicklereintrags Ihrer App). Einkäufe werden simuliert, aber nicht tatsächlich belastet. Um die Einkäufe zu löschen und erneut zu testen, weist Google darauf hin, dass Sie sie aus Ihrer Google-Geldbörse erstatten müssen. Dies ist die einzige Testphase, die den zeitaufwändigen Prozess der Verwendung von Alpha/Beta-Loads und Testnutzern erfordert.

2voto

Søren Punkte 21

Hatte das gleiche Problem, und es war nicht gelöst, bevor ich den Beitrag von DZDomi las. Plötzlich fiel mir ein, dass es eine Einstellung in der Google Developer Console gibt, die Sie aktivieren müssen. Im Abschnitt "In-App-Käufe" gibt es eine Zeile für Ihr Produkt und ganz rechts ist ein Status für dieses Produkt. Er sollte AKTIV sein!

2voto

goRGon Punkte 4322

In meinem Fall sah ich die gleiche Meldung aufgrund der unterschiedlichen Signaturen der installierten apk und einer auf den Markt hochgeladenen apk.

1voto

Pablo Punkte 1318

Wenn Sie IAB debuggen wollen, müssen Sie Folgendes tun:

  1. Reichen Sie bei Google Play eine Version Ihrer App mit der IAB-Erlaubnis im Manifest ein:

  2. Fügen Sie ein Produkt zu Ihrer App auf Google Play hinzu: Verwalten von In-App-Rechnungen

  3. Setzen Sie einen benutzerdefinierten Debug-Keystore signiert: Konfigurieren Sie Eclipse für die Verwendung eines signierten Keystores

1voto

JDenais Punkte 2874

Ein weiterer, hier nicht genannter Grund ist, dass Sie auf einem echten Gerät testen müssen. Mit dem Emulator immer wirklich gut, es ist ein leichter Fehler zu machen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X