Ведение и организация покупок на нескольких платформах

У меня есть приложение для разных платформ. Пусть это будут iOS, Android и Windows. Чтобы использовать приложение, необходимо вносить ежемесячную плату, но ее нужно заплатить только один раз, чтобы использовать все платформы. Это то же самое, что и в случае со Spotify, поэтому, заплатив один раз, можно использовать любую платформу.

Согласно рекомендациям Google и Apple, я должен предлагать покупки в приложении за ежемесячную плату. Система подключена к учетным записям пользователей, которыми управляет сервер, находящийся под моим контролем. Я храню данные о подписке пользователей, поэтому, если пользователь использует In-App Purchases на iOS, информация передается на центральный сервер, чтобы также разблокировать Android-приложение (в случае, если оно было оплачено на другой платформе). уже)

Проблема заключается в следующем сценарии: У пользователя есть действующая подписка, оплаченная через Google Play. Приложения для iOS и Windows также разблокированы. Теперь пользователь удаляет приложение Android, переходит на сайт Google Play и отменяет подписку. В текущем сценарии я не могу обнаружить это, и подписка будет действительна для всех других платформ.

Вопрос в том, есть ли какой-нибудь способ обойти эту проблему? Spotify и компания также решают эту проблему, поэтому для этого должно быть решение.


person thardes2    schedule 07.06.2017    source источник


Ответы (1)


Что ж, сервер, который обрабатывает авторизацию пользователя (то есть ваш сервер), должен запросить API подписки Google, чтобы проверить, действительна ли текущая подписка. Каждый ресурс SubscriptionPurchase содержит информацию об истечении срока действия подписки.

(см. https://developers.google.com/android-publisher/api-ref/purchases/subscriptions)

Для Apple применяется то же самое: вы получите квитанцию, и с этой квитанцией вы можете в любое время запросить сервер, чтобы проверить, действительна ли эта подписка.

На слайде очень хорошо обобщаются эти моменты и подводные камни: https://speakerdeck.com/rosapolis/the-recurring-nightmare-cross-platform-in-app-subscription-purchases

Итог: вы не сможете сделать это без сервера, который обеспечивает связь между двумя магазинами. Однако это сопряжено с проблемами, как показано на слайде.

Бонус: обсуждение, из которого взяты слайды, также есть на Youtube

person Daniel Gilbert    schedule 07.06.2017
comment
Пункт с Google Subscription API действителен, я уже пользуюсь этой частью. Я не уверен насчет части Apple, я проверю это. Пока спасибо :-) - person thardes2; 07.06.2017
comment
Главное — это эта статья от Apple. . С моей точки зрения, самый простой способ — это какой-то интерфейс на доверенном сервере, который перенаправляет эти запросы на серверы Apple. Спасибо за помощь :-) - person thardes2; 08.06.2017