Подтвердить что ты не робот

C2DM для облачных сообщений Google (GCM)

Как вы, возможно, видели, Google переносит свою систему Push Notification System.

Руководство разработчика Google для GCM

Я думаю, что я не одинок, интересуюсь: есть ли токены, полученные из C2DM, все еще действительные для GCM?

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

ИЛИ

Я могу поддерживать параллельные системы, что я не думаю, что это хорошее решение.

ИЛИ

Продолжайте использовать C2DM до его завершения, затем я умру вместе с ним: -)

4b9b3361

Ответ 1

Хотя миграция на стороне клиента проста (просто измените "отправитель" с адреса электронной почты на идентификатор проекта), вы все равно столкнетесь с головными болями перехода, если ваше приложение некоторое время использует C2DM. См. Мой вопрос здесь: Отправка уведомления GCM о существующих идентификаторах регистрации C2DM

В основном проблема заключается во время перехода, вам нужно поддерживать идентификаторы регистрации устройства из старого приложения C2DM и новые идентификаторы из вашего нового приложения, которое использует GCM. Если вы не сможете заставить всех своих пользователей обновить все сразу, вам необходимо создать дополнительную логику (например, добавить новый столбец в таблице базы данных, чтобы указать идентификатор GCM reg) на сервере, чтобы иметь дело с отправкой уведомлений как для C2DM, так и для GCM для в обозримом будущем.

Если ваш сервер отправляет только уведомления обо всех устройствах, это должно быть легко переносится, так как вы можете просто вставлять уведомления C2DM и GCM на все устройства в своей базе данных и постепенно удалять устаревшие или те NotRegistered устройства из старых регистраций C2DM, Со временем вы должны увидеть меньше и меньше идентификаторов регистрации устройств C2DM в своей базе данных.

Ответ 2

Я перенес свое приложение из C2DM в GCM. Нет, я не должен был мигрировать. Правильный термин, который должен "сосуществовать" как для C2DM, так и для GCM. Потому что я не могу заставить всех моих текущих пользователей перейти на GCM. Моя цель - убедиться, что и новые (см. GCM), и существующие (см. C2DM) пользователи могут получать push-сообщения.

Для клиентской стороны:

  • Измените отправителя на id проекта

Для серверной части:

  • Добавить новый столбец в db для хранения идентификационного регистра GCM.
  • Если запись пользователя с идентификатором регистра gcm > затем нажмите на gcm server > else c2dm server

До сих пор я могу добиться своего возражения. Но моя единственная забота - когда c2dm полностью отключится? Если день действительно наступит, как я полагаю, чтобы мой старый пользовательский апгрейд стал gcm?

Ответ 3

На сайте документации разработчика Android есть руководство по миграции.

C2DM продолжит оказывать поддержку некоторое время. Лучше перенести наше приложение в GCM и опубликовать обновленную версию нашего приложения. (Согласно моему мнению)