Ответ 1
JID (идентификаторы Jabber/XMPP и, следовательно, идентификаторы Google Talk) имеют несколько форм.
Сначала это "голый JID", например: [email protected]
Во-вторых, это "полный JID", например: [email protected]/xyz123
, где xyz123
называется ресурсом.
Один пользователь может войти в свою учетную запись XMPP из нескольких клиентов одновременно, при условии, что каждый клиент использует уникальный ресурс. В Google Talk обычно сервер выделяет ресурс.
Когда вы разговариваете с кем-то на XMPP, вы обычно обращаетесь к сообщениям, используя их голый JID — вам не важно, к какому клиенту доставляется сообщение; этот персональный сервер направляет его соответствующему клиенту (-ам) на основе их доступности и т.д.
Но вы также можете обратиться к сообщению непосредственно с полным JID. Это то, что вы хотите сделать, так что только [email protected]/my-game-some-unique-ID
получает ваши специфические для игры сообщения.
Является ли API-интерфейс Google App Engine этой гибкостью, я понятия не имею:)
Альтернативный вариант; снова, если GAE разрешает это; - отправить другой тип сообщения.
X MPP - это e X, что означает, что вам не нужно отправлять обычную старую строфу <message/>
конечному пользователю; вы можете вставить специальную полезную нагрузку внутри него, как детскую строфу <game/>
, и, поскольку обычные IM-клиенты не знают, как разбирать ваши строфы <game/>
, они ничего не показывают пользователю. Только ваш игровой клиент проанализирует и поймет эту информацию.