Как получить информацию о пользователях, которых нет в моем списке?

Я работаю над групповым чатом, используя robbiehanson/XMPPFramework. Я сделал отправку приглашения, принятие приглашения и обмен сообщениями в групповом чате. Здесь я хочу показать некоторую информацию о пользователе, который отправил сообщение в групповой чат, включая его аватар. Я могу получить информацию о пользователях из XMPPUserCoreDataStorageObject. этот случай применим только в том случае, если эти пользователи присутствуют в моем списке друзей. Мне нужно получить информацию о пользователях, которых нет в моем списке друзей. Есть ли какой-нибудь способ добиться этого. Пожалуйста, предложите мне


person Rafeeq    schedule 25.07.2016    source источник


Ответы (1)


В XMPP аватар (vcard) любого пользователя может быть получен независимо от записей в реестре. Поэтому, если вы пытаетесь запросить vcard любого другого пользователя вашего сервиса, это должно сработать. Если это не работает, укажите IQ "получить" и "результат" здесь для запроса vcard.

Однако, если вы пытаетесь запросить статус присутствия другого пользователя, тогда да, есть ограничение списка. Это можно преодолеть, реализуя следующую логику:

  • Пользователь регистрируется в вашем приложении (Android или iPhone), определяет зарегистрированные контакты вашего сервиса из книги контактов пользователя и автоматически добавляет их в свой список.

  • Также Реализуйте обработку запросов реестра в своем приложении, чтобы при получении запроса на разрешение другому пользователю добавить вас в свой реестр он автоматически принимал запрос и отправлял запрос этому пользователю, чтобы добавить его в свой реестр.

  • Теперь снова примите эту просьбу.

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

person Shoaib Ahmad Gondal    schedule 28.07.2016
comment
Но дело в том, что в своем приложении я хочу показать список участников, которым я отправил и принять запрос. Эту вещь я не могу положить в черный ящик от пользователя :) - person Rafeeq; 28.07.2016
comment
Затем для пользовательских требований вы можете внести некоторые изменения в код openfire, а проверку списка можно прокомментировать. Поскольку openfire является открытым исходным кодом, мы можем вносить пользовательские изменения и создавать проект. - person Shoaib Ahmad Gondal; 29.07.2016
comment
Да смотря на то же. Спасибо за твое сообщение :) - person Rafeeq; 29.07.2016