Обработка нескольких подписок в GooglePlay

В ios и amazon у нас есть семейство подписок — например, если я купил подписку на один месяц, я не могу приобрести шестимесячную подписку того же семейства. Но похоже, что это не так в Google Play. Например, у пользователя может быть действующая месячная подписка с одновременной действующей годовой подпиской.

Должны ли мы обрабатывать логику запрета пользователю покупать вторую подписку, если он уже подписался на одну подписку?




Ответы (1)


В iOS пользователь может изменить продолжительность одного и того же семейства подписок на своей странице управления подпиской iTunes. На Android вы должны реализовать это в приложении, используя метод getBuyIntentToReplaceSkus():

Этот метод используется для повышения или понижения стоимости подписки. Этот метод аналогичен getBuyIntent(), за исключением того, что он принимает список уже приобретенных SKU, которые должны быть заменены приобретаемыми SKU. Когда пользователь завершает покупку, Google Play отменяет старые SKU и начисляет пользователю неиспользованное время подписки на пропорциональной основе. Google Play применяет этот кредит к новой подписке и не начинает выставлять счет пользователю за новую подписку до тех пор, пока кредит не будет израсходован.

http://developer.android.com/google/play/billing/billing_reference.html#upgrade-getBuyIntentToReplaceSkus

person Marc Greenstock    schedule 24.01.2016