2013-01-10 46 views

回答

4

試試這個:

Bundle ownedItems = mService.getPurchases(3, getPackageName(), "inapp", null); 

int response = ownedItems.getInt("RESPONSE_CODE"); 
if (response == 0) { 
    ArrayList ownedSkus = 
     ownedItems.getStringArrayList("INAPP_PURCHASE_ITEM_LIST"); 
    ArrayList purchaseDataList = 
     ownedItems.getStringArrayList("INAPP_PURCHASE_DATA_LIST"); 
    ArrayList signatureList = 
     ownedItems.getStringArrayList("INAPP_DATA_SIGNATURE"); 
    String continuationToken = 
     ownedItems.getString("INAPP_CONTINUATION_TOKEN"); 

    for (int i = 0; i < purchaseDataList.size(); ++i) { 
     String purchaseData = purchaseDataList.get(i); 
     JSONObject jpurchase = new JSONObject(purchaseData); 
     String orderid = jpurchase.getString("orderId"); 
     Log.v(TAG,"ORDER ID :"+orderid); 
    } 
} 

感謝。

+0

哦,這就是它!謝謝! –

+0

@VioletGiraffe你永遠是受歡迎的。 –

+0

你碰巧知道有效載荷是否也存在?我還沒有把所有東西都設置好,以便購買並親自體驗。 –

8

Google給出的example(並在另一個答案中列出)略有不對。當檢索ownedItems捆綁包時,它不包含INAPP_DATA_SIGNATURE,而是INAPP_DATA_SIGNATURE_LIST

這是鍵列表,你可以從ownedItems束得到(雖然你可能不會得到所有的人所有的時間):

  • RESPONSE_CODE
  • INAPP_PURCHASE_ITEM_LIST
  • INAPP_PURCHASE_DATA_LIST
  • INAPP_DATA_SIGNATURE_LIST
  • INAPP_CONTINUATION_TOKEN

有關它們的描述,請參閱here

+0

花了我一會兒才弄清楚......該死的 –