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

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

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

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

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

После установки консоль 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 , который документирует изменения, включенные в каждую новую версию вашего расширения, которую вы публикуете. Поместите каждую версию под заголовком уровня 2 ( ## ); в противном случае вы можете использовать любое форматирование 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 и CLI отображают только те изменения, которые вступят в силу, если пользователь завершит обновление.
  • Репозиторий исходного кода вашего расширения (внутри каталога расширения).