经过数小时的反复试验,我成功地进行了第一次成功的 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 后文档 ID。我看到有一个 String name 属性,但我想将它用于它的真正目的。
如何加入/离开 CubeDialog?(与添加和删除居住者不同)我们总是必须创建一个对话框吗?或者我们是否需要获取我们所在的对话框并以某种方式离开它们?
居住者应该能够离开对话框而无需管理员将其删除。我们如何做到这一点?
为什么 id 是整数?
为什么高级 FLutter API 上没有 void 返回类型?
参数参数不清楚。它们只是 Map<String, String> 对象,所以我们不知道要在其中放入哪些关键字段。例如;
Future<PagedResult<CubeDialog>> getDialogs([Map<String, dynamic> params]) {
return GetDialogsQuery(params).perform();
}
//What keys should I put in params to fully use pagination?