Нужен ли разный токен аутентификации для каждого пользователя для отправки сообщения с использованием C2DM? - PullRequest
0 голосов
/ 30 ноября 2011

Я знаю, что существует уникальное registartionId, полученное с адреса электронной почты пользователя для отправки сообщения на его устройство, но мне также нужно иметь разные идентификаторы аутентификации для каждого пользователя?

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

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

и снова, если я использую токен аутентификации, полученный из адреса электронной почты и пароля пользователя, и используя его регистрационный идентификатор, пользователь получит сообщение.

Ответы [ 3 ]

1 голос
/ 30 ноября 2011

authenticationToken подтверждает, что у вас есть действительная учетная запись Google и, таким образом, в целом разрешено отправлять сообщения C2DM. registrationToken напрямую связан с устройством пользователя и вашего приложения.Это позволяет вашему приложению использовать authenticationToken для отправки сообщения на устройство пользователя.

Вам необходимо один authenticationToken для отправки сообщений на все устройства, для которых у вас есть регистрационные токены .Тем не менее, обратите внимание, что вы должны забрать новый аутентификационный токен каждый раз, когда вы начинаете отправлять сообщения, так как они могут быть изменены Google наугад.счета для отправки и получения.

0 голосов
/ 30 ноября 2011

Вы правы, что токен аутентификации является статическим, он служит для аутентификации приложения в службе C2DM. Регистрационный идентификатор служит для идентификации пользователя, которому вы отправляете сообщение.

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

Обратите внимание, что C2DM предполагает, что вы используете серверный компонент для своего приложения, как описано здесь: http://code.google.com/intl/nl/android/c2dm/index.html#arch.

Если вы пытаетесь отправить сообщение на сервер C2DM с устройства, вы делаете это неправильно.

0 голосов
/ 30 ноября 2011

Насколько мне известно, токен аутентификации генерируется для идентификатора gmail c2dm и учетной записи gmail, настроенной на устройстве.

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

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

...