Google Cloud Messaging для Chrome Web Push-уведомления Проблемы

Все мои вопросы относятся к Chrome Web Push-уведомлениям, выпущенным в Chrome версии 42.

1) API GCM возвращает «Успех» даже для тех идентификаторов регистрации, которые больше не действительны. Когда человек щелкает уведомление правой кнопкой мыши и нажимает «Отключить уведомления от xyz.com», человек больше не может получать уведомления. Однако, когда я отправляю тот же RegistrationID в GCM API, он все равно возвращает успех для этой конкретной регистрации. Когда я снова подпишусь, я получу новый RegistrationID. Поэтому я подозреваю, что предыдущий отключается. Это намеренное поведение? Есть ли способ узнать, отписались ли люди, щелкнув правой кнопкой мыши уведомление и пометив их как неактивных в нашей базе данных, на случай, если пользователь больше никогда не вернется.

2) В документации GCM для ошибки = NotRegistered говорится: «Клиентское приложение не настроено для получения push-сообщений или приложение было удалено с устройства». Не могли бы вы объяснить, что означает «Клиентское приложение не настроено на получение push-сообщений»?


person Kanishk Dudeja    schedule 23.09.2015    source источник
comment
Это два вопроса. но второй просто не зарегистрирован, значит, вы больше не можете отправлять на этот идентификатор. Пожалуйста, опубликуйте два вопроса, на которые вы можете получить ответы.   -  person e4c5    schedule 24.09.2015


Ответы (1)


Отключить уведомления от xyz.com

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

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

Отправка сообщений на этот идентификатор регистрации в конечном итоге начнет возвращать постоянную ошибку (одну из «InvalidRegistration», «NotRegistered», «InvalidPackageName», «MismatchSenderId»).

Вы можете увидеть рабочий пример этого в https://github.com/johnmellor/push-api-appengine-demo/blob/master/main.py#L349

person Miguel Garcia    schedule 03.12.2015