Программируемый чат Android Twilio отключается, когда приложение переходит в фоновый режим
Я разработал приложение для чата, используя Twilio Programmable Chat SDK для Android.
Выпуск:
Есть два пользователя A & B, подключенные к каналу "AB_Private" и работающие в чате.
Теперь пользователь A нажимает кнопку "Домой" и помещает приложение в фоновый режим. Twilio SDK обнаруживает неактивность и начинает отправку ping на сервер, чтобы поддерживать соединение в рабочем состоянии.
Работает нормально 4-5 минут, но после этого отключите twilio от розетки и начните получать запрос. Но он никогда не соединится, пока пользовательское приложение не будет в фоновом режиме.
Теперь, когда приложение выходит на передний план, twilio сбрасывает сессию и пытается восстановить соединение, но для подключения требуется больше времени, иногда до 5 минут.
Итак, мой вопрос: как я могу поддерживать связь с Twilio, когда приложение работает в фоновом режиме?
Любая помощь будет оценена.
1 ответ
Twilio разработчик евангелист здесь.
Мы не можем поддерживать соединение, когда приложение находится в фоновом режиме, поэтому это невозможно.
Медленное время переподключения, вероятно, связано с отменой попыток переподключения, которые мы можем попытаться исправить в SDK.
А пока я рекомендую вам определить, когда приложение переходит в фоновый режим, и отключить клиент чата. Затем, когда ваш пользователь получит другое сообщение, он получит push-уведомление, после чего вы сможете повторно подключить клиента. Или когда приложение вернется на передний план, восстановите соединение.
Дайте мне знать, если это поможет.
Обновить
Это было расследовано и признано ошибкой в Twilio SDK. Только что выпущено исправление, чтобы разобраться с этим. Пожалуйста, обновите до последней версии SDK. Вы можете увидеть список изменений здесь:
Android:
- https://www.twilio.com/docs/api/chat/changelogs/android
- https://www.twilio.com/docs/api/chat/changelogs/android
IOS: