我已经尝试过QB提供的示例代码,但是事件订阅不起作用,并且方法主体从不执行。我附上我的代码以供参考
subscribeToEvent()异步{
try {
await QB.chat.subscribeMessageEvents( QBChatEvents.RECEIVED_NEW_MESSAGE, (data) {
print("dbee inside event subscribeMessageEvents");
Map<String, Object> map = new Map<String, dynamic>.from(data);
String messageType = map["type"];
String messageBody = "system message";
if (messageType == QBChatEvents.RECEIVED_NEW_MESSAGE) {
Map<String, Object> payload =
new Map<String, dynamic>.from(map["payload"]);
messageBody = payload["body"];
String messageId = payload["id"];
print("dbee $messageBody $messageId");
}
}, );
} on Exception catch (e) {
print("Error in subscribing");
print(e);
}
我可以看到XMPP日志在收到新消息时打印在控制台上,但是从不调用订户。
确保使用的是最新版本的QuickBlox Flutter SDK:0.2.3-alpha。
下一步,请执行以下步骤:
请注意,传出消息也将出现在回调QBChatEvents.RECEIVED_NEW_MESSAGE
中。