【问题标题】:Made In app purchase Using with Device token or Apple ID使用设备令牌或 Apple ID 进行应用内购买
【发布时间】:2014-09-18 09:44:41
【问题描述】:

我正在我的应用中实现应用内购买,并围绕现有应用进行测试以获取一些想法。但是我发现了一个让我很困惑的场景。

我已经安装了一个 iOS 应用并购买了特定的关卡。后来我卸载了这个应用程序,从现有的 iTunes 商店帐户注销并使用另一个苹果 ID 再次登录,然后再次重新安装该应用程序(相同的应用程序)。在这里我可以再次购买特定级别。但我怀疑我们可以使用基于购买 Apple ID 或设备令牌的应用内购买方法吗?

如果用户可以使用 Apple ID 购买,那么用户可以使用另一台设备登录,他们无需再次购买,但一个用户可以购买应用程序,用户可以登录到另一个用户设备是一个问题..!为什么因为另一个用户无需购买。

如果我们设置设备令牌,基于应用内购买用户只能登录该设备,他们无法登录具有相同Apple ID的其他设备,这是一个问题。

我对此感到很困惑......如果我们在同一设备上使用多个苹果 ID,那么购买的商品是否会绑定在设备上?

我了解我可以使用相同的 Apple ID 在不同设备上恢复我购买的商品。但是如何在多个设备上使用多个 Apple id?如果我在一台设备上关联了 2 个 Apple id,我使用其中一个购买的商品,但后来我使用这 2 个 Apple id 登录到另一台设备,我是否还需要再次付费才能下载我在以前的设备上购买的商品?

如果我的问题不清楚,请告诉我...我希望有人能提供一些关于在不同设备和苹果 ID 上共享购买的商品的想法。以及哪一个使用应用内购买。

欢迎任何建议和cmets。非常感谢。

【问题讨论】:

    标签: ios objective-c iphone in-app-purchase


    【解决方案1】:

    IAP 分为两类 - 消耗性和非消耗性。

    非消耗性购买(购买游戏的 10-15 级、升级到专业版等)由系统跨设备同步,并由系统恢复。它们与 Apple ID 相关联。

    消耗品购买(购买 5 个金币)不会同步或恢复。您的应用程序需要记住已完成购买,并存储相关信息,以便备份和恢复正确恢复用户的状态。如果用户卸载然后重新安装,他们会丢失之前的所有消耗品购买(但他们会保留所有非消耗品购买,您的应用程序可以查询这些)。当然,您可以将有关消耗品购买的所有信息同步到您自己的服务器,但您需要让用户在您那里创建一个帐户。这将允许您在设备之间同步消耗品。

    设备 ID(无论如何您都无法获得)没有相关性。

    更多讨论请见https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Products.html

    【讨论】:

    • 感谢您的回答@Airsource Ltd,我可以在这里使用Apple ID吗?
    • 世界上没有办法获取客户的 Apple ID。这不关你的事。研究 WWDC 视频和文档。您的应用被告知您的客户进行了购买。就是这样。
    【解决方案2】:

    如果 IAP 是非消耗品(或自动更新),它们可以由用户“恢复”(即应用将执行 restoreCompletedTransactions 或 refreshReceipt)。我相信恢复CompletedTransactions(或refreshReceipt)所需的用户名/密码登录必须与将应用程序下载到设备上的人相同。鉴于这一要求,我仍然相信单个“购买者”可以在许多设备上共享他们对非消耗性 IAP 的单次购买。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      相关资源
      最近更新 更多