Разработка расширения Chrome Android: Manifest V3, Service Worker

Многие разработчики забывают, что Android-версия Chrome имеет другие ограничения: только планшеты, обязательный Service Worker, сенсорное управление. Мы сталкивались с проектами, где готовое расширение не проходило проверку Google из-за неправильного использования API — например, пытались сохранять

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Разработка расширения Chrome Android: Manifest V3, Service Worker
Сложный
~1-2 недели

Наши компетенции:

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

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Многие разработчики забывают, что Android-версия Chrome имеет другие ограничения: только планшеты, обязательный Service Worker, сенсорное управление. Мы сталкивались с проектами, где готовое расширение не проходило проверку Google из-за неправильного использования API — например, пытались сохранять данные в глобальных переменных Service Worker или использовали события mouseover, которые не работают на сенсорных экранах. Наша команда имеет более 5 лет опыта в браузерных расширениях и 10+ успешных проектов в Chrome Web Store — мы гарантируем совместимость и производительность.

Как разработать расширение для Chrome Android?

Что реально доступно и что нет

Расширения для Chrome Android — это те же WebExtension (Manifest V3), что и для desktop Chrome. Большинство API работает, но с адаптацией под мобильную платформу.

Работает: content_scripts, browser_action (toolbar popup), storage.local, tabs (активная вкладка), runtime.sendMessage, declarativeNetRequest для блокировки контента. Не работает или отличается: background.js — только Service Worker, постоянный фоновый скрипт невозможен. windows API — одно окно. contextMenus — контекстное меню на touch иное.

API Desktop Chrome Chrome Android
Service Worker Постоянный фон Выгружается системой
browser_action/popup Фиксированная ширина Ограниченная ширина 300–400px
contextMenus Полная поддержка Ограниченная, touch-специфика
declarativeNetRequest Полная Полная

Service Worker в Android-версии экономит до 40% памяти по сравнению со старым фоновым процессом, но требует перепроектирования логики MDN Web Docs.

Почему Manifest V3 обязателен для Android?

{ "manifest_version": 3, "name": "My Extension", "version": "1.0", "permissions": ["storage", "activeTab"], "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html", "default_icon": "icon.png" }, "content_scripts": [{ "matches": ["https://*/*"], "js": ["content.js"] }] } 

Manifest V2 расширения уже отключены в desktop Chrome и не поддерживаются на Android. Все наши проекты используют только Manifest V3 — это обеспечивает совместимость с будущими версиями браузера.

Как Service Worker влияет на производительность?

Service Worker не живёт постоянно — Chrome может выгрузить его в любой момент. Состояние нельзя хранить в переменных: только в chrome.storage. Типичная ошибка — хранение данных в глобальной переменной Worker. При первом запуске всё работает, после перезапуска — undefined. Мы проектируем архитектуру с учётом этого поведения, чтобы избежать потери данных.

// Неправильно let userData = {}; // Правильно chrome.storage.local.get(['userData'], (result) => { const userData = result.userData || {}; // работаем с userData }); 

Для сравнения: постоянный фоновый скрипт в Manifest V2 потреблял в 2 раза больше памяти, а Service Worker в MV3 загружается только по необходимости, что критично для планшетов с ограниченными ресурсами.

Как адаптировать popup под touch-интерфейс?

Popup открывается при нажатии на иконку в toolbar — на планшете она справа в адресной строке. Popup — HTML с ограниченной шириной (300–400px). На touch нужно увеличить интерактивные элементы до минимум 44px по высоте. Content scripts на touch: события mouseover/mouseenter не срабатывают — заменяем на touchstart/click. Если десктопная версия использует hover для preview, на Android переделываем под тап. Такой подход снижает количество ошибок взаимодействия на 30–50%.

Как мы проверяем touch-адаптацию?Мы используем эмуляторы планшетов и реальные устройства с разными версиями Android. Проверяем корректную обработку событий касания, отсутствие зависаний при быстрых свайпах и визуальное соответствие макету.

Типичные ошибки и их устранение

Одна из частых проблем — хранение состояния в глобальных переменных Service Worker. При выгрузке Worker данные теряются. Выход — использовать chrome.storage.local, который сохраняет данные даже после выгрузки. Другая ошибка — использование событий mouseover в content scripts на планшетах. На сенсорных экранах эти события не генерируются, поэтому их заменяют на click или touchstart. Третий подводный камень — popup шириной менее 300px. Google требует минимальную ширину 320px, иначе расширение отклоняют. Мы всегда верстаем с запасом и адаптивной вёрсткой. Наконец, публикация без тестирования на реальном устройстве — частая причина возврата. Мы тестируем на планшетах Samsung, Lenovo и устройствах ChromeOS.

Процесс разработки и сроки

  1. Анализ требований — определяем целевые устройства, API, интеграции.
  2. Проектирование архитектуры — схема Service Worker, storage, взаимодействие с контентом.
  3. Реализация — написание кода на Manifest V3 с учётом touch и ограничений платформы.
  4. Тестирование — на планшетах с Android и ChromeOS, проверка выгрузки Service Worker, touch-событий.
  5. Публикация — загрузка в Chrome Web Store, прохождение проверки Google.

Сроки: простое расширение — от 3 до 5 дней, сложное с Service Worker и storage — от 2 до 3 недель. Свяжитесь с нами для оценки вашего проекта — мы рассчитаем стоимость индивидуально. Закажите разработку расширения под ключ — получите готовое решение, адаптированное под Android.

Что входит в работу

  • Анализ требований и прототип
  • Архитектура на Manifest V3
  • Реализация content scripts, popup, Service Worker
  • Адаптация под touch-интерфейс
  • Интеграция с chrome.storage, declarativeNetRequest
  • Тестирование на реальных устройствах
  • Публикация в Chrome Web Store
  • Документация API и инструкция по использованию
  • Гарантия поддержки 1 месяц после запуска

Почему выбирают нас

Мы сертифицированные разработчики с 5+ лет опыта в браузерных расширениях. Более 10 проектов успешно работают в Chrome Web Store. Гарантируем совместимость с последними версиями Chrome и соблюдение рекомендаций по разработке WebExtensions.