Отмена регистрации в push-уведомлениях, когда пользователь удаляет приложение
Я реализовал push-уведомления с помощью pubnub. У меня возникла следующая проблема: когда я удаляю приложение и сразу после этого устанавливаю его снова, приложение получает push-уведомление без регистрации в gcm. Я предполагаю, что это потому, что отмена регистрации в gcm не вызывается при удалении, а gcm server все еще имеет идентификатор регистрации устройства при второй установке.
3 ответа
Я не думаю, что это возможно, посмотрите здесь
Но вы можете сделать некоторую логику, чтобы избежать этого неожиданного поведения, если в вашем приложении пользователи должны войти в систему. Когда вы отправляете push-уведомление с сервера, вы должны отправить параметр для идентификации пользователя (например, userId). Затем, когда приложение получит уведомление, вы должны сравнить полученное значение с локальным значением (это локальное значение будет потеряно при удалении) и, если они не совпадают, остановите построитель уведомлений, отображающий уведомление.
Если вам нечего идентифицировать пользователя локально, вы можете установить логическое значение в SharedPreferences в значение true при регистрации для push. Если это логическое значение false, не показывать уведомление.
Вы можете создать 1 глобальную переменную, скажем, private int nStatus=0 и присвоить ей значение 1 в SharedData, а затем при запуске приложения вы можете проверить, имеет ли она значение 1 или 0, если это 1, создать уведомление, иначе не будет, потому что при удалении приложение, которое вы удаляете SharedData также
В начале вашего приложения, просто сделайте регистрацию снова в первом пункте. Таким образом, последний будет перезаписан, и gcm не доставит push до последнего идентификатора gcm.