Quickblox聊天设置在Xamarin C#SDK中将历史保存为true

Quickblox聊天设置在Xamarin C#SDK中将历史保存为true,c#,xamarin,sdk,quickblox,C#,Xamarin,Sdk,Quickblox,我正在使用。我想将消息发送到特定的对话框。在Xamarin特定的文档中没有很好的记录。我决定去参观。从那里我可以学到 通过使用Chat 2.0,您不会自动存储消息。此外,如果不将消息保存到历史记录,则不会创建/更新对话框实体 我可以推断,如果我将save_to_history设置为1,聊天对话框将自动创建,消息将存储在后端。但是,我不知道应该如何在C#SDK中指定,在这个方法签名中使用causeextraParam public void SendMessage(int userId, stri

我正在使用。我想将消息发送到特定的对话框。在Xamarin特定的文档中没有很好的记录。我决定去参观。从那里我可以学到

通过使用Chat 2.0,您不会自动存储消息。此外,如果不将消息保存到历史记录,则不会创建/更新对话框实体

我可以推断,如果我将
save_to_history
设置为1,聊天对话框将自动创建,消息将存储在后端。但是,我不知道应该如何在C#SDK中指定,在这个方法签名中使用cause
extraParam

public void SendMessage(int userId, string body, string extraParams, string dialogId, string subject = null, Quickblox.Sdk.Modules.ChatXmppModule.Models.MessageType messageType = Quickblox.Sdk.Modules.ChatXmppModule.Models.MessageType.Chat)
这只是一根绳子。我深入研究了反汇编代码,经过一些调查,了解到这个参数在内部用作XML,所以我尝试了这两个选项

var extraParams = "<extraParams> " +
                      "<save_to_history>1</save_to_history> " +
                  "</extraParams>";
var extraParams=“”+
"1 " +
"";
而且

var extraParams = "<save_to_history>1</save_to_history> ";
var extraParams=“1”;
但这些都不起作用。 有人知道我应该如何指定extraParam吗


关于

问题很简单,我在发送消息之前忘记呼叫connect。 下面是发送消息的方法

public async Task SendMessageAsync(IUser sender, IChatMessage message, string channelID, CancellationToken token)
    {
        await loginIfRequired(sender, token);
        var jsonMessage = JsonConvert.SerializeObject(message);
        var recipientID = await getQuickbloxUserId(message.RecipientID, token);
        var extraParams = "<extraParams> " +
                            "<save_to_history>1</save_to_history> " +
                          "</extraParams>";
        _quickblox.ChatXmppClient.SendMessage(recipientID, jsonMessage, extraParams, channelID);
    }
一切都很顺利,对话也就建立起来了。 希望这能帮助别人

_quickblox.ChatXmppClient.Connect(_currentUserID.Value, password);