Tạo tài liệu người dùng cho tiện ích của bạn

Mỗi tiện ích phải có tài liệu hướng dẫn người dùng về chức năng của tiện ích và cách sử dụng tiện ích.

Tài liệu tối thiểu, bắt buộc là bộ ba tệp markdown sau:

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

Ngoài ra, bạn cũng nên cân nhắc việc tạo:

  • Tệp README cho kho lưu trữ công khai của tiện ích.
  • Bài hướng dẫn dạng dài, tài liệu hướng dẫn và tài liệu tham khảo được xuất bản trên trang web của riêng bạn và được liên kết trong PREINSTALL.md của bạn.

Để tìm hiểu một số phương pháp hay nhất cũng như cách diễn đạt và cấu trúc phổ biến, bạn nên xem lại các tệp có sẵn với tiện ích Firebase chính thức.

Tạo tệp README

Thư mục tiện ích của bạn có thể chứa tệp README (nếu muốn). Xin lưu ý rằng lệnh firebase ext:dev:init không tự động tạo một lệnh gọi cho bạn.

Tuy nhiên, CLI Firebase hỗ trợ lệnh tiện lợi sau đây để tự động tạo tệp README chứa nội dung được lấy từ tệp extension.yaml và tệp PREINSTALL.md:

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

Tất cả tệp README cho tiện ích Firebase chính thức đều được tạo bằng lệnh này.

Thêm thông tin cài đặt

Sau khi bạn viết hoặc tạo tệp README, hãy thêm thông tin cài đặt vào tệp đó. Bạn có thể dùng đoạn mã sau làm mẫu:

---

## 🧩 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)

---

Ghi tệp PREINSTALL

Tệp PREINSTALL là thông tin tổng quan về tiện ích, một loại trang "tiếp thị".

Tệp này có nội dung gì?

  • Nội dung mô tả toàn diện về chức năng của tiện ích
  • Danh sách các điều kiện tiên quyết, chẳng hạn như thiết lập cơ sở dữ liệu hoặc quyền truy cập vào một dịch vụ không phải của Google (ví dụ)
  • Nội dung mô tả ngắn gọn về mọi thao tác trước khi cài đặt và hướng dẫn tương ứng
  • Nội dung mô tả ngắn gọn về mọi thao tác sau khi cài đặt (ví dụ) (xem hướng dẫn chi tiết trong POSTINSTALL)
  • Nội dung mô tả ngắn gọn về mọi vấn đề liên quan đến việc thanh toán (bắt đầu bằng văn bản mẫu)

Nội dung này hiển thị cho người dùng ở đâu?

Hình ảnh nội dung cài đặt trước trong <span class=Bảng điều khiển của Firebase">
Tải trước nội dung trong bảng điều khiển Firebase

Hình ảnh lớn về nội dung cài đặt trước trong <span class=Bảng điều khiển của Firebase">

Các tệp PREINSTALL không thể truy cập vào các giá trị tham số cho tiện ích, vì vậy, bạn không nên mong đợi các tệp tham chiếu tham số hiển thị bằng các giá trị thực tế.

Một số phương pháp hay nhất là gì?

  • Giữ toàn bộ nội dung của tệp PREINSTALL trong một trang, nếu có thể
  • Cung cấp mức độ chi tiết mà người dùng cuối cần phải biết trước khi cài đặt tiện ích
  • Đặt hướng dẫn chi tiết trong tệp POSTINSTALL hoặc các tệp bổ sung khác
  • Giới thiệu ngắn gọn nếu bạn cung cấp các công cụ hoặc tập lệnh khác để hỗ trợ tiện ích này

Ghi tệp POSTINSTALL

Tệp POSTINSTALL là trang hướng dẫn chi tiết sau khi cài đặt của tiện ích.

Tệp này có nội dung gì?

  • Hướng dẫn chi tiết về mọi nhiệm vụ bắt buộc sau khi cài đặt, chẳng hạn như thiết lập quy tắc bảo mật Firebase hoặc thêm mã phía máy khách (ví dụ)
  • Hướng dẫn chung về cách thử ngay tiện ích đã cài đặt (ví dụ: "chuyển đến bảng điều khiển, sau đó làm như sau")
  • Thông tin cơ bản về cách kích hoạt tiện ích, đặc biệt là đối với các tiện ích được kích hoạt bằng yêu cầu HTTP
  • Hướng dẫn ngắn gọn về cách theo dõi phần mở rộng đã cài đặt (bắt đầu bằng văn bản nguyên mẫu)

Nội dung này hiển thị cho người dùng ở đâu?

Hình ảnh nội dung sau khi cài đặt trong <span class=Bảng điều khiển Firebase">
Nội dung sau khi cài đặt trong bảng điều khiển Firebase

Hình ảnh lớn về nội dung sau khi cài đặt trong <span class=Bảng điều khiển Firebase">

  • Trong bảng điều khiển Firebase sau khi người dùng cài đặt tiện ích của bạn (trong thẻ chi tiết của tiện ích đã cài đặt)

  • Kho lưu trữ mã nguồn của tiện ích (bên trong thư mục tiện ích)

