在應用購買中,我如何知道用戶是否已經購買了產品(消耗品)? (in app purchase, how do I know whether a user bought a product (consumable) already?)


問題描述

在應用購買中,我如何知道用戶是否已經購買了產品(消耗品)? (in app purchase, how do I know whether a user bought a product (consumable) already?)

我正在應用購買中實施。用戶購買類似遊戲的貨幣(用戶可以用來購買其他產品的貨幣)。(許多 iphone 遊戲都這樣做)

其中許多遊戲使用綁定的蘋果 ID(用戶用來購買應用本身的蘋果 ID)進行應用內購買。

我的問題是。

  1. 這些遊戲怎麼知道綁定的apple id的email地址?(我認為這是應用提交被拒絕的原因) “17.2 需要用戶共享個人信息(例如電子郵件地址和出生日期)才能運行的應用將被拒絕”來自 應用商店審核指南

  2. 用戶購買貨幣或使用該貨幣的實際產品後,他們必須將購買信息存儲在其服務器上,以便同一用戶可以在其他設備上擁有相同的貨幣/產品。 所以他們必須在他們的服務器上存儲某種形式的 id(我猜是電子郵件)。這不是隱私問題嗎?

  3. 我想避免強迫用戶僅為我的應用創建單獨的 ID。這就是上述問題的全部意義所在。 但我也看到了許多應用(具有應用內購買功能),我想知道是什麼功能促使應用的開發人員承擔維護自己的用戶帳戶信息的負擔。

他們必須將購買信息存儲在他們的服務器上,以便同一個用戶可以在其他設備上擁有相同的貨幣/產品。 所以他們必須在他們的服務器上存儲某種形式的 id(我猜是電子郵件)。這不是隱私問題嗎?

  • 我想避免強迫用戶僅為我的應用創建單獨的 ID。這就是上述問題的全部意義所在。 但我也看到了許多應用(具有應用內購買功能),我想知道是什麼功能促使應用的開發人員承擔維護自己的用戶帳戶信息的負擔。

  • 他們必須將購買信息存儲在他們的服務器上,以便同一個用戶可以在其他設備上擁有相同的貨幣/產品。 所以他們必須在他們的服務器上存儲某種形式的 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

    (by eugeneTushar)

    參考文件

    1. in app purchase, how do I know whether a user bought a product (consumable) already? (CC BY‑SA 3.0/4.0)

    #email #in-app-purchase #privacy






    相關問題

    Outlook 2007/2010 中的 Vspace (Vspace in Outlook 2007/2010)

    JavaMail 無效的 MSGID (JavaMail invalid MSGID)

    將電子郵件地址與地址標籤匹配的正則表達式 (regex that matches email addresses with address tags)

    電子郵件地址中帶有 + 字符的 Java 郵件 (Java mail with + character in email address)

    PHP mail() 中繼到郵件服務器 (PHP mail() relay to mail server)

    在說 smtp.start 時獲取“`initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)” (Getting "`initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)" when saying smtp.start)

    電子郵件客戶端如何讀取內容類型標頭進行編碼? (How does an email client read the content-type headers for encoding?)

    Return-Path 標頭的正確格式 (Correct format of an Return-Path header)

    在應用購買中,我如何知道用戶是否已經購買了產品(消耗品)? (in app purchase, how do I know whether a user bought a product (consumable) already?)

    將 Crystal Reports 轉換為 HTML 並作為正文發送到我的郵件中 (Crystal Reports into HTML and sending in my mail as body)

    通過 smtp 從安裝為 azure 中的 IaaS 的服務器發送電子郵件 (sending emails via smtp from a server installed as IaaS in azure)

    如何從 Excel 表格創建電子郵件? (How to create emails from Excel table?)







    留言討論