Загрузка сообщений чата в приложение чата с Firestore - PullRequest
0 голосов
/ 27 ноября 2018

При создании приложения чата с React Native и Redux с помощью Firestore for backend, каков наилучший способ загрузки сообщений для определенного разговора?

Я отображаю 8 записей чата в начале, и когда янажмите на один, я увижу экран чата с 20 последними сообщениями.Является ли хорошей идеей реализовать в режиме реального времени слушателей для каждого чата (не для всех чатов, а только для тех, которые отображаются, потому что используется разбиение на страницы) 20 последних сообщений из каждой коллекции messages и заранее подготовить их?

Или лучше загрузить сообщения при открытии экрана сообщений конкретного чата.

Я понимаю, что с точки зрения пользователя первый вариант лучше, потому что нет задержки при отображении первых 20 сообщений для чата, но он не потребляет много данных, которые могут никогда не понадобиться, посколькуиз 8 чатов пользователь может взаимодействовать только с 2 или 3.

Есть ли лучший способ, кроме этих двух?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

По моему мнению, вам следует подумать об обновлении вашего UX, предоставив приложению автономные возможности, а не загружая ненужные данные одновременно.Вы должны получить данные для соответствующего чата и заставить свое приложение запоминать последние 10-20 сообщений, и вы всегда можете синхронизировать свои данные.Возможно, вы захотите рассмотреть Realm или SQLite .

Также для лучшего UX для экрана чатов, где будут отображаться чаты, вам следует подумать о создании chat-listузел для размещения последнего сообщения и отметки времени в каждом чате, так что вам не придется вкладывать запрос для каждого элемента чата только для одного рендеринга экрана.

0 голосов
/ 27 ноября 2018

Если это хорошая идея или нет, вам решать, какой тип приложения для чата вы хотите создать.Это всегда компромисс между задержкой, о которой вы говорили, и объемом данных, которые вы получаете, и которые пользователь может видеть или не видеть.Кроме того, если вы говорите, что у вас 8 чатов с 20 сообщениями, это означает, что по умолчанию, когда пользователь открывает ваше приложение чата, Firestore взимает с вас 8 * 20 = 160 операций чтения, даже еслиПользователь входит в чат или нет, и я думаю, что это не очень хорошая идея.Если у вас есть несколько пользователей, проблем не будет, но если ваше приложение будет расти, вы можете подумать еще раз об этом.В Firestore все зависит от количества операций чтения и записи согласно их тарифному плану .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...