問題描述
在應用購買中,我如何知道用戶是否已經購買了產品(消耗品)? (in app purchase, how do I know whether a user bought a product (consumable) already?)
我正在應用購買中實施。用戶購買類似遊戲的貨幣(用戶可以用來購買其他產品的貨幣)。(許多 iphone 遊戲都這樣做)
其中許多遊戲使用綁定的蘋果 ID(用戶用來購買應用本身的蘋果 ID)進行應用內購買。
我的問題是。
這些遊戲怎麼知道綁定的apple id的email地址?(我認為這是應用提交被拒絕的原因) “17.2 需要用戶共享個人信息(例如電子郵件地址和出生日期)才能運行的應用將被拒絕”來自 應用商店審核指南
用戶購買貨幣或使用該貨幣的實際產品後,他們必須將購買信息存儲在其服務器上,以便同一用戶可以在其他設備上擁有相同的貨幣/產品。 所以他們必須在他們的服務器上存儲某種形式的 id(我猜是電子郵件)。這不是隱私問題嗎?
我想避免強迫用戶僅為我的應用創建單獨的 ID。這就是上述問題的全部意義所在。 但我也看到了許多應用(具有應用內購買功能),我想知道是什麼功能促使應用的開發人員承擔維護自己的用戶帳戶信息的負擔。
我想避免強迫用戶僅為我的應用創建單獨的 ID。這就是上述問題的全部意義所在。 但我也看到了許多應用(具有應用內購買功能),我想知道是什麼功能促使應用的開發人員承擔維護自己的用戶帳戶信息的負擔。
我想避免強迫用戶僅為我的應用創建單獨的 ID。這就是上述問題的全部意義所在。 但我也看到了許多應用(具有應用內購買功能),我想知道是什麼功能促使應用的開發人員承擔維護自己的用戶帳戶信息的負擔。
我想避免強迫用戶僅為我的應用創建單獨的 ID。這就是上述問題的全部意義所在。 但我也看到了許多應用(具有應用內購買功能),我想知道是什麼功能促使應用的開發人員承擔維護自己的用戶帳戶信息的負擔。
我想避免強迫用戶僅為我的應用創建單獨的 ID。這就是上述問題的全部意義所在。 但我也看到了許多應用(具有應用內購買功能),我想知道是什麼功能促使應用的開發人員承擔維護自己的用戶帳戶信息的負擔。
## 參考解法 #### 方法 1:
You might already have found the answer. If you don't then the solution is :
SKPaymentQueue has a method called 'restoreCompletedTransactions' which retrieves all the previous purchases for the current Apple account. You do not need any user‑id for the app to track this. Checking the restored transactions, you can determine which product is already bought by the user (currently logged in Apple account) . That way you can provide products to multiple devices of the same Apple account without any trouble (which Apple wants to do also).
Cheers,
Tushar