1

所有アイテムのクエリを検討していますが、ユーザーが実際に購入したときに利用できるチェックアウト注文 ID の取得は含まれていません。すでに行われた購入の注文 ID を照会する方法はありませんか?

4

2 に答える 2

8

Google が示した (および別の回答に記載されている)例は、少し間違っています。バンドルを取得するとき、ownedItems含まれていませんがINAPP_DATA_SIGNATUREINAPP_DATA_SIGNATURE_LIST.

これは、バンドルから取得できるキーのリストですownedItems(すべてのキーを常に取得できるとは限りません)。

  • RESPONSE_CODE
  • INAPP_PURCHASE_ITEM_LIST
  • INAPP_PURCHASE_DATA_LIST
  • INAPP_DATA_SIGNATURE_LIST
  • INAPP_CONTINUATION_TOKEN

それらの説明については、こちらを参照してください。

于 2013-01-21T20:42:15.303 に答える
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 ); 
   }
}

ありがとう。

于 2013-01-10T16:23:12.403 に答える