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