Apple 拒绝了我们的一款应用,用户可以在其中通过订阅购买内容(InApp 产品类型为订阅)。问题是我们需要,也因为苹果要求,这些订阅可以在设备之间转移。合乎逻辑且也是最安全的解决方案是将其链接到用户必须创建的用户帐户。
但这就是苹果拒绝这个应用程序的原因。他们告诉我们,购买订阅不需要注册,只能是可选的。所以问题是,如果没有其他好的解决方案对用户有意义、安全且仍然舒适,那么如何解决这个问题?
Apple 拒绝了我们的一款应用,用户可以在其中通过订阅购买内容(InApp 产品类型为订阅)。问题是我们需要,也因为苹果要求,这些订阅可以在设备之间转移。合乎逻辑且也是最安全的解决方案是将其链接到用户必须创建的用户帐户。
但这就是苹果拒绝这个应用程序的原因。他们告诉我们,购买订阅不需要注册,只能是可选的。所以问题是,如果没有其他好的解决方案对用户有意义、安全且仍然舒适,那么如何解决这个问题?
因为用户注册是可选的,这意味着,如果用户选择不注册,那么如果他们想为他们的每台设备购买单独的订阅,那就是他们自己的事了。只要您为用户提供了一个明确的选项来同步他们的订阅,Apple 就可以做到这一点。
因此,您无需搜索其他方法来同步订阅。只保留你所拥有的,但让它成为可选的。
为了进一步阅读,以下是我从 Apple 审阅者那里收到的关于我被拒绝的消息的摘录:
修改您的应用程序以使您能够向单个用户拥有的所有设备提供订阅是合适的,例如使用可选的用户注册。如果您选择使用用户注册来满足此要求,请记住,要求用户注册是不合适的。此类用户注册必须是可选的。向用户明确说明,只有通过注册,他们才能访问所有 iOS 设备上的内容。如果他们希望在未来访问其他 iOS 设备上的内容,并为他们提供一种稍后注册的方式。
如何使用设备标识符,当用户需要转移它时,他们可以创建新帐户并将这些购买转移到新帐户?
好吧,那就让它成为可选的吧!只是让您的用户知道未注册用户无法使用可转移性。还可以考虑使用连接的 Apple 本身进行某种静默注册
男孩,这让我有点害怕。我有一个包含非消耗品和订阅的应用程序。订阅使用户可以访问云帐户,他们可以在其中存储在 iPhone 上捕获的内容。在订阅创建过程中,他们会在线创建一个帐户。他们注册的目的不是为了购买订阅,而是为了后续使用云存储。
这听起来像是苹果的问题吗?我不想走到这一步,发现我的整个商业模式因为他们的政策而被搞砸了。
在我看来,这确实是苹果的设计错误。
他们应该做的如下:
无论
类型
如何-restoreCompletedTransactions
,都返回所有用户过去的交易,并让应用程序正确处理它们(对于订阅:检查originalTransaction
's transactionDate
)
或
添加一个SKPaymentTransaction
唯一标识购买用户的属性(不泄露她的个人信息)并且可以然后存储在应用程序服务器的审核日志中。
幸运的是,他们认识到了他们的方法的错误,并试图用新的自动更新订阅来纠正它们:事实上,这些都包括在调用时-restoreCompletedTransactions
,这也意味着不再需要服务器上的审计日志。
这不是-restoreCompletedTransactions
SKPaymentQueue 的用途吗?
InApp 购买不与设备关联,而是与 iTunes 帐户关联。这样您就不需要为此单独注册。用户唯一令人困惑的问题是,他必须在第二台设备上点击“购买订阅”。然后他会收到消息“此订阅是免费的,因为您已经购买了它”。与 AppStore 类似的方法 - 如果你想从 AppStore 重新安装你已经拥有的应用程序,你不会在 AppStore 应用程序列表中看到它 - 你会在那里看到价格标签,在你选择“购买”后,你会得到“你有它免费”的消息。
金德拉