我需要为一个已经在其网站上订阅的系统构建一个应用程序。看起来 Apple 不允许使用任何自己的订阅,并强制将任何应用与 iOS 应用内订阅集成。
有没有办法整合两个订阅系统?主要问题是用户可以通过 iTunes 管理 iOS 订阅,如果通过 iTunes 停止订阅,我无法找到是否可以获取有关此信息并停止现有系统中的订阅。
那么是否有可能收到有关未订阅 iTunes 用户的通知?
我需要为一个已经在其网站上订阅的系统构建一个应用程序。看起来 Apple 不允许使用任何自己的订阅,并强制将任何应用与 iOS 应用内订阅集成。
有没有办法整合两个订阅系统?主要问题是用户可以通过 iTunes 管理 iOS 订阅,如果通过 iTunes 停止订阅,我无法找到是否可以获取有关此信息并停止现有系统中的订阅。
那么是否有可能收到有关未订阅 iTunes 用户的通知?
使用第三方订阅
首先,可以在您的应用程序中支持现有的订阅系统,但它必须是App Store 订阅之外的。此外,您必须非常小心您使用的 UI。您无法提示用户绕过 App Store 并通过您的服务器进行购买,但您可以让现有订阅者使用他们之前可能通过您的网站获得的凭据进行登录。
也就是说,Apple 对 App Store 中允许和不允许的内容的裁决可能相当反复无常。我曾开发过完成此类事情的应用程序,但它们一直是为相当知名的杂志出版物服务的。不能保证他们会允许每个人都这样做。
检测未订阅的 App Store 订阅
至于使用 App Store 订阅,当用户在您的应用中购买订阅时,他们将在SKPaymentTransaction对象中收到收据。此收据应发布到您的后端服务器,以确保在您授予用户访问任何内容之前它是有效的。有关更多详细信息,请参阅应用内购买编程指南。
设置订阅类型时,您指定订阅的持续时间。因此,如果您在收到收据时在 SKPaymentTransaction 中记录交易日期,您可以通过将订阅的持续时间添加到交易日期来准确确定该订阅何时到期。
如果是自动续订订阅,您将在续订时收到新收据。因此,一旦您通过后端服务器验证了这一点,您就可以根据新的交易日期更新到期日期。如果您在第一张收据到期之前没有收到新收据,则用户可能已取消订阅。
在后端,您的服务器还可以根据验证服务器的响应来判断特定订阅何时到期。首先是状态码,它会告诉您订阅是否已经过期,但解码后的收据中还会返回一个过期日期,如果它还没有过期,它将告诉您预计何时过期。
有关更多详细信息,请参阅自动续订订阅文档。
测试自动续订订阅
值得注意的是,当您在 App Store 沙盒环境中测试自动续订订阅时,各种订阅类型的长度都大大缩短,以便于测试。例如,1 周的订阅在沙盒环境中仅持续 3 分钟。您可以在iTunes Connect 开发人员指南中查看完整的时间列表。
因此,您希望从网站购买服务的人能够使用该应用程序,就像他们从应用程序购买和应用程序购买中购买它一样,人们能够像通过加入的人一样加入服务网站?据我所知,Apple 不允许您像您所说的那样通过其他服务付款,但是假设有人从该应用程序中购买了该服务。应该发生的是,这笔钱将转移到公司。然后在付款之后,您应该包含一些代码来执行新用户支付服务后网站所做的事情,因此将他的帐户创建为付费帐户。然后,应用程序还应该有一个登录屏幕,注册用户(无论他们从哪里注册)都可以登录到应用程序并使用该服务。现在的问题确实是,如果通过 iTunes 停止订阅,你永远不会知道,尽管解决这个问题的一种方法是检查这家公司的服务器,该服务器应该监控来自一个帐户的收入。然后,如果该用户已停止付款(或停止订阅),您将能够从应用程序中停止服务。并且您应该在订阅期限过去后重新检查服务器是否付款,假设每周订阅应该每周检查一次。(对不起,我会做这个评论,但我没有足够的声誉)然后,如果该用户已停止付款(或停止订阅),您将能够从应用程序中停止服务。并且您应该在订阅期限过去后重新检查服务器是否付款,假设每周订阅应该每周检查一次。(对不起,我会做这个评论,但我没有足够的声誉)然后,如果该用户已停止付款(或停止订阅),您将能够从应用程序中停止服务。并且您应该在订阅期限过去后重新检查服务器是否付款,假设每周订阅应该每周检查一次。(对不起,我会做这个评论,但我没有足够的声誉)