как пользователи отказываются от сообщения c2dm - PullRequest
0 голосов
/ 21 января 2012

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

проблема в том, что в Android нет надежного способа получить идентификатор устройства. все, что я прочитал, говорит: «просто создайте руководство при первом запуске приложения». ну, это нормально, но если пользователь запускает приложение, выбирает, затем удаляет и переустанавливает приложение, а затем отказывается, я не могу удалить это старое устройство (так как идентификатор устройства второй установки новый).

Я проверил, и старый идентификатор регистрации c2dm работает даже после удаления и переустановки.

есть предложения? как другие позволяют пользователям отказаться от уведомлений. как вы отслеживаете их устройства?

Ответы [ 2 ]

1 голос
/ 22 января 2012

Наличие идентификатора устройства - это хорошо, но вам не нужно использовать его для отказа. Когда вы отправляете сообщение C2DM со своего сервера, включите регистрационный идентификатор. Затем, когда устройство получает сообщение, оно может сравнить доставленный регистрационный идентификатор с тем, что, по его мнению, является его регистрационным идентификатором.

Если он совпадает, показать уведомление. Если он не совпадает, проверьте связь с вашим сервером и откажитесь от этого регистрационного идентификатора.

0 голосов
/ 21 января 2012

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

Вместо GUID я хотел бы получить привязанную к ним Android Market учетную запись (т.е. адрес электронной почты). Таким образом, переустановка не изменит ничего, если они используют ту же учетную запись Android Market.

...