it-swarm.com.de

IabResult: Abrechnungsdienst auf Gerät nicht verfügbar. (Antwort: 3: Abrechnung nicht verfügbar)

Ich versuche die In-App-Abrechnung zu verwenden:

mIabHelper = new IabHelper(this, BILLING_KEY);
        mIabHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
            @Override
            public void onIabSetupFinished(IabResult result) {
                if (!result.isSuccess()) {
                    Log.d(TAG, "Problem setting up In-app Billing: " + result);
                }
            }
        });

Und den Fehler bekommen:

Problem setting up In-app Billing: IabResult: Billing service unavailable on device. (response: 3:Billing Unavailable)

Warum? Ich habe versucht, den Cache des Play Stores zu löschen, aber es hat nicht funktioniert.

20
arts777

Wischen hat mir geholfen. Merkwürdiger Fehler.

2
arts777

Nun, wir können Ihnen nicht helfen, ohne viele Informationen zu haben. Stattdessen werde ich versuchen, eine Checkliste für Sie zu erstellen, falls Sie etwas verpasst haben:

1) Testen Sie mit einem Emulator? Abrechnungsdienste sollten auf Geräten getestet werden. ABER wenn Sie wirklich auf dem Emulator testen müssen, stellen Sie sicher, dass auf dem Emulator Google Play installiert und eingerichtet ist. Dies ist sehr wichtig!

2) Haben Sie die korrekte Erlaubnis im Manifest festgelegt? (com.Android.vending.BILLING)

3) Wenn Sie die App noch testen, haben Sie eine Test-App-Lizenz aus dem Playstore erhalten, den Lvl in Ihr SDK importiert, Ihre Lizenzbestätigungsbibliothek eingerichtet? (Sie können hier mitverfolgen: einrichten

4) Haben Sie bei Ihrer Aktivität onActivityResult das Aktivitätsergebnis richtig behandelt? Wie im Beispiel von google gezeigt, sollten Sie es folgendermaßen tun:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data);

// Pass on the activity result to the helper for handling
if (!inappBillingHelper.handleActivityResult(requestCode, resultCode, data)) {
    super.onActivityResult(requestCode, resultCode, data);
}
else {
    Log.i(TAG, "onActivityResult handled by IABUtil.");
}
}

Weitere Informationen könnten hilfreich sein, z. B. wenn Sie den Emulator oder das Gerät, den Gerätenamen, die Android-Version usw. testen.

36
sokie

Dieser Fehler weist darauf hin, dass Sie eine Verbindung zum In-App-Abrechnungsdienst auf Ihrem Gerät herstellen, der Dienst unterstützt jedoch keine IAB-Version 3. Möglicherweise unterstützt die Version von Google Play auf Ihrem Gerät nur die Version 2 von IAB. Welche Version von Google Play wird auf Ihrem Gerät ausgeführt?

Ist Ihre Version von Google Play ansonsten funktionsfähig (z. B. können Sie den Google Play Store öffnen)? Manchmal, wenn das Datum auf Ihrem Gerät abgelaufen ist oder ein anderes Problem auftritt, kann Google Play selbst in den Süden gehen.

Was ist schließlich in Ihrer Logcat-Ausgabe? Es wäre einfacher, Hilfe zu leisten, wenn Sie mehr Details angeben.

6
Carl

Ich habe diese Fehlermeldung erhalten, als ich die App installiert habe, BEVOR ich alles registriert und den Google Play Store eingerichtet habe. Sobald ich das Google Play Store-Konto eingerichtet habe, ist der Fehler verschwunden.

4
Gene

Die Dokumentation für Version 2.0 der Abrechnung war für diese Version sogar hilfreicher als 3.0, obwohl ich Version 3.0 der Abrechnung verwende.

So beschreibt es 2.0 Antwortcode 3:

Gibt an, dass die In-App-Abrechnung nicht verfügbar ist, da die von Ihnen angegebene API_VERSION von der Google Play-Anwendung nicht erkannt wird oder der Nutzer für die In-App-Abrechnung nicht berechtigt ist (der Benutzer befindet sich beispielsweise in einem Land, das In-App-Käufe verbietet).

Für mich musste ich zuerst ein Test-Google-Konto auf meinem Handy einrichten, bevor ich es testete. Ich habe diesen Schritt vergessen. Sobald ich das getan habe, ist es für mich behoben ...

Suchen Sie hier nach Server-Antwortcodes:

http://developer.Android.com/google/play/billing/v2/billing_reference.html

http://developer.Android.com/google/play/billing/billing_reference.html

3
Nathan Prather

Ich habe ein Problem gefunden, das behoben werden sollte, probiere root mit deinem LuckyPatcher, öffne die Konfiguration Toggles -> Billing deaktivieren.

enter image description here

3
KingRider

Ich hatte genau diesen Fehler, als ich alle Google-Konten aus dem Telefon entfernte.

Nachdem ich ein Konto hinzugefügt hatte, wurde dieser Fehler nicht angezeigt.

Verwandte Ausgabe Welche Möglichkeiten bestehen, diesen Fehlercode 3 beim Kauf von InApp zu erhalten? .

2

Ich habe diese Fehlermeldung erhalten, indem ich den Google Play-Cache gelöscht habe. Sie müssen die Google Play-App erneut öffnen und die Bedingungen akzeptieren, bevor sie wieder für IAB funktioniert.

1
Lee

Hatte das gleiche Problem.

Mein Gerät wurde mit einer älteren Version von Google Market verwurzelt und ROM-basiert, die sich nicht selbst aktualisiert hat. Sie können Ihre Market/Play-Version überprüfen, indem Sie sie im AppManager anzeigen.

Ich habe mich tatsächlich für ein anderes Gerät entschieden, aber ich denke, sonst müsste ich einen Weg finden, um die Market/Play-Version zu aktualisieren.

1
Doigen

Ich hatte den gleichen Fehler und bemerkte dann, dass sich mein Telefon im Flugzeugmodus befand! Sobald die Konnektivität wiederhergestellt war, war ich gut zu gehen.

0
Papasmile

IabHelper.Java

Intent serviceIntent = new Intent("com.Android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.Android.vending");

Es ist ein Fehler, wenn die Aktion und der Paketname nicht in IInAppBillingService.aidl angegeben werden können.

0
Hashido Tomoya

Hab die Lösung gefunden.

Versuchen Sie es mit den folgenden 3 Schritten:

  1. Löschen Sie den Cache der GooglePlay-App und der Google Play-Dienste-App.
  2. Entfernen Sie die Datei "IInAppBillingService.aidl".
  3. Kopieren Sie die obige Datei erneut aus dem SDK-Ordner und fügen Sie sie in den Hilfsordner meiner App ein.

Dieses Problem tritt normalerweise auf, wenn wir die Hilfedatei von einem Projekt in ein anderes Projekt kopieren.

0
Ankur Yadav

Dies ist darauf zurückzuführen, dass das Konto, das derzeit auf dem Gerät angemeldet ist, nicht in der Google Developer Console registriert ist Um dieses Problem zu beheben, __. 1. Gehen Sie zu Ihrem Google Developer Consol 2. Geben Sie auf der Registerkarte "Konto-Details" die E-Mail-Adresse (die sich auf dem Gerät befindet) in "Google Mail-Konten mit Testzugriff" ein und klicken Sie auf die Schaltfläche "Speichern" oben.

Das ist es.

0
Yasir Ali

In meinem Fall habe ich einen anderen Wert für serviceIntent.setPackage ("com.Android.vending") festgelegt. von IabHelper. Stellen Sie sicher, dass Sie diesen Wert belassen

0
Alex