Hi,
I'm creating an app which allows users to register with my service 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 Roku device, login to the app on iPad, and continue watching where they left off.
Basically, Netflix.
To pull this off in Apple's ecosystem, I have two options as far as I can tell:
- 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.
- Skip IAP altogether and require users to subscribe via web.
It looks like auto-renewable subscriptions were designed for selling subscriptions to my type of content (video), but I don't see how I could use them because the subscription must be created and managed inside of iTunes, and there are no APIs available for another platform to check the status of a subscription, nor are there webhooks to notify by system when actions occur (subscription, cancelation, etc).
Am I missing a third option or did I outline this accurately? I'm really curious how Netflix is pulling this off.
Thanks!
The app gets a receipt the first time it buys a subscription or restores a subscription. The app can send that original receipt to anyone's server. Anyone's server can then use that orignal receipt to verify the current subscrition anytime it wants. You can't do that with a non-renewing subscription but with a non-renewing subscription the user must purchase the extension from the iOS device each time period.