Jika Anda berada di lingkungan pengujian
1) Dalam kasus android.test.purchased, saya dapat menyetel ulang pembayaran palsu dengan memulai ulang perangkat android (menggunakan inventaris).
2) Di InApp util ada file bernama Security.java membuatnya sebagai berikut, untuk sementara. Karena pembayaran pengujian (palsu) selalu mengembalikan palsu karena pengecualian keamanan.
public static boolean verifyPurchase(String base64PublicKey,
String signedData, String signature) {
return true; }
Kemudian di OnIabPurchaseFinishedListener Anda, panggil fechInvForconsumeItem ()
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener
= new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result,
Purchase purchase)
{
if (result.isFailure()) {
// Handle error
Log.e("123","Failure");
return;
}
else if (purchase.getSku().equals(ITEM_SKU)) {
Log.e("123","PURCAsed");
fechInvForconsumeItem(); // Restart device if not consume
}
}
};
FechInvForconsumeItem () adalah
public void fechInvForconsumeItem() {
mHelper.queryInventoryAsync(mReceivedInventoryListener);
}
IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener
= new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result,
Inventory inventory) {
if (result.isFailure()) {
// Handle failure
Log.e("11","Failure");
} else {
Log.e("11","suc");
mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU),
mConsumeFinishedListener);
}
}
};
Konsumsi Pendengar adalah
IabHelper.OnConsumeFinishedListener mConsumeFinishedListener =
new IabHelper.OnConsumeFinishedListener() {
public void onConsumeFinished(Purchase purchase,
IabResult result) {
if (result.isSuccess()) {
} else {
// handle error
Log.e("11","sucConsume");
}
}
};