我们正在使用最新的Jars / SDK进行读取/传递状态,并使用Web服务在所有平台Android / iOS / Web上发送消息。
我发送的邮件为SetMarkable(True)
,但双方都收到了false
。
如果我从Quickblox服务器重新加载所有消息,那么我可以看到所有消息都按照要求具有读取/传递ID但可标记属性为“0”/ false。
以下是有关聊天工作方式的一些细节: 我们打开聊天屏幕并加载我们的旧聊天。我们可以根据产品多次与一个用户创建聊天,因此为了满足这一要求,我们创建了一个聊天为私人的群组对话框。在发布消息时,我们首先将消息发送到组,然后发送到私人聊天。另请注意,我们正在使用自定义参数。
在android中
这是我们的json,用于将信息发布到群组对话框中:
JSONObject jsonChild1 = new JSONObject();
//jsonChild1.put("id", id);
jsonChild1.put("chat_dialog_id", chat_dialog_id);
jsonChild1.put("message", message);
jsonChild1.put("send_to_chat", send_to_chat);
jsonChild1.put("markable", "1");
jsonChild1.put("product_id", productId);
Utility.showLog("Json String is", "" + jsonChild1.toString());...
这是我们的json用于将信息发布到组对话框中,作为回报,我们得到响应,其中我们的可标记值为1.但是,当我们重新获取历史记录时,其可标记值为0,尽管readId
和{{{ 1}}工作正常。
用于私下发布数据:
deliverId
虽然webservice相同 - 两者都是“https://api.quickblox.com/chat/Message.json”,但差异在于参数。
另外,在旧罐子里我们有 JSONObject jsonChild1 = new JSONObject();
//jsonChild1.put("id", id);
jsonChild1.put("send_to_chat", send_to_chat);
jsonChild1.put("markable", "1");
jsonChild1.put("product_id", productId);
jsonChild1.put("grp_msg_dialog_id", chat_dialog_id);
jsonChild1.put("save_to_history", "1");
jsonChild1.put("recipient_id", otherUserChatId);
jsonChild1.put("message", message);
和processMessageDelivered
但是在新的罐子里我们尝试应用新的类,即消息processmessageRead
,但它也不起作用。带有新罐子的演示不包含与消息状态相对应的任何信息。消息状态在旧罐子中工作,我只接收消息传递状态而不是消息读取...因为可标记值每次都是“0”或假。
UPDATE :我们需要回调中的可标记属性,例如以下代码可以工作: 在android中:
StatusListener
答案 0 :(得分:0)
QuickBlox仅在实时消息中使用 markable = 1 来通知其他用户发件人希望收到有关他发送的消息的状态。
来自REST API的消息中没有名为 markable 的字段。
如果您在应用中使用了已读状态和已发送状态,那么您只需检查 readIds 和 deliverIds 字段,如果数组中没有您的ID,则只需发送读取或交付状态。
<强> UPD 强>
我通过投掷测试了它
以下是我在Android上收到的内容
11-24 08:50:59.417 13621-14361/com.sdk.snippets I/Snippet: received
message: QBChatMessage{id=56548243a0eb474de5000041, sender_id=5179221,
recipient_id=5179218, body=blablabla, properties=
{dialog_id=55ed5c7e05244fbde8c45e83, message_id=56548243a0eb474de5000041,
save_to_history=1, date_sent=1448378947}, attachments=[],
dialogId=55ed5c7e05244fbde8c45e83, dateSent=1448378947, markable=true,
readIds=null, deliveredIds=null} from user: 5179221, dialogId:
55ed5c7e05244fbde8c45e83
正如你在这里看到markable = true