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

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

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

2 ответа

Решение

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

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

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

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

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

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


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

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

Другие вопросы по тегам