Использование XMPP для push-уведомлений пользователей на Android - любой способ нацелить их, чтобы они не переходили в Google Talk и т. Д. - PullRequest
12 голосов
/ 18 марта 2010

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

Пользователю было бы очень неприятно получить кучу командных кортежей или шестнадцатеричный мусор в своем чате Google! Я неправильно понимаю, как все это работает?

Ответы [ 2 ]

16 голосов
/ 19 марта 2010

JID (идентификаторы Jabber / XMPP и, следовательно, идентификаторы Google Talk) имеют несколько форм.

Во-первых, «голый JID», например: user@example.com
Во-вторых, это "полный JID", например: user@example.com/xyz123, где xyz123 называется ресурсом .

Один пользователь может войти в свою учетную запись XMPP с нескольких клиентов одновременно, если каждый клиент использует уникальный ресурс. В Google Talk обычно сервер выделяет ресурс.

Когда вы общаетесь с кем-то по XMPP обычно, вы обращаетесь к сообщениям, используя их чистый JID & mdash; вам не важно, какому клиенту доставлено сообщение; сервер этого человека направляет его соответствующим клиентам в зависимости от их доступности и т. д.

Но вы также можете адресовать сообщение напрямую к полному JID. Это то, что вы хотите сделать, чтобы только user@example.com/my-game-some-unique-ID получал ваши специфичные для игры сообщения.

Предоставляет ли Google App Engine API такую ​​гибкость, я понятия не имею:)


Альтернатива & mdash; еще раз, если GAE позволяет это & ​​mdash; это отправить другой тип сообщения.
X MPP - это e X , что означает, что вам не нужно отправлять простой старый <message/> строф конечному пользователю; вы можете вставить туда специальную полезную нагрузку, например, <game/> дочерний раздел, и, поскольку обычные клиенты IM не знают, как анализировать ваши <game/> разделы, они ничего не показывают пользователю. Только ваш игровой клиент будет анализировать и понимать эту информацию.

1 голос
/ 28 апреля 2010

«Xtify имеет готовое решение, которое запускает вариант XMPP. Затем вы можете использовать их веб-сервис для отправки уведомлений и пользовательских данных и намерений на устройство и в ваше приложение. Я использовал там более стандартное решение (платформа для push и управления), но push-API работает и является бесплатным.

...