Tệp POSTINSTALL có thể truy cập vào các giá trị tham số và một số biến liên quan đến hàm cho tiện ích. Khi nội dung POSTINSTALL hiển thị trong bảng điều khiển Firebase, giá trị thực tế sẽ hiển thị thay vì tham số hoặc tệp tham chiếu biến. Tìm hiểu thêm bên dưới về cách tham chiếu các tham số và biến trong tệp POSTINSTALL.

Một số phương pháp hay nhất là gì?

  • Nội dung đầy đủ của tệp POSTINSTALL phải súc tích nhưng mang tính mô tả.
  • Phân chia nội dung bằng cách sử dụng tiêu đề để tách riêng các nhiệm vụ hoặc khái niệm khác nhau.
  • Cân nhắc phát hành hướng dẫn chi tiết cho một quy trình hoặc nhiệm vụ cụ thể trên trang web của bạn (ví dụ) hoặc trong các tệp Markdown bổ sung trong kho lưu trữ tiện ích (ví dụ).
  • Tham chiếu các tham số và biến liên quan đến hàm để người dùng thấy được các giá trị được định cấu hình theo ngữ cảnh của hướng dẫn

Tham chiếu các tham số và biến

Sau khi cài đặt, bảng điều khiển Firebase sẽ hiển thị nội dung tệp POSTINSTALL của tiện ích. Nếu bạn tham chiếu các tham số và biến liên quan đến hàm (xem bảng bên dưới) trong tệp POSTINSTALL, thì bảng điều khiển sẽ điền các tham chiếu này bằng các giá trị thực tế cho thực thể đã cài đặt.

Truy cập vào các giá trị thông số đã định cấu hình trong tệp POSTINSTALL bằng cú pháp sau: ${param:PARAMETER_NAME}

Bạn cũng có thể tham chiếu các biến liên quan đến hàm sau chỉ trong tệp POSTINSTALL. Firebase hỗ trợ các biến này để bạn có thể dễ dàng cung cấp hướng dẫn cho người dùng sau khi cài đặt. Bạn chỉ có thể sử dụng các biến này trong tệp POSTINSTALL vì giá trị cho các biến này chỉ có sẵn sau khi cài đặt.

Trong bảng này, function-name là giá trị của trường name trong đối tượng tài nguyên của hàm trong extension.yaml.

Thông tin tham khảo về biến liên quan đến hàm Nội dung mô tả Giá trị biến (do Firebase tự động điền sau khi cài đặt tiện ích)
${function:function-name.location}
Vị trí nơi triển khai hàm Giá trị mẫu:
us-central1
${function:function-name.name}
Tên của hàm đã triển khai cuối cùng, bao gồm cả ID thực thể của tiện ích

Định dạng tổng quát:
ext-extension-instance-id-function-name

Giá trị mẫu:
ext-my-awesome-extension-6m31-yourFunctionName

${function:function-name.url} (chỉ áp dụng cho các hàm HTTP)
URL của hàm đã triển khai cuối cùng mà mã ứng dụng có thể thực hiện yêu cầu HTTP

Định dạng tổng quát:
https://deployment-location-project-id.cloudfunctions.net/name-of-final-deployed-function

Giá trị mẫu:
https://us-central1-project-123.cloudfunctions.net/ext-my-awesome-extension-6m31-yourFunctionName

Ghi lại cách kích hoạt tiện ích

Trong tài liệu người dùng của tiện ích, bạn cần hướng dẫn người dùng cách kích hoạt tiện ích. Bạn có thể làm theo hướng dẫn này một cách chi tiết nếu cần, nhưng hãy lưu ý đến các phương pháp hay nhất để viết tệp POSTINSTALL. Để biết hướng dẫn về cách cung cấp các hướng dẫn này, hãy mở rộng phần dưới đây áp dụng cho tiện ích của bạn.

Ghi tệp CHANGELOG

Tệp này có nội dung gì?

Mỗi tiện ích phải có một tệp CHANGELOG.md ghi lại các thay đổi có trong mỗi phiên bản mới của tiện ích mà bạn phát hành. Hãy đặt từng phiên bản trong tiêu đề cấp 2 (##); nếu không, bạn có thể sử dụng bất kỳ định dạng Markdown nào mình muốn.

Ví dụ sau đây là trích đoạn từ một trong các tiện ích chính thức:

## 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.

Nội dung này hiển thị cho người dùng ở đâu?

  • Trong bảng điều khiển Firebase và CLI, khi người dùng nâng cấp lên các phiên bản mới của tiện ích. Bảng điều khiển Firebase và CLI chỉ hiển thị các thay đổi sẽ có hiệu lực nếu người dùng hoàn tất quá trình nâng cấp.
  • Kho lưu trữ mã nguồn của tiện ích (bên trong thư mục tiện ích).