Перейти к содержимому

API виджетов iOS для всего, что говорит по HTTP

PushWard — это API для виджетов iOS от Apple: один раз объявите виджет, а затем управляйте экраном «Домой», экраном блокировки и режимом ожидания iPhone обычными HTTP-запросами. Каждое обновление запускает обновление WidgetKit по push — никаких опросов, никакого кода WidgetKit, никакого Xcode, никакой проверки в App Store с вашей стороны.

Что такое виджет экрана «Домой» iOS?

Виджеты — это поверхности Apple для быстрого взгляда: маленькие, всегда видимые плитки на экране «Домой», экране блокировки и в режиме ожидания iPhone, показывающие информацию без открытия приложения. Они создаются с помощью WidgetKit — фреймворка Apple, работающего на устройстве, — и обычно каждый принадлежит приложению, которое вам пришлось бы самому создать, подписать и выпустить. Виджеты PushWard устроены иначе: их отрисовывает приложение PushWard, а их содержимое приходит из ваших вызовов API — показание датчика, проверка состояния сервера, счётчик деплоев, всё, что можно отправить как JSON.

Как работает API

Зарегистрируйте виджет запросом POST, затем обновляйте его запросом PATCH — вот и весь цикл. Каждое обновление отправляет лёгкий push через Apple Push Notification service, который велит WidgetKit перезагрузить ленту виджета, — новое значение появляется без единого опроса со стороны виджета. Необязательный ограничитель push на виджет объединяет источники, шлющие данные всплесками.

Регистрация и обновление виджета по HTTP
# 1. Register a widget
curl -X POST https://api.pushward.app/widgets \
  -H "Authorization: Bearer hlk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "slug": "cpu-load", "name": "CPU Load", "content": {
    "template": "progress", "value": 0.42,
    "label": "load avg", "icon": "cpu", "accent_color": "cyan"
  } }'

# 2. Update it - WidgetKit refreshes the widget
curl -X PATCH https://api.pushward.app/widgets/cpu-load \
  -H "Authorization: Bearer hlk_YOUR_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -d '{ "content": { "value": 0.78, "accent_color": "orange" } }'

Десять шаблонов виджетов

Выберите макет под данные: одиночное значение, индикатор прогресса, световой индикатор состояния, шкала, список показателей, спарклайн тренда, обратный отсчёт, уровень заряда, расписание или поток между точками. Каждый шаблон нативно отрисовывается приложением PushWard, так что ваши данные попадают в отточенный макет без какой-либо работы над дизайном.

Посмотреть шаблоны виджетов →

Интерактивные виджеты, которые действуют

Виджет может нести до трёх действий по касанию: отправить тихий вебхук, не покидая экран «Домой», перейти по глубокой ссылке в другое приложение или открыть URL. Перезапустите сервер, запустите быструю команду или подтвердите оповещение прямо из виджета — приложению PushWard даже не нужно открываться.

Работает с вашим стеком

Питайте виджеты из инструментов, которые у вас уже есть: оповещение Grafana переключает индикатор состояния, автоматизация Home Assistant обновляет температуру, задача GitHub Actions увеличивает счётчик деплоев, cron-скрипт публикует возраст резервной копии. Всё, что умеет отправить HTTP-запрос, может владеть виджетом.

Все интеграции →

Виджеты и Эфиры активности вместе

Виджеты и Эфиры активности дополняют друг друга: виджет — это постоянный фоновый статус, который остаётся на экране «Домой», пока его не уберут, а Эфир активности — задача с началом и концом, которая на время выполнения закрепляется на экране блокировки и в Dynamic Island. PushWard управляет обоими через один и тот же REST API и один и тот же ключ интеграции.

Узнать об API Эфиров активности →

Часто задаваемые вопросы

Это официальный API WidgetKit от Apple?

Нет. WidgetKit — это фреймворк Apple, работающий на устройстве, и использовать его напрямую значит создать и выпустить собственное iOS-приложение с виджет-расширением. PushWard — независимый API виджетов iOS: приложение PushWard поставляет расширение WidgetKit, а ваши HTTP-запросы решают, что оно показывает.

Как быстро обновляются виджеты?

Каждый PATCH запускает лёгкий push, который велит WidgetKit перезагрузить виджет, поэтому обновления обычно приходят за считанные секунды. Ограничитель push на виджет (от 1 секунды до 1 часа) объединяет источники со всплесками, удерживая обновления в пределах бюджета, который iOS выделяет расширению.

Работают ли виджеты на экране блокировки и в режиме ожидания?

Да. Виджеты PushWard можно добавить на экран «Домой», экран блокировки и в режим ожидания iPhone. Компактные аксессуарные слоты экрана блокировки отрисовывают сжатый макет, а касание открывает настроенное действие по касанию.

Нужно ли получателям установленное приложение?

Да — бесплатное iOS-приложение PushWard (iOS 26 или новее) отрисовывает виджеты и регистрирует их в галерее виджетов iOS. Вам не нужно ничего создавать или отправлять в App Store.

Попробуйте API виджетов iOS

Соберите полезную нагрузку виджета в playground и посмотрите, как он отрисуется на симулированном iPhone, или прочитайте руководство по началу работы и зарегистрируйте первый виджет с помощью curl за несколько минут.