Я создаю сервис, который позволяет пользователям регистрироваться на любом количестве устройств (веб, Android, Roku, iOS, Apple TV), а затем приобретать ежемесячную подписку для просмотра видеоконтента. Подписка предоставляет доступ ко всему каталогу. У меня есть собственный API управления подпиской, работающий на сервере, который я хотел бы использовать в качестве источника правды, чтобы пользователи могли приобрести подписку на своем iPad, войти в приложение на Roku и продолжить просмотр с того места, где они остановились.
В общем, Нетфликс.
Вот мои варианты, насколько я могу судить:
Автоматическое продление подписки: это то, что сегодня использует Netflix, но Apple не предоставляет API или какой-либо набор веб-перехватчиков для своей платежной платформы, поэтому я не знаю, как этот вариант может работать. Моя внутренняя служба не будет знать, когда Apple будет автоматически продлевать подписку каждый месяц или когда пользователь отменит свою подписку.
Подписки без продления: пользователи приобретают подписку внутри приложения через IAP. После завершения покупки приложение синхронизирует подписку с моей серверной системой. Приложение взаимодействует с моей серверной частью в любое время, когда требуется проверка прав. Когда срок действия подписки пользователя подходит к концу, приложение должно снова представить рабочий процесс покупки.
Импорт отчетов iTunes: не будет работать, потому что это не в режиме реального времени (вытягивание, а не проталкивание) и ничего не говорит мне об отмененных подписках. Я могу только генерировать отчеты о новых подписчиках.
Проверка квитанций и отправка квитанций в мою службу: не будет работать, потому что это зависит от пользователя, который фактически использует мое приложение. Теоретически пользователи могут подписаться в моем приложении, переключиться на Roku и больше никогда его не открывать.
Полностью отказаться от IAP и требовать от пользователей подписки через Интернет.
Я что-то упускаю? Мне действительно любопытно, как Netflix справляется с этим.