Как реализовать "istyping" для приложения мессенджера в Swift? - PullRequest
0 голосов
/ 30 апреля 2018

Как я могу реализовать «isTyping» в моем приложении iOS messenger?

Моя идея:

Считайте, что у нас есть 2 пользователя.
когда user1 начинает печатать, клиентское приложение сообщает об этом серверу. Автоматическое push-уведомление отправлено пользователю user2
Это уведомление сообщает пользователю user2, что пользователь user1 печатает.
Когда пользователь1 перестает печатать, он сообщает серверу, и отправляется еще одно тихое push-уведомление, чтобы пользователь2 узнал об этом изменении.

Проблемы и вопросы по этой идее

  • тихие push-уведомления имеют низкий приоритет
  • Это хорошая идея, чтобы отправить несколько push-уведомлений для этого
  • Когда я отключил push-уведомление из приложения Telegram для iOS, оно продолжало оповещать о «isTypping», так есть ли лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Вы можете иметь одно поле DateTime в своей пользовательской таблице. Давайте произнесем lastTypedCharacter, сохраняем DateTime и обновляем его каждую секунду, когда пользователь A что-нибудь печатает. При отображении другому пользователю B сопоставьте lastTypedCharacter DateTime с текущим временем, если оно меньше 5 секунд, тогда вы можете предположить, что пользователь A больше не печатает

0 голосов
/ 30 апреля 2018

Вы можете использовать Firebase для хранения только информации о типизации между пользователями. Поскольку Firebase позволяет вам наблюдать за свойствами в режиме реального времени, вы можете изменять свои представления всякий раз, когда изменяется значение этого свойства.

...