Когда запускаются автоматизации
Автоматизация отправляет данные с заданным каденсом так часто, как iOS позволяет Marrow работать в фоне. Marrow использует все способы, которыми Apple позволяет приложению проснуться. Точный момент выбирает Apple, и ни одно приложение не может читать Apple Health, пока телефон заблокирован.
Все руководства Marrow: MCP · Зеркало на своем сервере · Автоматизации · Файлы · Поддержка
Что делает Marrow
- Просыпается при новых данных о здоровье. Marrow просит Apple Health будить его в фоне, когда приходят новые данные, для каждого типа данных, который он синхронизирует: шагов, пульса, сна, тренировок и остального. Разбудить его может новое измерение с часов или из другого приложения.
- Всегда держит фоновое обновление в очереди. Уходя в фон, Marrow просит iOS об обновлении примерно через час, и каждое обновление планирует следующее, так что одно всегда ждет своей очереди.
- Наверстывает при открытии. При открытии Marrow считывает все новое и отправляет каждую автоматизацию, для которой подошел срок.
- При каждом пробуждении отправляет все, что пора. Каждый раз, когда Marrow просыпается, он считывает новые данные в свое хранилище, а затем отправляет каждую автоматизацию, для которой прошел интервал по каденсу.
- Закрывает пропуски. С вариантом С последнего запуска запуск отправляет все с момента последнего успешного, плюс два дня до него. Запуск, который пришел поздно, все равно отправит каждый пропущенный день.
- Записывает каждый запуск. Журнал активности хранит последние 30 запусков с временем и результатом.
Что решает Apple
Эти правила задает iOS, и они действуют для любого приложения, которое экспортирует данные Apple Health в фоне. Никакая настройка в Marrow не может их изменить.
- Никакого точного времени. iOS не позволяет приложению работать в фоне в выбранное им самим время. Приложение может попросить разбудить его, а iOS выбирает момент с учетом заряда батареи, сети, того, как часто вы пользуетесь приложением, и того, чем еще занят телефон. Ваш каденс означает самый короткий промежуток между запусками, а не расписание. «Каждый час» значит не чаще раза в час.
- Ничего, пока телефон заблокирован. Данные Apple Health зашифрованы, пока телефон заблокирован, и ни одно приложение не прочитает их до разблокировки. Запуски приостанавливаются на время блокировки и наверстывают упущенное после следующей разблокировки.
- Короткие окна. Фоновое пробуждение длится секунды, часто меньше 30. Большой объем данных или медленный приемник может не успеть за это время.
- Режим энергосбережения откладывает фоновое обновление, пока его не выключат.
- Обновление контента должно быть включено для Marrow, иначе iOS пропускает его запланированные обновления.
- Приложение смахнуто. Если смахнуть Marrow в переключателе приложений, iOS может не будить его в фоне, пока вы не откроете его снова.
- Данные с часов приходят пачками. Apple Watch передает данные на телефон время от времени, а не по одному измерению, поэтому новые данные (и пробуждение, которое они вызывают) могут отставать от момента измерения.
Чего ожидать
- Телефоном пользуются в течение дня: запуски примерно следуют вашему каденсу. Одни приходят вовремя, другие позже, а какой-то час может выпасть.
- Телефон заблокирован несколько часов, например ночью: запусков нет, а после разблокировки приходит запуск, который отправляет все накопившееся.
- Каденс раз в час не даст ровно 24 запуска в сутки. Пропуски возникают из-за того, как iOS планирует работу приложений, и следующий запуск их заполняет.
Как сделать запуски максимально регулярными
- Включите «Обновление контента» для Marrow: Настройки, Основные, Обновление контента.
- Держите Режим энергосбережения выключенным, когда запуски важны.
- Оставляйте Marrow в переключателе приложений, а не смахивайте его.
- Выберите С последнего запуска или диапазон длиннее самого большого пропуска, который вы ожидаете, чтобы даже поздний запуск охватил каждый день. Храните у себя последнее значение для каждого показателя и дня, и повторы не будут мешать.
- Делайте каждую отправку небольшой, чтобы она укладывалась в фоновое окно: Дневные итоги вместо варианта «Исходные записи», более короткий диапазон, одна автоматизация на каждый вид данных.
- Пусть ваш приемник отвечает сразу, а работу делает потом. Подробности в разделе Как написать приемник.
- Нужен запуск прямо сейчас? Откройте Marrow или нажмите Запустить сейчас в автоматизации.
Как проверить, что произошло
- Журнал активности (в автоматизации, в разделе Другие параметры): последние 30 запусков. Неудавшийся запуск показывает свою ошибку, а таблица устранения неполадок объясняет, что означает каждая.
- Нет записи, хотя вы ее ждали: в это время система iOS не будила Marrow, или телефон был заблокирован.
- Настройки, Доступ к Apple Health, Чтение из Apple Health: когда Marrow последний раз читал каждый тип данных. Недавнее время там означает, что Marrow просыпается.
- Уведомлять при запуске (Другие параметры): уведомление о каждом запуске, пока вы проверяете.
Все еще видите долгие пропуски, хотя пользуетесь телефоном? Напишите в поддержку, приложите снимок экрана Журнала активности и время, которое видел ваш приемник, и мы разберемся.