我正在创建一项服务,允许用户在任意数量的设备(网络,Android,Roku,iOS,Apple TV)上注册,然后购买每月订阅以观看视频内容。订阅提供对整个目录的访问。我在服务器上运行自己的订阅管理API,我想利用它作为事实的来源,这样用户就可以在iPad上购买订阅,登录Roku上的应用程序,并继续观察他们中断的位置。
基本上,Netflix。
据我所知,以下是我的选择:
自动续订订阅:这是Netflix今天使用的,但Apple并未在其付款平台周围提供API或任何一组webhook,因此我不知道此选项如何工作。我的后端服务不知道Apple每个月会自动续订订阅,或者用户是否取消订阅。
非续订订阅:用户在内部购买订阅 该应用程序虽然IAP。购买完成后,应用同步即可 订阅我的后端系统。该应用程序与我的接口 任何时候需要权利检查的后端。当用户的时候 订阅即将到期,应用必须提出购买 工作流程再次。
导入iTunes报告:因为它不是实时的(拉,不推)而无法工作,也没有告诉我有关取消订阅的任何信息。我只能生成新订阅者的报告。
收据验证&将收据推送到我的服务:赢了,因为它取决于用户实际使用我的应用程序。理论上,用户可以在我的应用程序中订阅,切换到Roku,永远不会再打开它。
完全跳过IAP并要求用户通过网络订阅。
我错过了什么吗?我非常好奇Netflix是如何解决这个问题的。
答案 0 :(得分:15)
对于初始订阅购买:
使服务器与iTunes订阅保持同步:
现在如果有人在Roku或其他设备上登录他们的帐户,可以尊重订阅,因为我的数据库是真相的来源。
答案 1 :(得分:8)
我知道这已经过时了,但Apple最近推出了Status Update Notifactions来完成OP通过webhooks要求的内容:
200
状态代码回复以报告成功。您将能够处理以下通知类型:INITIAL_BUY
,CANCEL
,RENEWAL
,INTERACTIVE_RENEWAL
,DID_CHANGE_RENEWAL_PREFERENCE
上面链接中的文档更详细地解释了实现和类型。