Seit einigen Tagen ist es möglich, die In-App-Abrechnung in Android-Apps zu verwenden. Sehr cool natürlich. Also begann ich an einem Update für meine Anwendung zu arbeiten, um dies zu implementieren. Aber jetzt habe ich einige Probleme. Das habe ich getan:
- Ich habe zuerst die reservierten Produkt-IDs ausprobiert, um statische In-App-Abrechnungsantworten zu testen. Das funktioniert ohne Probleme.
- Ich habe einen APK-Entwurf auf den Markt hochgeladen (mit Produktionssignatur, ohne Debug-Signatur), der die Berechtigung com.android.vending.BILLING enthielt.
- Als ich das tat, konnte ich meiner App auf dem Markt ein In-App-Produkt hinzufügen und den Status auf "Veröffentlicht" setzen.
- Ich habe einen Testbenutzer erstellt und mein Gerät zurückgesetzt, um diesen Testbenutzer zum primären Konto auf meinem Testgerät zu machen.
- Die reservierte Produkt-ID funktioniert noch.
Jetzt kommt das Problem. Wenn ich meine eigene Produkt-ID verwende (die ich zuvor hinzugefügt habe, siehe oben), wird ein Dialogfeld mit folgendem Text angezeigt:
" Anwendungsfehler: Diese Version der Anwendung ist nicht für die Marktabrechnung konfiguriert. Weitere Informationen finden Sie in der Hilfe. "
Es gibt nichts Seltsames, das ich im Protokoll finden kann. Weiß jemand was ich hier falsch mache?
quelle
Ich habe festgestellt, dass, sobald ich eine neue Kopie meiner APK auf den Markt hochlade, dieser "Anwendungsfehler" im Laufe der nächsten Stunde oder so auftritt. Nachdem mindestens eine Stunde vergangen ist (manchmal müssen bis zu zwei Stunden vergangen sein), wird dieser Fehler nicht mehr angezeigt und ich kann meine Artikel problemlos kaufen. Es scheint, dass die Google-Server mindestens eine Stunde benötigen, um die Tatsache zu verarbeiten, dass Sie eine neue APK hochgeladen haben (in Bezug auf den InApp Billing-Aspekt der APK).
Mein Rat ist also, dass Sie 1 bis 2 Stunden nach dem Hochladen Ihrer APK warten und dann prüfen, ob Sie immer noch den "Anwendungsfehler" erhalten.
quelle
Ich bin auch auf dieses Problem gestoßen. Endlich wurde mir klar, dass meine veröffentlichte App einen Versionscode von 3 hatte, mein Entwurf (unveröffentlichtes Apk mit der Abrechnungsberechtigung) einen Versionscode von 4 hatte und das signierte Apk, das ich zum Testen der In-App-Abrechnung verwendete, noch bei VersionCode 3 war Wenn Sie den versionCode auf 4 geändert haben, konnte ich für den von mir angeforderten Kauf zur eigentlichen In-App-Produktseite gelangen.
quelle
Dies kann bei signierten, freigegebenen Builds passieren, wenn die als Entwurf hochgeladene Apk nicht mit der auf Ihrem System im Testmodus ausgeführten Apk übereinstimmt. Stellen Sie einfach sicher, dass Ihre Builds übereinstimmen. Sie sollten sich im Testmodus in Ordnung befinden und die Fehler nicht mehr sehen.
Die große Sorge hier ist, dass wir dasselbe Verhalten in der Produktion sehen werden, dh wir veröffentlichen 1.0.0-1 mit In-App-Abrechnung, dann veröffentlichen wir 1.0.0-2 und Benutzer, die 1.0.0-1 ausführen, werden es sein Der Kauf oder die Wiederherstellung der Käufe ist nicht möglich und es wird der gleiche Fehler angezeigt (sehr schlechte Benutzererfahrung). Ich habe die Dokumente durchsucht, um dieses Verhalten als spezifisch für den Testmodus zu erwähnen, aber bisher kein Glück. Wir haben hier einen Fehler hinzugefügt: http://code.google.com/p/marketbilling/issues/detail?id=15#c0
quelle
Ich bin auch auf das gleiche Problem gestoßen ... aber jetzt ist das Problem gelöst
Meine Beobachtungen basieren auf wenigen Versuchen:
Hoffe das hilft
quelle
Von einer doppelten Frage kopiert: https://stackoverflow.com/a/22469253/1321401
Dieser Fehler kann aus mehreren Gründen auftreten.
Hier ist die Liste der Anforderungen für die Google IAB-Tests.
Voraussetzungen:
Testanforderungen:
PS: Debuggen mit Release-Zertifikat : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp für den Link)
PPS: Wollte diese Liste schon lange machen.
Danke @zlgdev für das Update
quelle
Meine Lösung war, dass ich denselben Schlüssel verwenden musste, um apk in Market (als Entwurf für APK) und im Test zu signieren. Anstatt nur Anwendung ausführen zu müssen, muss ich bei jedem Update signierte APK exportieren, sie deinstallieren und mit apk-Befehlszeilenbefehlen auf dem Gerät neu installieren. Grundsätzlich können Sie Ihren eigenen Keystore auch als Debug-Keystore verwenden, es müssen jedoch bestimmte fest codierte Kennwörter und Namen für Schlüssel verwendet werden.
quelle
Ich dachte, ich würde eine weitere mögliche Lösung teilen, wenn Sie diesen Fehler erhalten. Ich habe ursprünglich einen Entwurf meiner apk mit aktivierter Abrechnungsberechtigung auf Google hochgeladen, sodass ich ihn in App-Käufen einrichten konnte. Später habe ich eine weitere apk hochgeladen, ohne dass die Abrechnungsberechtigung in meinem AndroidManifest fehlte, was zu dem Fehler führte. Scheint definitiv ein unwahrscheinlicher Fall zu sein, aber es ist mir passiert, also ist es möglich.
Bearbeiten: Wenn die Version, die Sie als Entwurf bei Google eingereicht haben, nicht signiert ist, tritt der Fehler ebenfalls auf.
quelle
Um meine zwei Cent einzubringen, konnte ich es testen, indem ich es auf die Beta-Version hochlud und ein Google Mail-Konto mit Testzugriff auf der Registerkarte "Einstellungen" mit einer neuen Version meiner App erstellte ...
Ich verschiebe es jetzt in die Produktion ...
Vielen Dank! Nathan
quelle
Alter Thread, aber meine Erfahrung hinzufügen ...
Ich habe eine apk mit einem höheren versionCode 1 installiert als im Laden. Spielte es auf 2 verschiedenen Konten auf meinem Nexus 7 und hatte dieses Problem. Also habe ich aus dem Store deinstalliert und neu installiert, um sicherzustellen, dass der versionCode übereinstimmt. Selbst wenn man über Nacht wartete, konnte der Fehler nicht behoben werden.
Es stellte sich heraus, dass ich von allen 3 Google-Konten, die ich mit meinem Nexus 7 verknüpft habe, deinstallieren musste. Es wurde wiederhergestellt, als ich die App explizit von allen drei Konten auf meinem Nexus 7 deinstallierte und dann aus dem Store neu installierte.
quelle