Restore Transactions in Google In-app Version 3

2019-01-19 09:59发布

问题:

I have an app and its working fine now i want to implement restore transactions method in my app. I did not find this method now how can i can call or define or make other method to restore transaction in in-app version 3. I searched on net but did not find relevant sol or info.

回答1:

You can restore your transaction using the getPurchases() API

Bundle ownedItems = mService.getPurchases(3, mContext.getPackageName(),
                itemType, continueToken);

 ArrayList mySkus, myPurchases, mySignatures;
 mySkus = ownedItems.getStringArrayList(RESPONSE_INAPP_ITEM_LIST);
 myPurchases = ownedItems.getStringArrayList(RESPONSE_INAPP_PURCHASE_DATA_LIST);
 mySignatures = ownedItems.getStringArrayList(RESPONSE_INAPP_PURCHASE_SIGNATURE_LIST);

will list the items that you own and the corresponding data that you can use to verify the purchases.

While you make this call, be sure to

  1. Use the Google ID that you used to make the purchase.
  2. Not to use the STATIC Product IDs(android.test.purchased, android.test.refunded...). You can use the test-IDs that you created under your IAB test account.
  3. Use the appropriate product type and the package name of your app.