Расширения Chrome улучшают работу пользователя в браузере. Для этого расширения используют API-интерфейсы Chrome , для которых требуются определенные разрешения. Некоторые разрешения менее навязчивы и не отображают предупреждения. Другие разрешения вызывают предупреждение, которое пользователи должны разрешить. На этой странице представлены рекомендации по работе с предупреждениями о разрешениях. Конкретные предупреждения указаны в Разрешениях под разрешениями, к которым они применяются.
![Пример предупреждений о разрешениях отображается, когда пользователь добавляет новое расширение.](https://developer.chrome.com/static/docs/extensions/develop/concepts/permission-warnings/image/example-permission-warni-8d794fb2f9274.png?authuser=5&hl=ru)
При добавлении нового разрешения, вызывающего предупреждение , расширение будет отключено до тех пор, пока пользователь не примет новое разрешение. См. раздел Обновление разрешений , чтобы узнать, как протестировать такое поведение.
![Пример расширения, которое отключено до тех пор, пока пользователь не примет новое разрешение.](https://developer.chrome.com/static/docs/extensions/develop/concepts/permission-warnings/image/example-an-extension-is-6772580db51de.gif?authuser=5&hl=ru)
Некоторые разрешения могут не отображать предупреждения в сочетании с другими разрешениями. Например, предупреждение "tabs"
не будет отображаться, если расширение также запрашивает "<all_urls>"
.
Лучшие практики
Предупреждения о разрешениях описывают возможности, которые предоставляет API, но некоторые предупреждения труднее понять, чем другие. Пользователи с большей вероятностью будут устанавливать расширения, соответствующие этим рекомендациям:
- Запросить соответствующие разрешения
- Расширения необходимы для достижения единственной цели и соответствуют политике использования разрешений . Убедитесь, что вы запрашиваете только те разрешения, которые поддерживают основные функции расширения.
- Используйте дополнительные разрешения
- Улучшите процесс регистрации, запрашивая разрешения во время выполнения. Это позволяет предоставить больше контекста для конкретного разрешения и позволяет пользователям выбирать, какие функции они хотят включить. Подробности реализации см. в разделе Permissions API .
- Используйте разрешение «activeTab»
- Это разрешение не отображает предупреждение о разрешении. Он предоставляет временное разрешение хоста для сайта, на котором находится пользователь. Подробности см. в разделе Общие сведения о разрешении activeTab .
Просмотр предупреждений
Чтобы просмотреть предупреждения о разрешениях расширения, у вас есть следующие варианты:
Используйте инструмент тестирования обновлений расширений
Прежде чем вы начнете
- Установите Node.js и NPM.
- Установите Хромиум .
- Клонируйте репозиторий инструмента тестирования обновлений расширений .
- Запустите
npm install
в корне репозитория.
Использование инструмента
- Запустите
npm start
. - Откройте локальный сервер по адресу http://localhost:8080 в Chromium.
- Перетащите распакованное расширение (папку или ZIP-файл) на страницу.
- Следуйте инструкциям в разделе «Установить вручную», чтобы загрузить и установить расширение.
Упаковав расширение вручную
- Перейдите к
chrome://extensions
- Включить режим разработчика
- Нажмите Расширение пакета .
Рисунок 3. Режим разработчика включен на странице управления расширениями. - Укажите путь к папке расширения в поле корневого каталога расширения. Игнорируйте поле «Частный ключ» для первого пакета.
Нажмите кнопку «Упаковать расширение» .
Рис. 4. Указание пути расширения. Chrome создаст два файла: файл
.crx
и файл.pem
. Файл.pem
содержит закрытый ключ, используемый для подписи расширения. Обязательно помните, в каком каталоге были сохранены эти файлы.Рис. 5. Упакованные файлы расширений. Храните файл
.pem
в секретном и безопасном месте; это будет необходимо для обновления расширения.Установите файл
.crx
, перетащив его на страницу управления расширением.Рисунок 6. Перетащите файл для установки. После удаления файла
.crx
браузер спросит, можно ли добавить расширение, и отобразит предупреждения.Рисунок 7. Предупреждение о расширении «Новая вкладка».
Обновить разрешения
Когда расширение добавляет новое разрешение, вызывающее предупреждение, оно может временно отключить его. Расширение будет повторно включено только после того, как пользователь согласится принять новое разрешение.
Чтобы проверить, будет ли ваше расширение отключено при добавлении нового разрешения, у вас есть следующие варианты:
Обновление с помощью инструмента тестирования обновлений расширений.
Эти шаги предполагают, что вы следовали инструкциям «Использование средства тестирования обновлений расширений» для запуска сервера.
Использование инструмента
- Добавьте новое разрешение с предупреждением .
- Увеличьте номер версии расширения.
- Перетащите распакованное расширение (папку или ZIP-файл) на страницу.
- Перейдите на
chrome://extensions
. - Нажмите кнопку «Обновить» .
Обновите расширение вручную
- Найдите файл
.crx
, который вы только что создали, в разделе «Просмотр предупреждений» . - Переименуйте его или удалите.
- Откройте файл
manifest.json
и добавьте любое разрешение, которое вызывает предупреждение . - Перейдите на
chrome://extensions
. Не удаляйте ранее установленный пакет . - Упакуйте расширение еще раз, но на этот раз добавьте файл pem во второй вход.
Рис. 8. Диалоговое окно расширения упаковки с включенным pem-файлом. - Перетащите новое упакованное расширение на страницу «Управление расширениями».
Вы увидите диалоговое окно, предлагающее пользователю принять новые разрешения.
Рис. 9. Предупреждение об отключенном расширении. Рис. 10. Диалоговое окно запроса нового разрешения.