XMPP多用户聊天设置群聊的头像图像

Siv*_*tti 5 upload chat xmpp avatar

我正在开发一个具有聊天功能的iOS应用程序.我正在为该应用程序使用XMPP.在XMPP多用户聊天中,是否有任何功能可用于为会议室设置头像图像或组图像,就像我们在whatsapp中所做的那样?

我已经检查过XEP-0045扩展但没有帮助,

所以我通过创建会议室来检查Psi,我开始明白用户已经vcard可以存储他的头像图像但是XMPP没有为vcards我们创建的组提供任何内容.现在我可能理解为什么它不可用.

然而,我无法说服whatsapp能够如何实现.我还想到了一个替代方法,使用pub/sub通过url发送组图像.但我正在搜索XMPP提供的任何默认选项是否对我的眼睛无形.

请在XMPP中确认该功能是否可用?或建议您有任何不同的答案?

Vic*_*has 1

更好的解决方案是在其他服务器中托管图像,进行上传并获取该图像的公共路径,并作为组图像的自定义节进行共享。

例子

  1. 开始上传图片
  2. 获取公共图像路径,例如https://...some url.../groupimage_timestamp.jpg
  3. 将此消息作为群聊消息与以下节共享
<message from=abc@muc-light.chat.server.com to mygroup@muc-light.chat.server.com type=groupchat id=groupimage-XXXX>
  <body>groupimage</body>
  <metadata>
   <type>groupimage>
   <filesize>..bytes</filesize>
   <imageurl>https://...someurl.../groupimage_timestamp.jpg</imageurl>
  </metadata>
  </message>
Run Code Online (Sandbox Code Playgroud)
  1. 现在将此消息作为普通群组消息进行广播。
  2. 一旦任何收件人收到此消息,他将识别出每次更新时的组图像 url 都不同,因为末尾文件名的时间戳工厂不同(如果您使用图像缓存)
    1. 解析此节后它会自动更新此图像。

这就是我如何理解 Whatsapp 的人也在做的事情。