การอ้างอิงสำหรับ extensions.yaml

ไฟล์ข้อมูลจำเพาะของส่วนขยาย (extension.yaml) มีข้อมูลเมตาของส่วนขยาย ประกาศทรัพยากรที่ส่วนขยายสร้างขึ้นและ API และการเข้าถึงที่ส่วนขยายต้องการ และกำหนดพารามิเตอร์ที่ส่วนขยายกำหนดโดยผู้ใช้

ตารางในหน้านี้จะอธิบายช่องที่ใช้ได้กับextension.yaml ไฟล์

ข้อมูลพื้นฐานและข้อมูลระบุตัวตน

name: your-extension-name
version: 1.0.0         # Semantic versioning (semver)
specVersion: v1beta    # Always "v1beta"
license: Apache-2.0    # Always "Apache-2.0" (required to publish on extensions.dev)
billingRequired: true  # Always "true"

displayName: Your extension name
description: >-
  Description of the extension. (One or two
  sentences.)
icon: icon.png
tags: [tag, anothertag]

sourceUrl: https://github.com/your-org/your-repo   # GitHub repo URL
releaseNotesUrl: https://github.com/your-org/your-repo/blob/main/CHANGELOG.md

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
ฟิลด์พื้นฐาน
name
สตริง
(ต้องระบุ)

ตัวระบุส่วนขยาย

มีได้เฉพาะตัวอักษรพิมพ์เล็ก ตัวเลข และขีดกลางเท่านั้น จำกัด 40 อักขระ

หมายเหตุ: ค่านี้ใช้ในการสร้างรหัสอินสแตนซ์ของส่วนขยาย (ซึ่งจะใช้สร้างชื่อบัญชีบริการของส่วนขยายและทรัพยากรเฉพาะส่วนขยาย)

version
สตริง
(ต้องระบุ)

เวอร์ชันของส่วนขยาย

ต้องเป็นไปตามการกำหนดเวอร์ชันเซมเวอร์ (เช่น 1.2.0)

specVersion
สตริง
(ต้องระบุ)

เวอร์ชันของข้อกําหนดเฉพาะ Firebase Extensions

ค่าปัจจุบัน: v1beta

license
สตริง
(ไม่บังคับ)

ใบอนุญาตสำหรับส่วนขยาย

ส่วนขยายของคุณต้องได้รับอนุญาตโดยใช้ Apache-2.0

billingRequired
บูลีน
(ไม่บังคับ)

บริการที่ส่วนขยายใช้ต้องใช้บัญชีการเรียกเก็บเงิน Firebase ระดับชำระเงินหรือไม่

ตั้งค่าเป็น true เสมอ

displayName
สตริง
(ไม่บังคับ)

ชื่อที่แสดงที่เข้าใจง่ายสำหรับส่วนขยาย (3-5 คำ)

จำกัดอักขระที่ 40 ตัว

description
สตริง
(ไม่บังคับ)
คำอธิบายสั้นๆ ของงานที่ส่วนขยายของคุณทำ (~1 ประโยค)
icon
สตริง
(ไม่บังคับ)

ไฟล์ที่จะใช้เป็นไอคอนของส่วนขยายใน extensions.dev และคอนโซล Firebase

ไฟล์นี้ต้องเป็น PNG สี่เหลี่ยมจัตุรัสขนาด 512x512 ถึง 1024x1024 พิกเซล วางไฟล์ไว้ในไดเรกทอรีเดียวกับ extension.yaml โดยคุณจะระบุไดเรกทอรีย่อยไม่ได้

โปรดคำนึงถึงหลักเกณฑ์ต่อไปนี้เมื่อออกแบบไอคอนสำหรับส่วนขยาย

  • เลือกสีพื้นหลังและสีอาร์ตเวิร์กที่เหมาะกับแบรนด์
  • ใช้สีไอคอนแบบเรียบง่ายโดยใช้เพียง 2 สี การใช้สีหลายสีอาจทำให้ไอคอนดูรกตา
  • ด้วยเหตุเดียวกันนี้ คุณจึงไม่ควรใช้การไล่สีในไอคอน ไล่สีนั้นสังเกตได้ยากเมื่อไอคอนมีขนาดเล็กและทำให้ไอคอนดูซับซ้อน
  • ใช้ภาพที่ไม่ซ้ำและเรียบง่ายซึ่งสื่อถึงฟังก์ชันการทำงานของส่วนขยาย
  • หากบริษัทสร้างชิ้นงานหลายรายการ อย่าใช้โลโก้เป็นไอคอน ผู้ใช้จะแยกความแตกต่างระหว่างส่วนขยายของคุณได้ยาก
  • ทำให้อาร์ตเวิร์กเป็นภาพกราฟิกและโดดเด่น อย่าใช้อาร์ตเวิร์กที่ละเอียดหรือซับซ้อน ซึ่งจะแสดงผลได้ไม่ดีในขนาดที่เล็กลง
  • อย่าใส่คำที่อธิบายสิ่งที่ส่วนขยายทํา ข้อความมักอ่านไม่ออกเมื่อมีขนาดที่เล็กลง
