Ich verwende Google In-App-Abrechnung für meine Android-App.Android In-App-Abrechnung, fehlende Käufe
Ich habe die IabHelper-Klasse von Google's verwendet, da ihre Abrechnung extrem kompliziert erscheint.
Mein Problem ist, ich möchte wissen, ob der Kauf erfolgreich ist oder nicht. Ich denke, dass ich den Prozess korrekt befolge, aber in meinen Protokollen sehe ich viele Benutzer, die das Upgrade erhalten, deren Kauf jedoch nie in meinem Google Play-Zahlungskonto angezeigt wird. (d. h. sie erhalten das Upgrade kostenlos).
Ich Protokolliere die GP um ids, seine manchmal eine Zahl wie,
GPA.1234-5678-9123-1234
Aber manchmal ist es wie,
1234567891234,1234567891234
Normalerweise denke ich, dass es die Nicht-GPA-Bestellungen sind, die nicht aufgeladen werden.
Auch ich denke, Sie können eine Bestellung aufgeben, dann abbrechen, und immer noch das Upgrade?
Wie gewährleisten Sie, dass der Benutzer wirklich bezahlt?
Code:
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result, final Purchase purchase) {
if (result.isFailure()) {
showMessage("Google Billing Purchase Error");
return;
} else if (purchase.getSku().equals(sku)) {
IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
if (result.isFailure()) {
showMessage("Google Billing Error");
return;
} else {
if (inventory.hasPurchase(sku)) {
showMessage("Thank you for upgrading");
grantUpgrade();
// ** This line gets call, but no payment occurs.
}
}
}
};
mHelper.queryInventoryAsync(mReceivedInventoryListener);
}
}
};
mHelper.launchPurchaseFlow(this, sku, 10001, mPurchaseFinishedListener, "");
*** aktualisiert "inventory.hasPurchase (sku)" zu überprüfen, aber immer noch Benutzer sehen, wer das Upgrade bekommen, aber nicht zahlen.
** Vielleicht benutzen die Benutzer Freedom hack? Wie auch immer, um das zu verhindern?
Möchten Sie Ihre Bestellhistorie kurz überprüfen? – KishuDroid
Wenn Sie einen bestimmten Hack aufrufen, müssen Sie möglicherweise einen Link angeben, der es beschreibt und was genau es ist, anstatt anzunehmen, dass jeder weiß, was es ist :) – JoxTraex
Siehe https://github.com/soomla/android-store/issues/47 oder Google "Google Play In-App-Hack" oder "Freedom Hack" – James