Определите версию приложения, на которую нужно отправлять push-уведомление Apple (бесплатная или платная версия приложения)

У нас есть две версии нашего приложения (бесплатная и платная), и мы хотим поддерживать push-уведомления для обеих из них, и обе они используют один и тот же сервер.

Пока мы можем обновлять пользовательские данные на сервере, поэтому, если пользователь переходит с бесплатной на платную версию, мы обновляем сервер, и пользователь начнет получать push-уведомления для платной версии.

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

Логика, которую мы используем для регистрации токена, следующая: мы храним токен и подтверждение в пользовательских настройках (AppDefaults). Когда пользователь включает push-уведомления, мы проверяем, зарегистрированы ли в приложении эти параметры (notification_token и notification_token_confirmed_by_server). Если у нас есть токен, но он не подтвержден сервером (как в первый раз, когда вы включаете push-уведомление для приложения), мы отправляем токен на сервер вместе с версией приложения.

Итак, если у пользователя есть и платная версия на своем телефоне, и бесплатная версия, и он решил использовать бесплатную версию по какой-либо причине, после обновления платной версии, как лучше всего справиться с подобным сценарием?

Я видел одно приложение под названием Draw Something, которое просило пользователя удалить бесплатную версию, но я думаю, что это ужасное решение (вы не можете «попросить» своего пользователя что-либо сделать и основывать свою логику на этом!)


person user200341    schedule 29.04.2012    source источник
comment
Вы нашли решение этой проблемы?   -  person Rahul Patel    schedule 16.08.2013


Ответы (1)


В конце концов, решение заключалось в отправке push-уведомлений той версии приложения, с которой пользователь последний раз вошел в систему.

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

person user200341    schedule 30.04.2012