tags
รายการสตริง
(ไม่บังคับ)
แท็กเพื่อช่วยให้ผู้ใช้ค้นพบส่วนขยายของคุณ แท็กต่อไปนี้แมปกับหมวดหมู่ในฮับส่วนขยาย ซึ่งได้แก่ marketing, messaging, payments, search, shipping, social, utilities, ai
sourceUrl
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงไดเรกทอรีส่วนขยายได้
releaseNotesUrl
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงได้บันทึกประจำรุ่นของส่วนขยาย
author
ออบเจ็กต์ผู้เขียน 1 รายการ
(ไม่บังคับ)

ผู้เขียนหลักและผู้ติดต่อสำหรับส่วนขยาย

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
ช่องผู้เขียน
authorName
สตริง
(ต้องระบุ)

ชื่อผู้เขียน

อาจเป็นบุคคล บริษัท องค์กร ฯลฯ

email
สตริง
(ไม่บังคับ)
อีเมลของผู้เขียน
url
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงข้อมูลเกี่ยวกับผู้แต่งได้
contributors
รายการออบเจ็กต์ผู้เขียน
(ไม่บังคับ)

ผู้เขียนคนอื่นๆ ที่มีส่วนร่วมในชิ้นงาน

contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
ช่องผู้แต่ง
authorName
สตริง
(ต้องระบุ)

ชื่อผู้เขียน

อาจเป็นบุคคล บริษัท องค์กร ฯลฯ

email
สตริง
(ไม่บังคับ)
อีเมลของผู้เขียน
url
สตริง
(ไม่บังคับ)
URL สาธารณะที่เข้าถึงข้อมูลเกี่ยวกับผู้แต่งได้

Firebase และ Google Cloud API

ช่องเหล่านี้ระบุ Firebase และ Google API ที่ส่วนขยายใช้ เมื่อติดตั้งส่วนขยายแล้ว ผู้ใช้สามารถเลือกเปิดใช้ API เหล่านี้ในโปรเจ็กต์โดยอัตโนมัติได้

apis:
  - apiName: apiname.googleapis.com
    reason: Explanation of why the extension uses this API
  - apiName: anotherapiname.googleapis.com
    reason: Explanation of why the extension uses this API
ช่อง API
apiName
สตริง
(ต้องระบุ)

ชื่อ Google API

ต้องตรงกับช่องชื่อบริการตามที่ระบุไว้ในหน้าภาพรวมของ API แต่ละรายการ (ตัวอย่าง) ในคลัง Google Cloud API

reason
สตริง
(ต้องระบุ)
คําอธิบายสั้นๆ ว่าเหตุใดส่วนขยายจึงต้องใช้ API นี้

บทบาท IAM

ฟิลด์เหล่านี้ระบุบทบาท Cloud IAM ที่ส่วนขยายต้องการ บัญชีบริการที่จัดสรรสำหรับส่วนขยายจะได้รับบทบาทเหล่านี้

คุณจะระบุบทบาทที่รองรับได้เพียงบทบาทเดียวเท่านั้น

