Создайте пользовательскую документацию для вашего расширения.

Каждое расширение должно сопровождаться документацией, которая объясняет пользователям, что оно делает и как им пользоваться.

Минимально необходимая документация состоит из трех файлов Markdown:

  • PREINSTALL.md
  • POSTINSTALL.md
  • CHANGELOG.md

Кроме того, вам также следует рассмотреть возможность производства:

  • Файл README для общедоступного репозитория расширения.
  • Более подробные руководства, инструкции и справочные материалы публикуются на вашем собственном веб-сайте и содержат ссылки на них в файле PREINSTALL.md .

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

Создание файла README

В каталоге расширений может содержаться файл README (при желании). Обратите внимание, что команда firebase ext:dev:init не генерирует его автоматически.

Однако Firebase CLI поддерживает следующую удобную команду для автоматической генерации файла README , содержащего содержимое, взятое из файла extension.yaml и файла PREINSTALL.md :

firebase ext:info ./path/to/extension --markdown > README.md

Все файлы README для официальных расширений Firebase генерируются с помощью этой команды.

Добавить информацию об установке

После написания или создания файла README добавьте в него информацию об установке. В качестве шаблона можно использовать следующий фрагмент кода:

---

## 🧩 Install this extension

### Console

[![Install this extension in your Firebase project](https://www.gstatic.com/mobilesdk/210513_mobilesdk/install-extension.png "Install this extension in your Firebase project")][install-link]

[install-link]: https://console.firebase.google.com/project/_/extensions/install?ref=publisher_id/extension_name

### Firebase CLI

```bash
firebase ext:install publisher_id/extension_name --project=[your-project-id]
```

> Learn more about installing extensions in the Firebase Extensions documentation:
> [console](https://firebase.google.com/docs/extensions/install-extensions?platform=console),
> [CLI](https://firebase.google.com/docs/extensions/install-extensions?platform=cli)

---

Создание файла PREINSTALL

Файл PREINSTALL — это обзор вашего расширения, своего рода «маркетинговая» страница.

Что содержится в этом файле?

  • Подробное описание функциональности вашего расширения.
  • Список необходимых условий, таких как настройка базы данных или доступ к сервису, не принадлежащему Google ( пример ).
  • Краткое описание любых подготовительных работ и инструкции по их выполнению.
  • Краткое описание любых задач, выполняемых после установки ( пример ) (подробные инструкции находятся в POSTINSTALL )
  • Краткое описание любых вопросов, связанных с выставлением счетов (начните со стандартного текста ).

Где этот контент отображается пользователю?

Изображение содержимого предустановки в <span class= Консоль Firebase">
Предварительная установка контента в консоли Firebase

Большое изображение предустановленного контента в <span class= Консоль Firebase">

  • На странице расширения на сайте extensions.dev .
  • Ваш репозиторий исходного кода для вашего расширения (внутри каталога расширений)
  • В файле README расширения (если вы используете Firebase CLI) --markdown > README.md )

Файлы PREINSTALL не имеют доступа к значениям параметров расширения, поэтому не следует ожидать, что ссылки на параметры будут отображаться с фактическими значениями.

Какие существуют лучшие практики?

  • По возможности, уместите всё содержимое файла PREINSTALL на одной странице .
  • Предоставьте пользователю только ту информацию, которая абсолютно необходима перед установкой расширения.
  • Подробные инструкции следует разместить в файле POSTINSTALL или в других дополнительных файлах.
  • Кратко укажите, если вы предоставляете другие инструменты или скрипты для поддержки расширения.

Создание файла POSTINSTALL

Файл POSTINSTALL — это подробная инструкция по установке вашего расширения, содержащая информацию о процессе установки.

Что содержится в этом файле?

  • Подробные инструкции по выполнению любых необходимых задач после установки, таких как настройка правил безопасности Firebase или добавление клиентского кода ( пример ).
  • Общие инструкции о том, как сразу же протестировать установленное расширение (например, «перейдите в консоль, затем сделайте это»).
  • Основная информация о том, как активировать расширение, особенно для расширений, запускаемых HTTP-запросами.
  • Краткая инструкция по мониторингу установленного расширения (начните со стандартного текста ).

Где этот контент отображается пользователю?

Изображение содержимого после установки в <span class= Консоль Firebase">
Содержимое после установки в консоли Firebase

Большое изображение содержимого после установки в <span class= Консоль Firebase">

  • В консоли Firebase после установки пользователем вашего расширения (в подробной карточке установленного расширения)

  • Ваш репозиторий исходного кода для вашего расширения (внутри каталога расширений)

Файлы POSTINSTALL позволяют получить доступ к значениям параметров и нескольким переменным, связанным с функциями расширения. При отображении содержимого файла POSTINSTALL в консоли Firebase отображаются фактические значения , а не ссылки на параметры или переменные. Подробнее о том, как ссылаться на параметры и переменные в файле POSTINSTALL , см. ниже.

Какие существуют лучшие практики?

  • Содержимое файла POSTINSTALL должно быть кратким, но содержательным.
  • Разделите контент на разделы, используя заголовки, чтобы разбить его на отдельные задачи или концепции.
  • Рекомендуется опубликовать подробные инструкции для конкретного рабочего процесса или задачи на вашем веб-сайте ( пример ) или в дополнительных файлах Markdown в репозитории расширений ( пример ).
  • Справочные параметры и переменные, связанные с функциями , чтобы пользователь видел их настроенные значения в контексте инструкций.

Ссылочные параметры и переменные

После установки консоль Firebase отображает содержимое файла POSTINSTALL расширения. Если в файле POSTINSTALL указаны параметры и переменные, связанные с функциями (см. таблицу ниже), то консоль заполнит эти ссылки фактическими значениями для установленного экземпляра.

Для доступа к заданным значениям параметров в файле POSTINSTALL используйте следующий синтаксис: ${param: PARAMETER_NAME }

Вы также можете ссылаться на следующие переменные, связанные с функциями, только в файле POSTINSTALL . Firebase поддерживает эти переменные, чтобы вы могли проще предоставлять инструкции пользователям после установки. Они доступны для использования только в файле POSTINSTALL , поскольку значения для этих переменных становятся доступны только после установки.

В этой таблице function-name — это значение поля name в объекте ресурсов функции в extension.yaml .

Ссылка на переменную, связанную с функцией Описание Значение переменной (автоматически заполняется Firebase после установки расширения)
${function: function-name .location}
Место развертывания функции Пример значения:
us-central1
${function: function-name .name}
Название окончательно развернутой функции, включающее идентификатор экземпляра расширения.

Обобщенный формат:
ext- extension-instance-id - function-name

Пример значения:
ext-my-awesome-extension-6m31-yourFunctionName

${function: function-name .url} (применимо только для HTTP-функций)
URL-адрес окончательно развернутой функции, к которому клиентский код может отправлять HTTP-запросы.

Обобщенный формат:
https:// deployment-location - project-id .cloudfunctions.net/ name-of-final-deployed-function

Пример значения:
https://us-central1-project-123.cloudfunctions.net/ext-my-awesome-extension-6m31-yourFunctionName

Описание процесса активации расширения.

В пользовательской документации вашего расширения необходимо объяснить пользователям, как его активировать. Эти инструкции могут быть настолько подробными, насколько вы сочтете необходимым, но помните о лучших практиках написания файла POSTINSTALL . Для получения рекомендаций по предоставлению этих инструкций разверните раздел ниже, относящийся к вашему расширению.

Создание файла CHANGELOG

Что содержится в этом файле?

Каждое расширение должно иметь файл CHANGELOG.md , в котором документируются изменения, внесенные в каждую новую версию публикуемого расширения. Размещайте каждую версию под заголовком второго уровня ( ## ); в противном случае вы можете использовать любое форматирование Markdown по своему усмотрению.

Следующий пример представляет собой отрывок из одного из официальных расширений:

## Version 0.1.3

feature - Support deletion of directories (issue #148).

## Version 0.1.2

feature - Add a new param for recursively deleting subcollections in Cloud
Firestore (issue #14).

fixed - Fixed "cold start" errors experienced when the extension runs after a
period of inactivity (issue #48).

## Version 0.1.1

Initial release of the _Delete User Data_ extension.

Где этот контент отображается пользователю?

  • В консоли Firebase и CLI при обновлении пользователями вашего расширения отображаются только те изменения Firebase которые вступят в силу после завершения обновления.
  • Репозиторий исходного кода вашего расширения (внутри каталога расширения).