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

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

1 ответ

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

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

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

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

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

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

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