В настоящее время я оцениваю AWS AppSync как серверное решение для приложения обмена сообщениями.
У пользователей будет возможность просматривать новые группы чатов и другое представление, в котором они видят список своих присоединившихся и приватных чатов (в списке должны отображаться имя и последнее сообщение чатов). Каждый чат, конечно, будет иметь подробный вид, где отображаются все сообщения.
Вопрос в том, как оформить подписную часть. Моя мутация для отправки сообщения будет выглядеть примерно так:
createMessage(
content: String,
conversationId: ID!,
createdAt: String!,
id: ID!
): Message
Согласно документации по подписке, у меня есть только две возможности для оформления моей подписки. Либо я подписываюсь на все новые сообщения, либо на все новые сообщения из определенного разговора, используя идентификатор разговора в качестве аргумента.
Так что в моем случае мне нужно было бы получить все пользовательские разговоры, а затем сделать вызов по подписке для каждого разговора. Почему-то это похоже на проблему, но я не вижу другого пути (например, пользовательская фильтрация в настоящее время невозможна (по этой ссылке) )
Есть ли лучший способ подписаться на новые сообщения для определенного подмножества сообщений (только в разговорах, на которые я подписан)?
Возможно ли наличие 100 активных подписок на клиенте?
Заранее спасибо
Лука