Xuất bản tiện ích của bạn

Trang này giải thích cách bạn có thể xuất bản tiện ích trên Trung tâm tiện ích.

Trước khi bắt đầu

Để phát hành một tiện ích, trước tiên, bạn cần đăng ký làm nhà xuất bản tiện ích.

Nguồn có thể xác minh

Tất cả tiện ích được xuất bản trên Trung tâm tiện ích phải có một tiện ích có thể xác minh công khai nguồn. Thay vì tải trực tiếp mã nguồn của tiện ích lên Tiện ích Trung tâm, bạn chỉ định vị trí nguồn và Trung tâm tiện ích sẽ tải tiện ích đó xuống và tạo chiến dịch từ đó.

Hiện tại, điều này có nghĩa là đặt mã nguồn tiện ích của bạn ở chế độ công khai Kho lưu trữ GitHub.

Việc tải lên từ một nguồn có thể xác minh mang lại một số lợi ích sau:

  • Người dùng có thể kiểm tra mã nguồn của bản sửa đổi cụ thể của tiện ích sẽ được cài đặt.
  • Bạn có thể đảm bảo rằng bạn chỉ tải lên nội dung bạn định tải lên chứ không tải lên, ví dụ: công việc đang tiến hành hoặc các tệp nằm ngoài quá trình phát triển.

Chu kỳ phát triển được đề xuất

Các công cụ phát triển tiện ích của Firebase hỗ trợ việc tải các phiên bản phát hành trước lên của tiện ích, giúp bạn dễ dàng thử nghiệm các tiện ích và trong cùng một môi trường nơi chúng sẽ cài đặt tiện ích đó cuối cùng sẽ được phát hành.

Khả năng này giúp có thể thực hiện một chu kỳ phát triển như sau:

  1. Phát triển và nhanh chóng lặp lại phần mở rộng bằng cách sử dụng Bộ mô phỏng Firebase.

  2. Kiểm thử tiện ích của bạn trong một dự án thực tế bằng cách cài đặt tiện ích từ nguồn cục bộ:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
    
  3. Tải phiên bản phát hành trước lên Trung tâm tiện ích (xem bên dưới). Phân phối liên kết cài đặt để thử nghiệm rộng hơn và lặp lại bằng cách tải lên nhiều hơn phiên bản phát hành trước nếu cần.

  4. Tải phiên bản cuối cùng, ổn định lên Trung tâm tiện ích (xem bên dưới) rồi gửi để xem xét. Nếu tiện ích vượt qua quy trình xem xét, tiện ích sẽ được xuất bản vào Trung tâm Tiện ích.

  5. Tăng số phiên bản trong extension.yaml và lặp lại chu kỳ này trong phiên bản tiếp theo của tiện ích.

Tải tiện ích mới lên

Cách tải một phần mở rộng lên lần đầu tiên:

  1. Không bắt buộc: Xác nhận mã của bạn vào một kho lưu trữ GitHub công khai.

  2. Chạy lệnh ext:dev:upload của Firebase CLI:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Nguồn cục bộ

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

    Trong lệnh gọi lệnh, bạn cần chỉ định nội dung sau:

    • Mã nhà xuất bản mà bạn đã đăng ký.

    • Chuỗi mã nhận dạng sẽ xác định tiện ích. Đặt tên cho tiện ích của bạn bằng dưới định dạng sau: firebase-product-description-of-tasks-performed. Ví dụ: firestore-bigquery-export

    Lệnh này sẽ nhắc bạn cung cấp thêm thông tin:

    • Nếu bạn tải lên từ GitHub:

      • URL đến kho lưu trữ của tiện ích trên GitHub. Xin lưu ý rằng một kho lưu trữ có thể chứa nhiều phần mở rộng, miễn là mỗi phần mở rộng có một căn duy nhất.

        Khi bạn tải một tiện ích mới lên lần đầu tiên, kho lưu trữ sẽ được đăng ký làm nguồn chuẩn cho tiện ích của bạn.

      • Thư mục trong kho lưu trữ chứa tiện ích của bạn.

      • Tài liệu tham khảo Git của cam kết bạn muốn tạo phiên bản tiện ích nguồn từ. Đây có thể là hàm băm cam kết, thẻ hoặc tên nhánh.

    • Giai đoạn phát hành của phiên bản mà bạn đang tải lên.

      Các giai đoạn alpha, betarc (bản phát hành dùng thử) là để tải lên phiên bản phát hành trước để người thử nghiệm cài đặt. Hãy sử dụng một trong các giai đoạn sau để lần tải lên ban đầu của một tiện ích mới.

      Giai đoạn stable dùng cho các bản phát hành công khai sẽ được xuất bản Trung tâm Tiện ích. Khi bạn tải một bản phát hành stable lên, hệ thống sẽ tự động bắt đầu một xem xét và nếu vượt qua, sẽ xuất bản tiện ích.

    Lưu ý rằng bạn không chỉ định số phiên bản—giá trị này được lấy từ Tệp extension.yaml. Khi bạn tải một phiên bản tiện ích phát hành trước lên, số giai đoạn và số tải lên được thêm vào phiên bản. Ví dụ: nếu extension.yaml chỉ định phiên bản 1.0.1 và bạn tải một bản phát hành dùng thử lên, nó sẽ dẫn đến phiên bản 1.0.1-rc.0; đang tải bản phát hành khác lên đề xuất của cùng một phiên bản sẽ tự động tăng số lượng, dẫn đến 1.0.1-rc.1, v.v.

