Идентификатор отправителя Android C2DM - PullRequest
0 голосов
/ 29 марта 2012

Я некоторое время работал с de C2DM, и он работал отлично. Недавно я столкнулся с проблемой, которую, похоже, не могу решить, и не смог ничего на этом форуме помочь. Проблема в том, что у меня есть несколько приложений, использующих C2DM, я разрешил всем приложениям регистрироваться с одним и тем же идентификатором отправителя, который затем регистрирует маркер пользователя в моей базе данных. Проблема, если у пользователя есть два из моих приложений A & B (один и тот же идентификатор отправителя), и он запускает приложение A, и я отправляю push-уведомление пользователям приложения B, пользователь, запустивший приложение A последним, получит сообщение, которое фактически предназначено приложение B.

У меня вопрос, есть ли способ использовать один и тот же идентификатор отправителя для всех приложений, установленных на 1 устройстве?

1 Ответ

1 голос
/ 29 марта 2012

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

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

Я предполагаю, что когда вы говорите «идентификатор отправителя», вы имеете в виду регистрационный идентификатор.*

...