roles:
  - role: product.role
    reason: Explanation of why the extension needs this level of access
  - role: anotherproduct.role
    resource: projects/${project_id}/resource_type/*
    reason: Explanation of why the extension needs this level of access
ช่องบทบาท
role
สตริง
(ต้องระบุ)

ชื่อบทบาท IAM ที่จําเป็นสําหรับให้ส่วนขยายทํางาน

ต้องเป็นบทบาทใดบทบาทหนึ่งของบทบาทที่รองรับ

reason
สตริง
(ต้องระบุ)
คำอธิบายสั้นๆ ถึงเหตุผลที่ส่วนขยายต้องการสิทธิ์เข้าถึงที่ได้รับจากบทบาทนี้
resource
สตริง
(ไม่บังคับ)

จำกัดขอบเขตของบทบาทไว้ที่ทรัพยากรนี้

หากไม่ระบุ ค่าเริ่มต้นจะเป็น projects/${project_id} ดูหัวข้อลดขอบเขตของบทบาท

บริการภายนอก

ช่องเหล่านี้ระบุบริการที่ไม่ใช่ Firebase และไม่ใช่ของ Google ที่ใช้โดยส่วนขยาย (โดยปกติจะเป็น REST API) แพลตฟอร์ม Firebase Extensions ไม่ได้หมายถึงการเปิดใช้หรือดำเนินการให้สิทธิ์สำหรับบริการเหล่านี้โดยอัตโนมัติ

externalServices:
  - name: Example API
    pricingUri: https://developers.example.com/pricing
  - name: Another Example API
    pricingUri: https://developers.example.com/pricing
ช่องบริการภายนอก
name
สตริง
(ต้องระบุ)
ชื่อบริการภายนอกที่จําเป็นสําหรับให้ส่วนขยายทํางาน
pricingUri
สตริง
(ต้องระบุ)
URI ไปยังข้อมูลราคาสำหรับบริการ

พารามิเตอร์ที่ผู้ใช้กําหนดค่าได้

ช่องเหล่านี้จะกำหนดพารามิเตอร์ที่ส่วนขยายทำให้ผู้ใช้กำหนดค่าได้

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What do you want to set PARAM_ID to?
      This is a longer description of the parameter, often phrased as a prompt
      to the user.
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >
      What do you want to set ANOTHER_PARAM_ID to?
      This is a longer description of the parameter.
    example: example-input
    validationRegex: "^[a-zA-Z][a-zA-Z-]*[a-zA-Z]?$"
    validationErrorMessage:
      Must be a hyphen-delimited string of alphabetic characters
    default: default-value
    required: false
    immutable: true
ฟิลด์พารามิเตอร์
param
สตริง
(ต้องระบุ)
ชื่อพารามิเตอร์ คุณใช้ชื่อนี้เพื่ออ้างอิงค่าพารามิเตอร์ในโค้ดได้
label
สตริง
(ต้องระบุ)
คําอธิบายสั้นๆ สําหรับพารามิเตอร์ แสดงต่อผู้ใช้เมื่อระบบแจ้งให้ป้อนค่าพารามิเตอร์
description
สตริง
(ไม่บังคับ)

คำอธิบายโดยละเอียดสำหรับพารามิเตอร์ แสดงต่อผู้ใช้เมื่อได้รับแจ้งให้ใส่ค่าของพารามิเตอร์

รองรับ Markdown

example
สตริง
(ไม่บังคับ)
ค่าตัวอย่างสำหรับพารามิเตอร์
default
สตริง
(ไม่บังคับ)
ค่าเริ่มต้นสำหรับพารามิเตอร์ในกรณีที่ผู้ใช้ปล่อยค่าของพารามิเตอร์ว่างไว้
validationRegex
สตริง
(ไม่บังคับ)
นิพจน์ทั่วไปสำหรับการตรวจสอบค่าที่ผู้ใช้กําหนดค่าของพารามิเตอร์ ไวยากรณ์ Google RE2
validationErrorMessage
สตริง
(ไม่บังคับ)
ข้อความแสดงข้อผิดพลาดที่จะแสดงหากการตรวจสอบนิพจน์ทั่วไปไม่สำเร็จ
required
บูลีน
(ไม่บังคับ)
กำหนดว่าผู้ใช้จะส่งสตริงว่างได้หรือไม่เมื่อระบบแจ้งให้ป้อนค่าพารามิเตอร์ ค่าเริ่มต้นคือ true
immutable
บูลีน
(ไม่บังคับ)

กําหนดว่าผู้ใช้จะเปลี่ยนค่าของพารามิเตอร์ได้หรือไม่หลังจากการติดตั้ง (เช่น หากผู้ใช้กําหนดค่าส่วนขยายใหม่) ค่าเริ่มต้นคือ false

หมายเหตุ: หากคุณกําหนดพารามิเตอร์ "location" สําหรับฟังก์ชันที่ติดตั้งใช้งานแล้วของส่วนขยาย ให้ตั้งค่าช่องนี้เป็น true

type
สตริง
(ไม่บังคับ)
ประเภทพารามิเตอร์ พารามิเตอร์ประเภทพิเศษอาจมีข้อกําหนดเพิ่มเติมหรือการแสดง UI ที่แตกต่างออกไป โปรดดูส่วนต่อไปนี้

พารามิเตอร์ที่เลือกได้และเลือกได้หลายรายการ

พารามิเตอร์แบบเลือกได้และเลือกได้หลายรายการจะแจ้งให้ผู้ใช้เลือกจากรายการตัวเลือกที่กำหนดไว้ล่วงหน้า

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Do you want to enable the option?
    type: select
    options:
      - label: Yes
        value: true
      - label: No
        value: false
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >-
      Which options do you want to enable?
    type: multiselect
    options:
      - value: red
      - value: green
      - value: blue
ฟิลด์พารามิเตอร์แบบหลายตัวเลือก
type
สตริง

select หรือ multiselect

ระบุว่าพารามิเตอร์อาจเป็นค่าเดียว (select) หรือหลายค่า (multiselect) ที่เลือกจากชุดตัวเลือกที่กําหนดไว้ล่วงหน้า

options
รายการตัวเลือก
(ต้องระบุ)

ตัวเลือกที่ผู้ใช้เลือกได้

ช่องตัวเลือก
value
สตริง
(ต้องระบุ)
ค่าใดค่าหนึ่งที่ผู้ใช้เลือกได้ นี่คือค่าที่คุณได้รับเมื่ออ่านค่าพารามิเตอร์ในโค้ด
label
สตริง
(ไม่บังคับ)
คำอธิบายสั้นๆ ของตัวเลือกที่เลือกได้ หากไม่ระบุ จะมีค่าเริ่มต้นเป็น value

พารามิเตอร์ทรัพยากรที่เลือกได้

พารามิเตอร์ทรัพยากรที่เลือกได้จะแจ้งให้ผู้ใช้เลือกทรัพยากร (อินสแตนซ์ฐานข้อมูล ที่เก็บข้อมูล ฯลฯ) จากโปรเจ็กต์

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Which resource do you want to use?
    type: selectresource
    resourceType: product.googleapis.com/ResourceType
ฟิลด์พารามิเตอร์แหล่งข้อมูล
type
สตริง

selectresource

ระบุว่าพารามิเตอร์แสดงถึงทรัพยากรโปรเจ็กต์

resourceType
สตริง
(ต้องระบุ)

ประเภททรัพยากรที่จะแจ้งให้ผู้ใช้เลือก

ค่าที่ถูกต้อง:

  • storage.googleapis.com/Bucket
  • firestore.googleapis.com/Database
  • firebasedatabase.googleapis.com/DatabaseInstance

อย่างไรก็ตาม ปัจจุบันมีเพียงที่เก็บข้อมูล Cloud Storage เท่านั้นที่มี UI การเลือก (ทรัพยากรประเภทอื่นๆ จะแสดงเป็นช่องป้อนข้อความแบบอิสระ)

พารามิเตอร์ลับ

ระบบจะจัดการค่าข้อมูลลับที่ผู้ใช้ระบุ (เช่น คีย์ API) ด้วยวิธีที่ต่างออกไป

  • ค่าข้อมูลลับจะจัดเก็บโดยใช้ Cloud Secret Manager เฉพาะไคลเอ็นต์ที่ได้รับอนุญาตเท่านั้น (เช่น อินสแตนซ์ที่ติดตั้งไว้ของส่วนขยาย) ที่จะเข้าถึงค่าเหล่านี้ได้
  • เมื่อระบบแจ้งให้ผู้ใช้ระบุค่าเหล่านี้ ระบบจะไม่แสดงอินพุต
params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What is the secret value?
    type: secret
ฟิลด์พารามิเตอร์ลับ
type
สตริง

secret

ระบุว่าพารามิเตอร์เป็นค่าลับ

ทรัพยากร Cloud Function

ช่องเหล่านี้จะประกาศ Cloud Function ที่รวมอยู่ในส่วนขยาย ไวยากรณ์การประกาศทรัพยากรจะมีความแตกต่างเล็กน้อยระหว่างฟังก์ชันของรุ่นที่ 1 และ 2 ซึ่งจะอยู่ร่วมกันในส่วนขยายได้

Cloud Functions รุ่นที่ 1

resources:
  - name: functionName
    type: firebaseextensions.v1beta.function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      runtime: runtime-version
      eventTrigger:
        eventType: google.product.event
        resource: projects/_/resource/specifier
ช่องทรัพยากร
name
สตริง
(ต้องระบุ)

ชื่อที่เรียกง่ายสำหรับฟังก์ชันที่ส่งออก

หากคุณไม่ได้ระบุพร็อพเพอร์ตี้ entryPoint (ดูด้านล่าง) ค่านี้ต้องตรงกับชื่อของฟังก์ชันในซอร์สโค้ดของฟังก์ชัน

ชื่อสุดท้ายของฟังก์ชันที่ทําให้ใช้งานได้จะอยู่ในรูปแบบต่อไปนี้ ext-extension-instance-id-name

type
สตริง
(ต้องระบุ)
สําหรับทรัพยากรฟังก์ชันรุ่นที่ 1 ให้ทําดังนี้ firebaseextensions.v1beta.function
description
สตริง
(ต้องระบุ)

คําอธิบายสั้นๆ เกี่ยวกับงานที่ฟังก์ชันทําสําหรับส่วนขยาย

properties
(ต้องระบุ)

พร็อพเพอร์ตี้ Cloud Functions รุ่นที่ 1 พร็อพเพอร์ตี้ที่สำคัญที่สุดแสดงอยู่ด้านล่าง แต่คุณดูรายการทั้งหมดได้ในข้อมูลอ้างอิง Cloud Functions

พร็อพเพอร์ตี้
location
(ไม่บังคับ)

ตำแหน่งที่จะทำให้ใช้งานได้สำหรับฟังก์ชัน ค่าเริ่มต้นคือ us-central1

entryPoint
(ไม่บังคับ)
ชื่อของฟังก์ชันที่ส่งออกภายในซอร์สโค้ดของฟังก์ชันที่ส่วนขยายควรมองหา ค่าเริ่มต้นคือ name ด้านบน
sourceDirectory
(ไม่บังคับ)

ไดเรกทอรีที่มี package.json อยู่ที่รูท ไฟล์สําหรับซอร์สโค้ดของฟังก์ชันต้องอยู่ในไดเรกทอรีนี้ ค่าเริ่มต้นคือ functions

หมายเหตุ: ช่อง main ของ package.json จะระบุไฟล์สำหรับซอร์สโค้ดของฟังก์ชัน (เช่น index.js)

timeout
(ไม่บังคับ)

ระยะเวลาดำเนินการสูงสุดของฟังก์ชัน

  • ค่าเริ่มต้น: 60s
  • ค่าสูงสุด: 540s
availableMemoryMb
(ไม่บังคับ)

จำนวนหน่วยความจำใน MB ที่พร้อมใช้งานสำหรับฟังก์ชัน

  • ค่าเริ่มต้น: 256
  • ค่าที่ถูกต้อง: 128, 256, 512, 1024 และ 2048
runtime
(แนะนำ)

สภาพแวดล้อมรันไทม์ของฟังก์ชัน

httpsTrigger
หรือ
eventTrigger
หรือ
scheduleTrigger
หรือ
taskQueueTrigger
(ต้องระบุประเภททริกเกอร์ฟังก์ชันอย่างใดอย่างหนึ่งต่อไปนี้)
ดูข้อมูลเฉพาะเกี่ยวกับทริกเกอร์แต่ละประเภทได้ที่เขียน Cloud Functions สําหรับส่วนขยาย

Cloud Functions รุ่นที่ 2

resources:
  - name: functionName
    type: firebaseextensions.v1beta.v2function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      buildConfig:
        runtime: nodejs16
      serviceConfig:
        availableMemory: 512M
      eventTrigger:
        eventType: google.firebase.firebasealerts.alerts.v1.published
        triggerRegion: global
        eventFilters:
          - attribute: alerttype
            value: crashlytics.newFatalIssue

ช่องทรัพยากร
name
สตริง
(ต้องระบุ)

ชื่อที่เรียกง่ายสำหรับฟังก์ชันที่ส่งออก

หากคุณไม่ได้ระบุพร็อพเพอร์ตี้ entryPoint (ดูด้านล่าง) ค่านี้ต้องตรงกับชื่อของฟังก์ชันในซอร์สโค้ดของฟังก์ชัน

ชื่อสุดท้ายของฟังก์ชันที่ทําให้ใช้งานได้จะอยู่ในรูปแบบต่อไปนี้ ext-extension-instance-id-name

type
สตริง
(ต้องระบุ)
สําหรับแหล่งข้อมูลฟังก์ชันรุ่นที่ 2 ให้ทําดังนี้ firebaseextensions.v1beta.v2function
description
สตริง
(ต้องระบุ)

คําอธิบายสั้นๆ เกี่ยวกับงานที่ฟังก์ชันทําสําหรับส่วนขยาย

properties
(ต้องระบุ)

พร็อพเพอร์ตี้ Cloud Functions รุ่นที่ 2 พร็อพเพอร์ตี้ที่สำคัญที่สุดแสดงอยู่ด้านล่าง แต่คุณดูรายการทั้งหมดได้ในข้อมูลอ้างอิง Cloud Functions

พร็อพเพอร์ตี้
location
(ไม่บังคับ)

ตำแหน่งที่จะติดตั้งใช้งานฟังก์ชัน ค่าเริ่มต้นคือ us-central1

sourceDirectory
(ไม่บังคับ)

ไดเรกทอรีที่มี package.json อยู่ที่รูท ไฟล์สําหรับซอร์สโค้ดของฟังก์ชันต้องอยู่ในไดเรกทอรีนี้ ค่าเริ่มต้นคือ functions

หมายเหตุ: ฟิลด์ main ของ package.json จะระบุไฟล์สำหรับซอร์สโค้ดของฟังก์ชัน (เช่น index.js)

นอกจากนี้ ยังมีช่องประเภทออบเจ็กต์ 3 ช่องที่มีพร็อพเพอร์ตี้ของตัวเองด้วย ดังนี้

พร็อพเพอร์ตี้ buildConfig
buildConfig.runtime
(แนะนำ)

สภาพแวดล้อมรันไทม์ของฟังก์ชัน

buildConfig.entryPoint
(ไม่บังคับ)
ชื่อของฟังก์ชันที่ส่งออกภายในซอร์สโค้ดของฟังก์ชันที่ส่วนขยายควรค้นหา ค่าเริ่มต้นคือค่าของ name ด้านบน
พร็อพเพอร์ตี้ ServiceConfig
serviceConfig.timeoutSeconds
(ไม่บังคับ)

ระยะเวลาดำเนินการสูงสุดของฟังก์ชัน

  • ค่าเริ่มต้น: 60
  • ค่าสูงสุด: 540
serviceConfig.availableMemory
(ไม่บังคับ)
ปริมาณหน่วยความจำที่ใช้ได้สำหรับฟังก์ชัน ค่าเริ่มต้นคือ 256M หน่วยที่รองรับคือ k, M, G, Mi, Gi หากไม่ได้ระบุหน่วย ระบบจะตีความค่าเป็นไบต์
พร็อพเพอร์ตี้ eventTrigger
eventTrigger.eventType
(ต้องระบุ)
ประเภทของเหตุการณ์ที่จะฟัง โปรดดูประเภทเหตุการณ์ที่พร้อมใช้งานสำหรับแต่ละผลิตภัณฑ์ที่หัวข้อเขียน Cloud Functions สำหรับส่วนขยาย
eventTrigger.eventFilters
(ไม่บังคับ)
ตัวกรองที่จำกัดเหตุการณ์ที่จะฟังมากขึ้นอีก เช่น คุณอาจฟังเฉพาะเหตุการณ์ที่ตรงกับรูปแบบทรัพยากรที่เฉพาะเจาะจง โปรดดูเขียน Cloud Functions สำหรับส่วนขยายเพื่อดูข้อมูลเกี่ยวกับการกรองเหตุการณ์แต่ละประเภท
eventTrigger.channel
(ไม่บังคับ)
ชื่อแชแนลที่เชื่อมโยงกับทริกเกอร์ในรูปแบบ projects/{project}/locations/{location}/channels/{channel} หากคุณไม่ใช้พร็อพเพอร์ตี้นี้ ฟังก์ชันจะรอฟังเหตุการณ์ในช่องทางเริ่มต้นของโปรเจ็กต์
eventTrigger.triggerRegion
(ไม่บังคับ)
ทริกเกอร์จะรับเฉพาะเหตุการณ์ที่มาจากภูมิภาคนี้เท่านั้น ภูมิภาคดังกล่าวอาจเป็นภูมิภาคเดียวกับฟังก์ชัน ภูมิภาคอื่น หลายภูมิภาค หรือภูมิภาคทั่วโลก หากไม่ได้ระบุ ค่าเริ่มต้นจะเป็นภูมิภาคเดียวกับฟังก์ชัน

เหตุการณ์ในวงจร

เหตุการณ์ในวงจรช่วยให้คุณระบุฟังก์ชันที่จะทํางานเมื่อผู้ใช้ติดตั้ง อัปเดต หรือกําหนดค่าอินสแตนซ์ของส่วนขยาย โปรดดูหัวข้อจัดการเหตุการณ์ในวงจรของส่วนขยาย

lifecycleEvents:
  onInstall:
    function: myTaskFunction
    processingMessage: Describes the task being completed
  onUpdate:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
  onConfigure:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
ช่องเหตุการณ์ในวงจร
onInstall
(ไม่บังคับ)

ระบุฟังก์ชันที่จะทำงานเมื่อผู้ใช้ติดตั้งส่วนขยาย

ข้อกําหนดของฟังก์ชัน
function
สตริง
(ต้องระบุ)

ชื่อฟังก์ชันที่ทริกเกอร์จากคิวงานซึ่งจะจัดการเหตุการณ์

คุณต้องประกาศฟังก์ชันนี้ในส่วน resources และกำหนด taskQueue ไว้

processingMessage
สตริง
(ต้องระบุ)
ข้อความที่จะแสดงในคอนโซล Firebase ขณะดำเนินการ งาน
onUpdate
(ไม่บังคับ)

ระบุฟังก์ชันที่จะทำงานเมื่อผู้ใช้อัปเดตส่วนขยาย

ข้อกําหนดของฟังก์ชัน
function
สตริง
(ต้องระบุ)

ชื่อฟังก์ชันที่ทริกเกอร์จากคิวงานซึ่งจะจัดการเหตุการณ์

คุณต้องประกาศฟังก์ชันนี้ในส่วน resources และกำหนด taskQueue ไว้

processingMessage
สตริง
(ต้องระบุ)
ข้อความที่จะแสดงในคอนโซล Firebase ขณะดำเนินการ งาน
onConfigure
(ไม่บังคับ)

ระบุฟังก์ชันที่จะทำงานเมื่อผู้ใช้กําหนดค่าส่วนขยายอีกครั้ง

ข้อมูลจำเพาะของฟังก์ชัน
function
สตริง
(ต้องระบุ)

ชื่อฟังก์ชันที่ทริกเกอร์จากคิวงานซึ่งจะจัดการเหตุการณ์

คุณต้องประกาศฟังก์ชันนี้ในส่วน resources และกำหนด taskQueue ไว้

processingMessage
สตริง
(ต้องระบุ)
ข้อความที่จะแสดงในคอนโซล Firebase ขณะที่งานกำลังดำเนินการ

เหตุการณ์ที่กำหนดเอง (Eventarc)

เหตุการณ์ที่กําหนดเองคือเหตุการณ์ที่ส่วนขยายของคุณสร้างขึ้นเพื่อให้ผู้ใช้แทรกตรรกะของตนเองลงในส่วนขยายได้ โปรดดูส่วน Eventarc ในหัวข้อเพิ่มฮุกผู้ใช้ไปยังส่วนขยาย

events:
  - type: publisher-id.extension-name.version.event-name
    description: Description of the event
  - type: publisher-id.extension-name.version.another-event-name
    description: Description of the other event
ช่องเหตุการณ์ที่กําหนดเอง
type
สตริง
(ต้องระบุ)
ตัวระบุประเภทเหตุการณ์ สร้างตัวระบุจากช่อง 3-4 ช่องที่คั่นด้วยจุด ได้แก่ รหัสผู้เผยแพร่โฆษณา ชื่อชิ้นงาน และชื่อเหตุการณ์ โดยต้องระบุช่องเหล่านี้ และแนะนำให้ระบุช่องเวอร์ชันด้วย เลือกชื่อเหตุการณ์ที่ไม่ซ้ำและสื่อความหมายสําหรับประเภทเหตุการณ์แต่ละประเภทที่คุณเผยแพร่
description
สตริง
(ต้องระบุ)
คำอธิบายกิจกรรม