Giờ đây, bạn đã tải lên phiên bản phát hành trước của tiện ích, bạn có thể chia sẻ với những người khác để thử nghiệm. Người dùng có thể cài đặt tiện ích của bạn bằng một trong hai cách:

  • Với bảng điều khiển: Người dùng có thể cài đặt tiện ích bằng cách nhấp vào một đường liên kết bằng định dạng sau:

    https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version

    Bạn có thể chia sẻ đường liên kết trực tiếp với người kiểm thử.

  • Có CLI: Người dùng có thể cài đặt tiện ích bằng cách truyền tiện ích Chuỗi mã nhận dạng vào lệnh ext:install:

    firebase ext:install your_publisher_id/your_extension_id@version \
        --project=destination_project_id
    

Tải phiên bản đã cập nhật lên

Sau khi tải phiên bản đầu tiên của một tiện ích lên, bạn có thể tải bản cập nhật lên để khắc phục sự cố, thêm tính năng hoặc phát triển giai đoạn phát hành. Khi bạn tải lên một phiên bản mới, người dùng có phiên bản ứng dụng đã cài đặt tiện ích sẽ được nhắc nâng cấp trong bảng điều khiển của Firebase.

Cách tải bản cập nhật lên:

  1. Không bắt buộc: Xác nhận mã của bạn vào một kho lưu trữ Git công khai.

  2. Chạy lệnh ext:dev:upload của Firebase CLI:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Lần này, bạn sẽ không được nhắc chỉ định kho lưu trữ GitHub hoặc thư mục gốc của tiện ích vì chúng đã được định cấu hình cho tiện ích. Nếu bạn đã tái cấu trúc cấu trúc kho lưu trữ hoặc đã được di chuyển sang một kho lưu trữ mới, bạn có thể thay đổi chúng bằng lệnh đối số --root--repo.

    Nguồn cục bộ

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

Gửi thời gian gia hạn để xuất bản

Khi bạn đã sẵn sàng phát hành công khai tiện ích của mình:

  1. Cam kết mã của bạn vào kho lưu trữ Git công khai. (Bắt buộc đối với bản phát hành công khai.)

  2. Chạy lệnh ext:dev:upload của Giao diện dòng lệnh (CLI) của Firebase, chỉ định stable làm giai đoạn phát hành:

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. Nếu trước đây bạn đã xuất bản một phiên bản của tiện ích, hãy tải một phiên bản tiện ích mới lên bản phát hành ổn định sẽ tự động gửi tiện ích để Google xem xét.

    Nếu bạn đã tải bản phát hành ổn định đầu tiên của tiện ích lên, hãy tìm tiện ích này trên trang tổng quan của nhà xuất bản, và nhấp vào Xuất bản lên Trung tâm tiện ích.

Sau khi bạn gửi, quy trình xem xét có thể mất vài ngày. Nếu được chấp nhận, thời gian gia hạn sẽ được đã xuất bản lên Trung tâm tiện ích. Nếu bị từ chối, bạn sẽ nhận được thông báo giải thích lý do; sau đó, bạn có thể giải quyết các vấn đề được báo cáo rồi gửi lại để chúng tôi xem xét.

Để đẩy nhanh quá trình xem xét và tăng cơ hội vượt qua trong lần thử đầu tiên, trước khi gửi, hãy kiểm tra kỹ những thông tin sau:

  • Bạn đã kiểm tra kỹ tiện ích của mình và quy trình cài đặt.
  • Tài liệu của bạn đã đầy đủ và chính xác, đồng thời hiển thị tốt trong Firebase Google Play.
  • Tên và thương hiệu nhà xuất bản của bạn giúp xác định rõ ràng và chính xác bạn là nhà xuất bản.
  • Tên, nội dung mô tả và biểu tượng của tiện ích thể hiện rõ ràng và chính xác mục đích của tiện ích.
  • Bạn đã áp dụng các thẻ hữu ích và chính xác.
  • Bạn đã khai báo trong extension.yaml tất cả API của Google và không phải của Google mà bạn sử dụng, và tất cả các loại sự kiện mà tiện ích của bạn phát ra.
  • Bạn đang yêu cầu quyền truy cập vào những vai trò cần thiết cho tiện ích và bạn đã giải thích rõ ràng cho người dùng về lý do bạn cần quyền truy cập đó.
  • Các tệp nguồn của bạn được cấp phép rõ ràng theo các điều khoản của Apache-2.0.

