У нас есть две версии нашего приложения (бесплатная и платная), и мы хотим поддерживать push-уведомления для обеих из них, и обе они используют один и тот же сервер.
Пока мы можем обновлять пользовательские данные на сервере, поэтому, если пользователь переходит с бесплатной на платную версию, мы обновляем сервер, и пользователь начнет получать push-уведомления для платной версии.
Однако в прошлом я видел обновления приложений, которые негативно влияли на платную версию, и люди переходили на бесплатную версию. Это редкая ситуация, но как с этим справиться?
Логика, которую мы используем для регистрации токена, следующая: мы храним токен и подтверждение в пользовательских настройках (AppDefaults). Когда пользователь включает push-уведомления, мы проверяем, зарегистрированы ли в приложении эти параметры (notification_token и notification_token_confirmed_by_server). Если у нас есть токен, но он не подтвержден сервером (как в первый раз, когда вы включаете push-уведомление для приложения), мы отправляем токен на сервер вместе с версией приложения.
Итак, если у пользователя есть и платная версия на своем телефоне, и бесплатная версия, и он решил использовать бесплатную версию по какой-либо причине, после обновления платной версии, как лучше всего справиться с подобным сценарием?
Я видел одно приложение под названием Draw Something, которое просило пользователя удалить бесплатную версию, но я думаю, что это ужасное решение (вы не можете «попросить» своего пользователя что-либо сделать и основывать свою логику на этом!)