iTunes跨平台IAP订阅 - Netflix如何做到这一点? [英] iTunes cross-platform IAP subscriptions - how does Netflix do it?

查看:224
本文介绍了iTunes跨平台IAP订阅 - Netflix如何做到这一点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一项服务,允许用户在任意数量的设备(网络,Android,Roku,iOS,Apple TV)上注册,然后购买每月订阅以观看视频内容。订阅提供对整个目录的访问。我有自己的订阅管理API在服务器上运行,我想利用它作为事实的来源,这样用户可以在iPad上购买订阅,登录Roku上的应用程序,并继续观察他们中断的位置。

I'm creating a service which allows users to register on any number of devices (web, Android, Roku, iOS, Apple TV), and then purchase a monthly subscription to watch video content. The subscription provides access to the entire catalog. I have my own subscription management API running on a server which I'd like to leverage as the source of truth so users can purchase a subscription on their iPad, login to the app on Roku, and continue watching where they left off.

基本上,Netflix。

Basically, Netflix.

据我所知,这是我的选择:

Here are my options as far as I can tell:


  1. 自动续订订阅:这是Netflix今天使用的,但Apple不会在其支付平台周围提供API或任何一组webhook,所以我不知道这个选项如何运作。我的后端服务不知道Apple每个月会自动续订订阅,或者用户是否取消订阅。

  1. Auto-renewing subscriptions: this is what Netflix uses today, but Apple doesn't provide an API or any set of webhooks around their payment platform, so I don't know how this option could work. My back-end service will have no idea when Apple automatically renews the subscription each month or if a user cancels their subscriptions.

非续订订阅:用户购买通过IAP在app b $ b内的订阅。购买完成后,应用程序同步我的后端系统的
订阅。只要需要进行权利检查,应用程序就会与我的
后端接口。当用户的
订阅即将到期时,该应用必须再次提供购买
工作流程。

Non-renewing subscriptions: users purchase the subscription inside the app though IAP. Once purchase is complete, the app sync’s the subscription to my back-end system. The app interfaces with my back-end any time an entitlement check is required. When a user’s subscription is about to expire, the app must present purchase workflow again.

导入iTunes报告:不会工作,因为它不是实时(拉,不推),并没有告诉我有关取消订阅的任何信息。我只能生成新订阅者的报告。

Import iTunes reports: won't work because it's not realtime (pull, not push) and doesn't tell me anything about cancelled subscriptions. I can only generate reports of new subscribers.

收据验证&将收据推送到我的服务:将无法工作,因为它取决于用户实际使用我的应用程序。理论上,用户可以在我的应用程序中订阅,切换到Roku,再也不会打开它。

Receipt validation & push receipts to my service: won't work because it depends on the user actually using my app. Users could theoretically subscribe in my app, switch to Roku, and never open it again.

完全跳过IAP并要求用户通过网络订阅。

Skip IAP altogether and require users to subscribe via web.

我错过了什么吗?我真的很好奇Netflix如何解决这个问题。

Am I missing something? I'm really curious how Netflix is pulling this off.

推荐答案

我知道这已经过时了,但Apple最近推出了状态更新通知,它通过webhooks完成OP要求的内容:

I know this is old, but Apple recently introduced Status Update Notifactions which accomplishes what the OP asked for via webhooks:


  1. 配置Apple以向指定的端点发送通知。 ( Apple的小指南

  2. 处理通过HTTP POST从App Store发送的JSON对象并验证最新收据。

  3. 更新/保存数据到您的数据库。

  4. 回复使用 200 状态代码报告成功。

  1. Configure Apple to send notifications to your specified endpoint. (Apple's small guide)
  2. Handle the JSON object that's sent via HTTP POST from the App Store and validate latest receipt.
  3. Update/save data to your database.
  4. Respond with a 200 status code to report a success.

您将成为能够处理以下通知类型: INITIAL_BUY CANCEL RENEWAL INTERACTIVE_RENEWAL DID_CHANGE_RENEWAL_PREFERENCE

You'll be able to handle the following notification types: INITIAL_BUY, CANCEL, RENEWAL, INTERACTIVE_RENEWAL, DID_CHANGE_RENEWAL_PREFERENCE

上面的链接更详细地解释了实现和类型。

The documentation in the link above explains implementation and types in more detail.

这篇关于iTunes跨平台IAP订阅 - Netflix如何做到这一点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