经过数小时的试错,我成功地进行了第一次API调用,在Flutter中发送了一条群消息。但我不确定我做事情的方式是否正确。遗憾的是,这些文档并没有起到多大作用。这可能会少很多,信息量也会大得多。如果有人能回答这里的所有问题,我将非常高兴,因为这些答案对许多Connecty Cube初学者都很有用。
现在我打电话的顺序如下:
import 'package:connectycube_sdk/connectycube_chat.dart' as cc;
await cc.init(APP_ID, AUTH_KEY, AUTH_SECRET);
cubesession = await cc.createSession(); //create app session
//registeredUser = await cc.signUp(user); //if necessary
myuser = await cc.signInByLogin(userDocId, password);
cubeSession = await cc.createSession(myuser); //upgrade to user session
createdDialog = await cc.createDialog(newDialog); //is this for one time only? I can set the dialogId in the newDialog object but it is overwritten by a random uuid in the console. We should know what we can set and not clearly.
await cc.CubeChatConnection.instance.login(myuser); //login?? bad choice of a method mate. This starts the xmpp 2 way connection I guess.
subscribe and listen to cc.CubeChatConnection.instance.chatMessagesManager.chatMessagesStream
告诉我上面是否是调用API方法的正确方式/顺序。
此外,如何以及以何种顺序释放资源?CubeUser/CubeSession/CubeDialog/chatMessagesStream/CubeChatConnection
如何将自定义属性设置为CubeUser?我想通过我的Firebase用户文档id
如何将自定义属性设置为CubeDialog?我想传递我的Firebase post-doc id。我看到有一个String name属性,但我想将其用于实际用途。
如何加入/离开CubeDialog?(不同于添加和删除占用者(我们总是要创建一个对话框吗?还是我们需要得到我们所处的对话,然后以某种方式离开它们?
占用者应该能够在管理员不删除对话框的情况下离开对话框。我们该怎么做?
为什么id是整数?
为什么在高级FLutter API上没有空返回类型?
Param参数不清楚。它们只是Map<字符串,字符串>对象,所以我们不知道要在其中放入哪些关键字段。例如;
Future<PagedResult<CubeDialog>> getDialogs([Map<String, dynamic> params]) {
return GetDialogsQuery(params).perform();
}
//What keys should I put in params to fully use pagination?
GitHub 上有一个关于你的问题的帖子