我正在构建一个iOS应用程序,其中包含一个不续订的IAP。 Apple在overview of IAP:
中提供了这个金块您需要向用户拥有的所有设备提供非续订订阅。不续订订阅不会自动同步到Store Kit的所有设备;你必须自己实现这个基础设施。例如,大多数订阅由外部服务器提供;您的服务器需要实施一种机制来识别用户并将订购购买与购买它们的用户相关联。
我想遵循这条规则:我希望我的用户能够利用他们在其他设备上的一台设备上购买的订阅。那么如何在iPhone和iPad上识别同一个用户呢?我知道您不能使用Apple ID,也不能依赖注册方法。
我刚刚找到this question;那里给出的答案似乎不可行。其他人必须有更优雅的东西。
答案 0 :(得分:3)
我从Gavin McKenzie向我提出了一个建议,这听起来是我听过的最好的选择:
购买订阅后,为用户提供“短代码”。代码也将存储在服务器上,与该用户的帐户绑定。当他们在另一台设备上点击“恢复”时,请从原始设备和帐户请求短代码,从而将这些设备绑在一起。
Gavin进一步建议在类似于蓝牙的“配对”方法中使用它:在恢复时,启动设备A上的配对,设备A生成短代码并将其推送到服务器。然后,设备B可以使用该代码。五分钟后,或者当配对屏幕被解除时,代码将被删除。
如果你想恢复到同一台设备,比如说,在删除手机并恢复后,我不确定这是怎么回事。但这感觉是一个好的开始。
答案 1 :(得分:0)
如果你可以放弃对iOS 5.0以下的支持,你可以使用iCloud在用户的设备上同步一个键值对。
答案 2 :(得分:0)
见:
http://iphonedevsdk.com/forum/business-legal-app-store/88698-floored-by-new-rejection.html
显然,您可以在购买前要求输入用户名/密码。这是唯一有道理的方法。代码可以由成千上万的人共享,这很糟糕。
答案 3 :(得分:0)
结帐Frac.as。它做了上面提到的“短代码”配对的变体,但有一些内置的智能防止滥用。它是一个SaaS API,具有丰富的免费等级。