
Одним из наиболее интересных событий Google I/O прошлого года стало API Awareness. Понимая текущий контекст, Android-приложения могут интеллектуально реагировать на происходящее. API теперь обновляется поддержкой Semantic Time, которая автоматически обрабатывает локализацию для разработчиков.
API Awareness предоставляет приложениям два способа использования сигналов, таких как местоположение, время, погода и активность пользователя. Разработчик может запросить контекст с помощью Snapshot API, а Fence API позволяет приложению реагировать на изменение сигнала.
Например, эти сигналы могут быть объединены, чтобы медиа-приложение начало воспроизводить музыку, когда «пользователь идет, а наушники подключены».
Google расширяет возможности этого API в отношении установки временных условий. Ранее требовалось указывать абсолютное время, а для более гибких временных промежутков, таких как восход и закат, разработчикам приходилось использовать сторонние API.
Теперь разработчики могут настроить приложение и API для реакции на основе определений времени, которые часто меняются, таких как восход/закат и государственные праздники. Последнее особенно мощно, поскольку позволяет разработчикам полагаться только на существующий API Awareness для локализации времени и праздников на основе локальных настроек устройства:
Предположим, вы — местное приложение для пеших прогулок и приключений, которое хочет показывать пользователям мероприятия, которыми они могут заняться в выходной день, приходящийся на пятницу или понедельник. Вы можете использовать комбинацию дней недели и флагов праздников, чтобы идентифицировать это состояние для всех ваших пользователей по всему миру.
Поддержка Semantic Time доступна в API Awareness с сегодняшнего дня.