Как проверить PWA на iOS и Android
Сергей и ЛеонидВедущий специалист по CRM AmSales
Внедряет Битрикс24 и amoCRM, автоматизирует продажи и бизнес-процессы. Золотой партнёр Битрикс24, 400+ проектов.

Коротко: Для качественного тестирования PWA необходимо проверить работу манифеста, сервисных воркеров и офлайн-режима на реальных устройствах. Особое внимание следует уделить iOS 26, где системный полноэкранный режим работает по умолчанию, и строгому соблюдению требований по авторизации через российские сервисы (ЕСИА, VK ID, Yandex ID), чтобы избежать штрафов до 1,4 млн рублей.
Кстати, в AmSales мы делаем разработку сайтов и приложений и ИИ-интеграцию и анализ звонков под ключ. Если нужна помощь - напишите нам.
Критерии работоспособности PWA приложений
Разработка PWA приложения - это не просто создание адаптивного сайта. Это попытка стереть грань между веб-страницей и нативным софтом. Если пользователь не чувствует разницы в отклике интерфейса при нажатии на кнопки или при переходе между разделами, значит, вы на верном пути. Основная цель - обеспечить бесшовность, когда веб-приложение ведет себя как полноценный продукт, установленный из стора.
Первый и самый важный критерий - наличие корректного Web App Manifest. Это JSON-файл, который говорит браузеру, как именно приложение должно выглядеть на экране телефона. Если в манифесте ошибка в пути к иконкам или неверно указано поле "display", приложение откроется как обычная вкладка в браузере с адресной строкой сверху. Это убивает весь смысл PWA, так как пользователь видит интерфейс браузера и может случайно уйти на другой сайт.
Технические показатели качества
При тестировании PWA нужно смотреть не только на визуал, но и на производительность. Основные метрики:
- Скорость загрузки (LCP - Largest Contentful Paint): контент должен появляться мгновенно.
- Работа Service Workers: они отвечают за кэширование и работу без интернета. Если при обрыве связи приложение просто выдает "ошибку соединения", значит, архитектура кэширования настроена неверно.
- Адаптивность под разные разрешения: PWA должен корректно работать не только на iPhone 15, но и на бюджетных Android-устройствах с нестандартными соотношениями сторон.
Еще один важный аспект - это жизненный цикл приложения. Проверьте, как PWA ведет себя при обновлении контента. Если пользователь зашел в приложение, а в фоне обновился Service Worker с новым кодом, приложение должно либо мягко обновить кэш, либо предложить перезагрузить страницу. Иначе пользователь будет видеть старую версию интерфейса, что вызывает путаницу в данных.
Тестирование PWA на устройствах Android
Android в плане PWA - это "песочница", где возможностей больше, чем на iOS, но и нюансов больше. Основная площадка для тестирования здесь - Google Chrome, но не стоит забывать про браузеры от производителей (например, Samsung Internet). Разная реализация API может привести к тому, что одна функция будет работать везде, а на другом устройстве - нет.
При тестировании PWA на мобильных устройствах Android важно проверить механизм установки. Приложение должно предлагать пользователю добавить иконку на рабочий стол через стандартное системное окно (A2HS - Add to Home Screen). Если вы используете кастомную кнопку "Установить приложение" внутри интерфейса, она должна корректно взаимодействовать с браузерным API. Часто разработчики забывают, что на Android уведомления (Push API) требуют явного разрешения пользователя, и если вы не обработали этот момент, пользователи просто не получат важные сообщения.
Нюансы работы на разных версиях Android
Не забывайте про проверку работы в режиме инкогнито и при низком заряде батареи. Android агрессивно закрывает фоновые процессы для экономии энергии. Если ваше PWA должно выполнять задачи в фоне (например, синхронизацию данных), обязательно проверьте, не "убивает" ли система ваш Service Worker через 10 минут после сворачивания приложения. Для этого стоит протестировать сценарии на устройствах с оболочками вроде MIUI или HyperOS, которые отличаются жесткими политиками энергосбережения.
Также стоит обратить внимание на работу с системными ресурсами. Доступ к камере, геолокации или Bluetooth в PWA на Android работает через стандартные разрешения браузера. Проверьте, как приложение ведет себя, если пользователь нажал "Запретить" при запросе доступа. Оно не должно "виснуть", оно должно корректно предлагать повторить попытку или работать в ограниченном режиме.
Особенности работы PWA в iOS 26
С выходом iOS 26 правила игры для веб-разработчиков существенно изменились. Теперь Apple сделала шаг навстречу стандартам Progressive Web Apps, устраняя часть ограничений, которые годами раздражали девелоперов. Главная особенность текущей версии заключается в том, что любая страница, добавленная на экран "Домой", теперь по умолчанию открывается как полноценное веб-приложение в полноэкранном режиме. Даже если вы забыли прописать manifest.json, система сама попытается сделать из сайта приложение.
Это упрощает разработку, но усложняет тестирование. Теперь вам нужно проверять, как ваш сайт выглядит без элементов управления браузером (без полосы состояния и нижней навигации). Если верстка вашего сайта "поплыла" при переходе в полноэкранный режим, это серьезная проблема. Нужно учитывать, что безопасные зоны (safe areas) - это не только "челка" сверху, но и область под индикатором Home на новых моделях iPhone.
Изменения в системном поведении
Несмотря на упрощения, тестирование PWA iOS Android требует разного подхода к обработке жестов. В iOS 26 системные жесты (свайп от края экрана для возврата назад) могут конфликтовать с вашими свайпами внутри приложения (например, в каруселях товаров). Важно проверить, чтобы элементы интерфейса не перекрывали системные зоны управления.
Также стоит упомянуть, что Apple продолжает строго следить за безопасностью. Любые запросы на доступ к биометрии (FaceID/TouchID) через Web Authentication API должны работать бесшовно. Если пользователь ожидает, что приложение узнает его по лицу, а вместо этого открывается стандартное окно ввода пароля, это негативный пользовательский опыт. Проверяйте интеграцию WebAuthn на реальном устройстве, эмуляторы не передают тактильный отклик и специфику работы датчиков.
Сценарии проверки offline режима
Главная "фишка" PWA - возможность работать без интернета. Если ваше приложение не может показать хотя бы базовый интерфейс при потере сети, это не PWA, а просто мобильная версия сайта. Тестирование offline режима - это не просто проверка "работает или нет", это проверка целостности данных.
Первый сценарий - "Переход в оффлайн". Вы открываете приложение, оно загружено, и тут вы выключаете Wi-Fi или переходите в авиарежим. Приложение должно моментально переключиться в офлайн-режим, не показывая стандартную страницу ошибки браузера. Вместо этого пользователь должен видеть интерфейс, а на месте динамических данных (например, списка заказов) должно быть написано: "Данные загружены из кэша. Вы находитесь в автономном режиме".
Второй сценарий - "Работа с данными в офлайне". Если ваше приложение позволяет, например, добавлять товары в корзину или заполнять форму заказа, эти действия должны сохраняться локально (через IndexedDB или Cache API). После восстановления связи приложение должно автоматически отправить накопленные данные на сервер (Background Sync). Проверьте, не дублируются ли запросы при повторном подключении к сети.
Третий сценарий - "Актуальность кэша". Важно проверить, не "застрял" ли пользователь в старой версии приложения. Если вы обновили интерфейс, но Service Worker не смог скачать новые файлы из-за плохого соединения, пользователь должен получить уведомление о том, что для корректной работы требуется обновление. Процесс инвалидации (очистки) старого кэша при появлении новой версии - один из самых сложных моментов в тестировании.
Проверка систем авторизации по закону
Для бизнеса, работающего на российском рынке, тестирование авторизации в PWA - это вопрос не только удобства, но и юридической безопасности. С 1 декабря 2023 года в России действует жесткое требование: на сайтах и в приложениях, ориентированных на пользователей в РФ, должны использоваться только российские способы авторизации. Это критически важно для PWA, так как многие разработчики по привычке внедряют Google или Apple ID, что теперь является нарушением.
За нарушение правил идентификации пользователей предусмотрены серьезные штрафы. Согласно законопроекту № 1069392-8, принятому Госдумой в 2026 году, штрафы для юрлиц составляют от 500 000 до 700 000 рублей за первое нарушение, а при повторном - до 1,4 млн рублей. Для должностных лиц штрафы также значительны (до 100 000 рублей). Поэтому при проверке PWA нужно в первую очередь убедиться, что в списке способов входа отсутствуют Google OAuth, Apple ID, Microsoft Account и другие иностранные сервисы.
Разрешенные методы идентификации
При тестировании авторизации на сайте по закону, проверяйте наличие следующих методов:
- Российский номер телефона (через СМС или мессенджеры).
- ЕСИА (через портал Госуслуг).
- ЕБС (Единая биометрическая система).
- Российские экосистемы: VK ID, Yandex ID, Sber ID.
Важный нюанс: иностранный email не может использоваться как единственный идентификатор. Если ваше PWA просит только "войти через Google", вы подставляете бизнес под удар. Также помните про Закон № 289-ФЗ "Об отдельных вопросах регулирования платформенной экономики", который вступает в силу 1 октября 2026 года. Если ваше PWA является частью крупной платформы (с аудиторией более 100 тыс. пользователей в сутки), вы обязаны соответствовать всем требованиям реестра, включая корректную идентификацию и прозрачность транзакций.
Типичные ошибки при внедрении PWA
Ошибки при внедрении PWA часто связаны с непониманием того, чем веб-технологии отличаются от нативных. Самая распространенная ошибка - игнорирование обработки ошибок сети. Разработчик предполагает, что интернет будет всегда, но в реальности пользователь может зайти в лифт или метро. Если приложение "падает" или показывает пустой экран при потере сигнала, это провал проектирования.
Вторая ошибка - плохая работа с кэшем. Разработчики либо кэшируют слишком много (пользователь видит старые цены или старые остатки товара), либо слишком мало (приложение не работает в офлайне). Нужно найти баланс: кэшировать статичные файлы (стили, картинки, скрипты) и использовать стратегии "Network First" для критически важных данных (цены, остатки), чтобы пользователь всегда видел актуальную информацию.
Третья ошибка - игнорирование специфики iOS. Несмотря на изменения в iOS 26, браузер Safari все еще имеет свои особенности в реализации некоторых API. Если вы тестируете PWA только на Android, вы рискуете получить продукт, который выглядит отлично на Samsung, но абсолютно нефункционален на iPhone. Проверяйте работу Push-уведомлений и доступа к медиа-устройствам именно на устройствах Apple.
Четвертая ошибка - отсутствие визуального отклика на действия пользователя. В нативных приложениях при нажатии на кнопку происходит легкая вибрация или изменение цвета. В PWA пользователь должен получать мгновенную обратную связь. Если после нажатия на "Оплатить" ничего не происходит в течение 500 мс, пользователь решит, что кнопка не работает, и нажмет ее еще раз, что приведет к дублированию транзакций.
Чек-лист проверки перед релизом
Перед тем как выкатывать PWA в продакшн, пройдите по этому списку. Это поможет избежать багов, которые могут стоить вам репутации и денег.
| Категория | Что проверить | Результат |
| Манифест | Наличие файла manifest.json и корректность иконок | Да |
| Офлайн | Работа приложения и кэширование данных при выключенном интернете | Да |
| iOS 26 | Корректное отображение в полноэкранном режиме (safe areas) | Да |
| Авторизация | Отсутствие иностранных сервисов (Google, Apple ID) | Да |
| Уведомления | Корректный запрос разрешения на Push-уведомления | Да |
Не забудьте про финальный тест на реальных устройствах. Эмуляторы в консоли разработчика - это удобно, но они не покажут вам реальную задержку сети, проблемы с перегревом устройства или специфику работы сенсорного экрана. Только проверка на физическом iPhone и Android-смартфоне даст полную уверенность в том, что ваш продукт готов к борьбе за пользователя.
Что запомнить
- PWA требует обязательной проверки манифеста и стратегии кэширования для работы в офлайне.
- iOS 26 изменила правила игры, сделав полноэкранный режим стандартом даже без manifest.json.
- Использование иностранных методов авторизации (Google, Apple ID) в РФ теперь грозит штрафами до 1,4 млн рублей.
- Тестирование должно включать проверку работы приложения при переходе между сетями и в условиях нестабильного соединения.
- Обязательно учитывайте "безопасные зоны" (safe areas) при верстке под современные iPhone.
/ Поможем с этим