0

メッセージ ID を使用して、iOS および Android デバイスを対応する QBChat ライブラリに接続する際に問題が発生しています。

Quickblox の iOS ライブラリのメッセージ オブジェクトは QBChatMessage オブジェクトとして定義され、Quickblox の Android ライブラリには存在しません (SMACK ライブラリの Message クラスに委譲します)。

問題は、QBChatMessage クラスがメッセージ ID を整数として管理しているのに対し、Message クラスはそれらを文字列として管理していることです。Android デバイスから送信されたすべてのメッセージには、7 文字の一意の文字列と、SMACK チャットでのメッセージの位置を示す数字が含まれています。私の iPhone がメッセージを受信すると、その ID は、この通信サンプル (Android デバイスから取得) のように、可能な限り解析された SMACK からの ID を持つ数字です。

SENT <message id="D64u5-4" to="102521-1799@chat.quickblox.com" from="132505-1799@chat.quickblox.com/Smack" type="chat"><body>{"content":{"text":"hello"},"type":1}</body><thread>7J9230</thread></message>
SENT <message id="D64u5-5" to="102521-1799@chat.quickblox.com" from="132505-1799@chat.quickblox.com/Smack" type="chat"><body>{"content":{"text":"yeah"},"type":1}</body><thread>7J9230</thread></message>
SENT <message id="D64u5-6" to="102521-1799@chat.quickblox.com" from="132505-1799@chat.quickblox.com/Smack" type="chat"><body>{"content":{"text":"test"},"type":1}</body><thread>7J9230</thread></message>

RCV <message id="0" from="102521-1799@chat.quickblox.com" type="chat" xmlns="jabber:client" to="132505-1799@chat.quickblox.com"><body>{"content":{"text":"hello"},"type":1}</body></message>
RCV <message id="1" from="102521-1799@chat.quickblox.com" type="chat" xmlns="jabber:client" to="132505-1799@chat.quickblox.com"><body>{"content":{"text":"yeah?"},"type":1}</body></message>
RCV <message id="2" from="102521-1799@chat.quickblox.com" type="chat" xmlns="jabber:client" to="132505-1799@chat.quickblox.com"><body>{"content":{"text":"yeah!"},"type":1}</body></message>

メッセージの ID は、データベース ストレージの順序で重要です。これはどのように可能ですか?この問題を解決するにはどうすればよいですか?

よろしくお願いします!:)

4

2 に答える 2