Quản lý các phần mở rộng đã xuất bản và đã được tải lên

Liệt kê các tiện ích bạn đã tải lên

Để liệt kê các tiện ích bạn đã tải lên theo mã nhà xuất bản, hãy thực hiện một trong sau:

Trang tổng quan của nhà xuất bản

Xem chúng trên trang tổng quan của nhà xuất bản.

Giao diện dòng lệnh (CLI) của Firebase

Chạy lệnh ext:dev:list:

firebase ext:dev:list your_publisher_id

Xem việc sử dụng các tiện ích được tải lên của bạn

Để xem việc sử dụng tiện ích bạn đã tải lên theo mã nhà xuất bản của mình, hãy làm một trong các lệnh sau:

Trang tổng quan của nhà xuất bản

Trang tổng quan của nhà xuất bản có các chỉ số mức sử dụng tích luỹ cho tất cả tiện ích và chỉ số riêng cho từng tiện ích.

Giao diện dòng lệnh (CLI) của Firebase

Chạy lệnh ext:dev:usage:

firebase ext:dev:usage your_publisher_id

Ngừng sử dụng phiên bản của tiện ích

Vào một lúc nào đó, bạn có thể muốn không dùng phiên bản tiện ích cũ nữa. Để Ví dụ: nếu bạn phát hành một phiên bản mới sửa một lỗi nghiêm trọng hoặc cập nhật một một bản cập nhật bảo mật quan trọng, thì điều quan trọng là phải ngăn chặn người dùng cài đặt phiên bản cũ và khuyến khích người dùng hiện tại nâng cấp.

Để không dùng một phiên bản tiện ích nữa, hãy làm theo một trong những cách sau:

Trang tổng quan của nhà xuất bản

  1. Trên trang tổng quan của nhà xuất bản, hãy nhấp vào tiện ích để mở chế độ xem chi tiết.
  2. Chọn phiên bản bạn muốn không dùng nữa.
  3. Nhấp vào Ngừng sử dụng phiên bản.

Giao diện dòng lệnh (CLI) của Firebase

Chạy lệnh ext:dev:deprecate:

firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
    [--message "deprecation_message"]

Bạn có thể chỉ định một phiên bản duy nhất hoặc nhiều phiên bản. Ví dụ:

  • 1.0.2
  • 1.1.0-1.1.7
  • <1.2.0
  • 1.1.*

Các phiên bản không dùng nữa của một tiện ích không được liệt kê trên Trung tâm tiện ích và không thể cài đặt. Người dùng có dự án đã cài đặt một phiên bản không dùng nữa sẽ thấy thông điệp khuyến khích họ nâng cấp; họ vẫn có thể sử dụng và định cấu hình lại trong thời gian chờ đợi.

Nếu mọi phiên bản của một tiện ích đều không được dùng nữa, thì tiện ích đó sẽ được xem xét không dùng nữa và tiện ích đó sẽ bị xoá khỏi Trung tâm Tiện ích. Tải phiên bản mới lên tiện ích không được dùng nữa sẽ tự động bắt đầu xem xét và khi chấp nhận, hãy xuất bản lại trên Trung tâm tiện ích.

Để đảo ngược một quyết định ngừng sử dụng, hãy sử dụng trang tổng quan của nhà xuất bản hoặc chạy CLI của Firebase Lệnh ext:dev:undeprecate:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

Phụ lục: Khắc phục lỗi bản dựng

Khi bạn tải tiện ích lên, trước tiên, phần phụ trợ sẽ tạo mã nguồn của bạn bằng cách sử dụng quy trình sau:

  1. Sao chép kho lưu trữ GitHub và kiểm tra tham chiếu nguồn được chỉ định.

  2. Cài đặt các phần phụ thuộc Trình quản lý đối tác nội dung (CDN) bằng cách chạy npm clean-install trong mọi hàm thư mục nguồn được chỉ định trong extension.yaml (xem sourceDirectory trong Tài nguyên về chức năng đám mây).

    Lưu ý những điều sau:

    • Mỗi tệp package.json phải có package-lock.json tương ứng . Để biết thêm thông tin, hãy xem npm-ci.

    • Tập lệnh sau khi cài đặt sẽ không được chạy trong quá trình cài đặt phần phụ thuộc. Nếu bản dựng mã nguồn của bạn dựa vào tập lệnh sau khi cài đặt, hãy tái cấu trúc tệp trước khi tải lên.

  3. Tạo mã của bạn bằng cách chạy npm run build trong mọi nguồn hàm thư mục được chỉ định trong extension.yaml.

Chỉ thư mục gốc của tiện ích mới được lưu trong tiện ích cuối cùng sẽ được chia sẻ.

Nếu bạn gặp lỗi bản dựng khi tải tiện ích lên, hãy sao chép bản dựng đó cục bộ các bước ở trên trong một thư mục mới cho đến khi không có lỗi nào, sau đó thử đang tải lên lại.