Ich habe Probleme bei der Umsetzung in App-Abrechnung in meiner Android-App. Ich bekomme eine Überprüfung der Kaufsignatur fehlgeschlagen. In einem ersten Mal war es hart der Base64-Schlüssel, aber ich habe es oft überprüft und ich bekomme immer noch den Fehler, dann nachdem ich die Security.java-Datei angeschaut habe und ich diese Methode gefunden habe, die ich bearbeitet habe Informationen über was falsch war:Android in App-Rechnung Kaufbestätigung fehlgeschlagen
public static boolean verifyPurchase(String base64PublicKey, String signedData, String signature) {
if (TextUtils.isEmpty(signedData) || TextUtils.isEmpty(base64PublicKey) ||
TextUtils.isEmpty(signature)) {
if(TextUtils.isEmpty(signedData)) Log.d(TAG, "SIGNED DATA EMPTY");
if(TextUtils.isEmpty(base64PublicKey)) Log.d(TAG, "KEY IS EMPTY");
if(TextUtils.isEmpty(signature)) Log.d(TAG, "SIGNATURE IS EMPTY");
Log.e(TAG, "Purchase verification failed: missing data.");
return false;
}
PublicKey key = Security.generatePublicKey(base64PublicKey);
return Security.verify(key, signedData, signature);
}
Und ich bekomme "Unterschrift ist leer". Selbst nachdem ich die folgenden Schritte aus: -Sign die apk mit meinem Entriegelungsschlüssel als Entwurf -upload -install es auf einem Gerät mit
Ich teste „adb -d app.apk installieren“ mit echten Käufen. Danke.
bearbeiten Der Kaufvorgang ist in Ordnung, bekomme ich die Fehlermeldung, wenn ich queryInventoryAsync
nennen
meine eigene Antwort überprüfen, hofft, dass es Ihr Problem zu lösen. – Maulik