Size: a a a

Cordova — русскоговорящее сообщество

2019 July 11

I

Igor in Cordova — русскоговорящее сообщество
Коллеги! Как так сделано?
В телеге в офлайне удаляешь например чат. Выходишь. Включаем интернет. И не возвращаясь в приложение эти данные как то улетают на сервер
источник

I

Igor in Cordova — русскоговорящее сообщество
как будто стоят в очереди в самом устройстве на отправку
источник

АК

Алмаз Казаков in Cordova — русскоговорящее сообщество
У меня коллега сделал так, грубо примерно так,
№1 - есть функция которая проверяет на сервис на доступность,
№2 - есть функция которая кладет в массив(данные на отложенные веб запросы, можно дублировать и хранит локально на устройстве),
№3 - есть функция на обработку, которая пробегается по этим запросам
При каждом веб запросе, условно проверяется на доступность сервиса №1, удачно, запускается обычный axios, нет запускается  №2, потом уже при онлайн, запускается №3

Мое мнение - если приложение не развлекаловка, то лучше так не делать, а показывать сообщение об ошибке или сообщение об отсуствии интернета или не доступности сервиса. Пользователь сделав какое то действие уверен, что все ок. А на самом деле может пройти и пару суток
источник

MK

Maxim Kazantcev in Cordova — русскоговорящее сообщество
я думаю суть вопроса была в том что он сделал какие то действия в оффлайне а потом вышел из приложения. как не запущенное приложение после выхода в инет отправило информацию ?
источник

I

Igor in Cordova — русскоговорящее сообщество
Maxim Kazantcev
я думаю суть вопроса была в том что он сделал какие то действия в оффлайне а потом вышел из приложения. как не запущенное приложение после выхода в инет отправило информацию ?
телега так делает
источник

I

Igor in Cordova — русскоговорящее сообщество
я удалил чат в офлайне. свернул. включил вайфай, чат удалился на серваке
источник

I

Igor in Cordova — русскоговорящее сообщество
Алмаз Казаков
У меня коллега сделал так, грубо примерно так,
№1 - есть функция которая проверяет на сервис на доступность,
№2 - есть функция которая кладет в массив(данные на отложенные веб запросы, можно дублировать и хранит локально на устройстве),
№3 - есть функция на обработку, которая пробегается по этим запросам
При каждом веб запросе, условно проверяется на доступность сервиса №1, удачно, запускается обычный axios, нет запускается  №2, потом уже при онлайн, запускается №3

Мое мнение - если приложение не развлекаловка, то лучше так не делать, а показывать сообщение об ошибке или сообщение об отсуствии интернета или не доступности сервиса. Пользователь сделав какое то действие уверен, что все ок. А на самом деле может пройти и пару суток
и да и нет
источник

MK

Maxim Kazantcev in Cordova — русскоговорящее сообщество
а не стоп - ты свернуууул….ну все просто тогда
источник

I

Igor in Cordova — русскоговорящее сообщество
ну вот ты едешь в метро. Нет интернета. ты накидал сообщений в чат
источник

MK

Maxim Kazantcev in Cordova — русскоговорящее сообщество
делаеш сервис с websocket. на сокет вешаеш листенеры что он online/offline. делаеш стек сообщений. удаляеш из стека сообщений то что ты получил в обратку. в итоге когда у тебя произойдет разрыв сокета, не отправленные сообщения будут висеть. при восстановлении сокета - отправляеш их. при свернутом состоянии приложения - оно еще какое то время работает типа в фоне. пока не будет убито OS
источник

I

Igor in Cordova — русскоговорящее сообщество
Maxim Kazantcev
делаеш сервис с websocket. на сокет вешаеш листенеры что он online/offline. делаеш стек сообщений. удаляеш из стека сообщений то что ты получил в обратку. в итоге когда у тебя произойдет разрыв сокета, не отправленные сообщения будут висеть. при восстановлении сокета - отправляеш их. при свернутом состоянии приложения - оно еще какое то время работает типа в фоне. пока не будет убито OS
ну у мня сообщения в сокете. а втот то что надо сделать нет :)
источник

MK

Maxim Kazantcev in Cordova — русскоговорящее сообщество
ну вот надо настроить нормальный стек на отправку. ну и обработку онлайн / оффлайн
источник

NK

Nikolay Kuznetsov in Cordova — русскоговорящее сообщество
Файрбейз вроде сразу поддерживает оффлайн синхронизацию
источник

I

Igor in Cordova — русскоговорящее сообщество
Nikolay Kuznetsov
Файрбейз вроде сразу поддерживает оффлайн синхронизацию
ДА? я выбрал писат ьсвою :0
источник

М

Мгер in Cordova — русскоговорящее сообщество
Друзья, я протестил плагин phonegap-plugin-push. В нем получается можно отловить уведомление, но только тогда, когда я авторизован в приложении.
источник

М

Мгер in Cordova — русскоговорящее сообщество
А как сделать так что можно было отловить переход с push, даже когда приложение не запущено ?
источник

MK

Maxim Kazantcev in Cordova — русскоговорящее сообщество
причем тут авторизация ? может ты его инициалиируеш криво - после авторизации. а по сути можно сразу после запуска- даже если ты не авторизован. отправлять на сервер чисто айди устройства. а уже когда авторизуешся - делаеш связку поьзователя к айди устройству.
источник

MK

Maxim Kazantcev in Cordova — русскоговорящее сообщество
Мгер
А как сделать так что можно было отловить переход с push, даже когда приложение не запущено ?
ОДИН раз приложение запустить надо. а дальше - по нажатию на пуш - приложение запускается и событие listener должно отработать нормально. даже если приложение было закрыто.
источник

М

Мгер in Cordova — русскоговорящее сообщество
У меня после деактивации приложения, событие инициализации с Firebase делается заново. Каждому юзеру уникальные уведомления приходят. Реализовывал, не я, пытаюсь понять как лучше сделать
источник

MK

Maxim Kazantcev in Cordova — русскоговорящее сообщество
что есть деактивация приложения
источник