13

Как вы могли видеть, Google переносит свою систему Push Notification System.C2DM К облачным сообщениям Google (GCM)

Google Developer guide for GCM

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

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

ИЛИ

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

ИЛИ

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

ответ

13

Хотя миграция на стороне клиента проста (просто измените «отправитель» с адреса электронной почты на идентификатор проекта), вы все равно столкнетесь с головными болями перехода, если ваше приложение некоторое время использует C2DM. См. Мой вопрос здесь: Posting GCM notification to existing C2DM registration ids

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

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

+0

Рад, что я не одинок с этой проблемой, ну мне не очень нравится идея поддерживать две системы, но я действительно не хочу бросать свои существующие токены ... :-( –

1

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

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

+0

Это именно то, что рекомендуется в руководстве по миграции. Первый взгляд на руководство по миграции выглядит так, что его легко переносить для многих приложений. –

+0

Хорошо, но как вы справитесь с переходом? –

3

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

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

  1. Изменения отправителя проекта ID

Для стороны сервера:

  1. Добавить новый столбец в БД для хранения GCM регистрации идентификатора.
  2. Если запись пользователя с гсм регистра ид> затем нажмите на сервер> г см еще C2DM сервера

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

+0

Я согласен с ' существует », но не является чистым решением: -/У меня есть пользовательский агент, способ узнать, какая версия приложения используется пользователем, и я могу заставить обновление при запуске, но может показаться немного жестоким (и поэтому потеряет пользователей), поэтому я хочу избежать этого. –

Смежные вопросы