1

Тема: Дізнатися, чи запущений додаток

Всім привіт. Розробляю додаток на Cordova, але буду вдячний якщо допоможете і натівним рішенням.

Задача: потрібно визначати чи запущений додаток в користувача.

Я бачу 2 варіанти:
1) телефон раз в 30 секунд відправляє на сервер деякі дані і вони зберігаються; на сервері я дивлюся коли був останній "пінг" і тоді орієнтуюся (похибка допускається в 1хв);
2) сервер запитує конкретний пристрій;

По першому варіанті є 1 проблема: дані перестають надсилатися коли додаток згортається і я не знаю, як це побороти. При другому варіанті я не розумію як це можна зробити)

Уточню, додаток працює як на android, так і на ios, але якщо підкажете рішення для якоїсь 1 платформи - буду дуже вдячний

2

Re: Дізнатися, чи запущений додаток

https://developer.android.com/guide/background

Декалог програміста-початківця: https://replace.org.ua/post/132988/
Подякували: leofun01, PRY2

3

Re: Дізнатися, чи запущений додаток

там 4 менеджери. який саме мені обрати? я не дуже розуміюсь на "натівній" розробці

4

Re: Дізнатися, чи запущений додаток

Все сильно залежить від того, що ви розумієте під фразою "визначати чи запущений додаток в користувача".
Наприклад, коли ви згортаєте додаток, Андроїд ставить його на паузу, і його код не виконується. У вашому розумінні це "запущений" чи ні?

Подякували: leofun011

5 Востаннє редагувалося koala (27.09.2019 15:40:25)

Re: Дізнатися, чи запущений додаток

taruk написав:

там 4 менеджери. який саме мені обрати? я не дуже розуміюсь на "натівній" розробці

Там прописаний детальний алгоритм, як саме визначити, який саме вам потрібен. Якщо ви не в змозі розібрати навіть цю блок-схему, то як ви плануєте далі читати документацію? Кожне наступне питання на форум викладати?

Прихований текст

Вам потрібен WorkManager, там навіть написано
WorkManager is intended for tasks that are deferrable—that is, not required to run immediately—and required to run reliably even if the app exits or the device restarts. For example:
- Sending logs or analytics to backend services
- Periodically syncing application data with a server

Ну і щоб не лишати відкрите питання - варіант 2 в загальному випадку неможливо реалізувати, ви ніколи не знаєте, яка наступна адреса буде у мобільного пристрою (а може статися що узагалі він буде за NAT).

Декалог програміста-початківця: https://replace.org.ua/post/132988/
Подякували: leofun01, PRY2