#flutter #connectycube
#flutter #connectycube
Вопрос:
После многих часов проб и ошибок мне удалось выполнить свой первый успешный вызов 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
Как мы можем установить пользовательское свойство для CubeDialog? Я хочу передать свой идентификатор Firebase post doc. Я вижу, что есть свойство String name, но я хочу использовать его для его реальной цели.
Как присоединиться / покинуть CubeDialog? (отличается от добавления и удаления пользователей) Всегда ли нам нужно создавать диалоговое окно? Или нам нужно получить диалоги, в которых мы находимся, и каким-то образом оставить их?
Пользователь должен иметь возможность покинуть диалоговое окно, не удаляя их администратором. Как нам это сделать?
Почему идентификатор является целым числом?
Почему в высокоуровневом API FLutter нет возвращаемых типов void?
Аргументы Param неясны. Это просто объекты 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?
Ответ №1:
на GitHub есть тема с вашим вопросом