我在使用消息ID連接iOS和Android設備及其相應的QBChat庫時遇到問題。在Quickblox中iOS和Android之間連接聊天的消息ID問題
Quickblox的iOS庫中的消息對象被定義爲QuickBlox的Android庫(將它們委託給SMACK庫中的Message類)中不存在的QBChatMessage對象。
問題是,QBChatMessage類管理消息ID的整數,而消息類管理他們作爲字符串。從我的Android設備發送的每條消息都有一個7個字符的唯一字符串+一個包含消息在SMACK聊天中的位置的數字。當我的iPhone收到消息,它的ID是從咂了ID的數量分析爲多,因爲它可以,因爲這種溝通樣品(從Android設備拍攝)中:
SENT <message id="D64u5-4" to="[email protected]" from="[email protected]/Smack" type="chat"><body>{"content":{"text":"hello"},"type":1}</body><thread>7J9230</thread></message>
SENT <message id="D64u5-5" to="[email protected]" from="[email protected]/Smack" type="chat"><body>{"content":{"text":"yeah"},"type":1}</body><thread>7J9230</thread></message>
SENT <message id="D64u5-6" to="[email protected]" from="[email protected]/Smack" type="chat"><body>{"content":{"text":"test"},"type":1}</body><thread>7J9230</thread></message>
RCV <message id="0" from="[email protected]" type="chat" xmlns="jabber:client" to="[email protected]"><body>{"content":{"text":"hello"},"type":1}</body></message>
RCV <message id="1" from="[email protected]" type="chat" xmlns="jabber:client" to="[email protected]"><body>{"content":{"text":"yeah?"},"type":1}</body></message>
RCV <message id="2" from="[email protected]" type="chat" xmlns="jabber:client" to="[email protected]"><body>{"content":{"text":"yeah!"},"type":1}</body></message>
消息的ID對我很重要,按數據庫存儲的順序。這怎麼可能?我該怎麼做才能解決這個問題?
謝謝,親切的問候! :)
非常感謝!在我看來,將iOS中的id改爲NSString將是最簡單和最好的解決方案。然而,我自己通過在Android中管理自己的id並使用SMACK的Message類進行通信來設法解決這個問題,而不是使用String進行通信。 – dinoenri 2013-04-23 09:50:46