Определить, когда новая учетная запись была создана или запрос на подписку? - PullRequest
0 голосов
/ 21 октября 2011

Мы разрабатываем систему уведомлений на основе XMPP, у нас есть сервер и несколько устройств Android, а наш сервер OpenFire действует как коммуникационный шлюз.

На стороне сервера имеется пакет OSGi, который отвечает за получение всех сообщений от устройств и сопоставление соответствующих действий.

Я хочу избежать анонимного входа в систему, чтобы иметь некоторый контроль над тем, кто отправляет сообщения на сервер, но с другой стороны, я хочу, чтобы клиент автоматически регистрировался при использовании нашего Android-клиента.

Итак, моей первой идеей было либо прослушать AccountManager и проверить любую вновь созданную учетную запись и, если это произойдет, добавить ее в список серверов.
Второй вариант - обрабатывать все запросы на подписку, проверять что угодно и добавлять его в реестр серверов на всякий случай. Очевидно, что для второго варианта клиент должен запросить подписку на сервер, но этого легко достичь.

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

Любые другие рекомендации / предложения, кроме этих двух, также приветствуются.

1 Ответ

1 голос
/ 24 октября 2011

Похоже, что pubsub ( XEP-0060 ) подойдет лучше, так как он совсем не требует вашего управления реестром.Устройства Android становятся издателями, и ваш пакет будет подписчиком.

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

Некоторые документы для Smack на pubsub .

...