आपके एक्सटेंशन की विनिर्देश फ़ाइल ( extension.yaml
) में आपके एक्सटेंशन का मेटाडेटा शामिल है, एक्सटेंशन द्वारा बनाए गए संसाधनों और एपीआई और एक्सटेंशन द्वारा आवश्यक पहुंच की घोषणा करता है, और एक्सटेंशन द्वारा प्रदान किए गए किसी भी उपयोगकर्ता-कॉन्फ़िगर पैरामीटर को परिभाषित करता है।
इस पृष्ठ की तालिकाएँ 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 डोरी (आवश्यक) | फायरबेस एक्सटेंशन विनिर्देश का संस्करण। वर्तमान मान: | ||||||||
license डोरी (वैकल्पिक) | विस्तार के लिए लाइसेंस. आपका एक्सटेंशन | ||||||||
billingRequired बूलियन (वैकल्पिक) | क्या एक्सटेंशन द्वारा उपयोग की जाने वाली सेवाओं के लिए सशुल्क-स्तरीय फायरबेस बिलिंग खाते की आवश्यकता है। हमेशा | ||||||||
displayName डोरी (वैकल्पिक) | एक्सटेंशन के लिए अनुकूल प्रदर्शन नाम (3-5 शब्द)। 40 वर्ण सीमा. | ||||||||
description डोरी (वैकल्पिक) | आपके एक्सटेंशन द्वारा किए जाने वाले कार्य का संक्षिप्त विवरण (~1 वाक्य)। | ||||||||
icon डोरी (वैकल्पिक) | यह फ़ाइल 512x512 और 1024x1024 पिक्सेल के बीच एक वर्गाकार PNG होनी चाहिए। फ़ाइल को उसी निर्देशिका में रखें जिसमें अपने एक्सटेंशन के लिए आइकन डिज़ाइन करते समय निम्नलिखित दिशानिर्देशों को ध्यान में रखें:
| ||||||||
tags स्ट्रिंग्स की सूची (वैकल्पिक) | उपयोगकर्ताओं को आपका एक्सटेंशन खोजने में मदद करने के लिए टैग। निम्नलिखित टैग एक्सटेंशन हब पर श्रेणियों को मैप करते हैं: marketing , messaging , payments , search , shipping , social , utilities , ai | ||||||||
sourceUrl डोरी (वैकल्पिक) | सार्वजनिक यूआरएल जहां एक्सटेंशन निर्देशिका तक पहुंचा जा सकता है। | ||||||||
releaseNotesUrl डोरी (वैकल्पिक) | सार्वजनिक यूआरएल जहां एक्सटेंशन के रिलीज नोट्स तक पहुंचा जा सकता है। | ||||||||
author एक लेखक वस्तु (वैकल्पिक) | विस्तार के लिए प्राथमिक लेखक और संपर्क बिंदु। author: authorName: Your Company email: extensions@example.com url: https://example.com/
| ||||||||
contributors लेखक वस्तुओं की सूची (वैकल्पिक) | विस्तार के लिए कोई अतिरिक्त योगदानकर्ता लेखक। contributors: - authorName: Your Name - authorName: Another Contributor email: colleague@example.net url: https://github.com/their-org/
|
फायरबेस और गूगल क्लाउड एपीआई
ये फ़ील्ड एक्सटेंशन द्वारा उपयोग किए जाने वाले फ़ायरबेस और Google 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
एपीआई फ़ील्ड | |
---|---|
apiName डोरी (आवश्यक) | Google API का नाम Google क्लाउड एपीआई लाइब्रेरी में प्रत्येक एपीआई के अवलोकन पृष्ठ ( उदाहरण ) पर सूचीबद्ध सेवा नाम फ़ील्ड के अनुरूप होना चाहिए |
reason डोरी (आवश्यक) | एक्सटेंशन को इस एपीआई का उपयोग करने की आवश्यकता क्यों है इसका संक्षिप्त विवरण |
आईएएम भूमिकाएँ
ये फ़ील्ड एक्सटेंशन के लिए आवश्यक क्लाउड 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 डोरी (वैकल्पिक) | भूमिका का दायरा इस संसाधन तक सीमित रखें. यदि छोड़ा गया है, तो डिफ़ॉल्ट |
वाह्य सेवाएँ
ये फ़ील्ड उन गैर-फ़ायरबेस और गैर-Google सेवाओं को निर्दिष्ट करते हैं जिनका एक्सटेंशन उपयोग करता है (आमतौर पर REST API)। फायरबेस एक्सटेंशन प्लेटफ़ॉर्म इन सेवाओं के लिए स्वचालित रूप से सक्षम करने या प्राधिकरण निष्पादित करने का कोई साधन प्रदान नहीं करता है।
externalServices:
- name: Example API
pricingUri: https://developers.example.com/pricing
- name: Another Example API
pricingUri: https://developers.example.com/pricing
बाहरी सेवा क्षेत्र | |
---|---|
name डोरी (आवश्यक) | एक्सटेंशन को संचालित करने के लिए आवश्यक बाहरी सेवा का नाम |
pricingUri डोरी (आवश्यक) | सेवा के लिए मूल्य निर्धारण की जानकारी के लिए यूआरआई |
उपयोगकर्ता-कॉन्फ़िगर करने योग्य पैरामीटर
ये फ़ील्ड उन मापदंडों को परिभाषित करते हैं जिन्हें एक्सटेंशन उपयोगकर्ताओं को कॉन्फ़िगर करने के लिए उपलब्ध कराता है।
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 डोरी (वैकल्पिक) | पैरामीटर के लिए विस्तृत विवरण. पैरामीटर के मान के लिए संकेत मिलने पर उपयोगकर्ता को प्रदर्शित किया जाता है। मार्कडाउन का समर्थन करता है। |
example डोरी (वैकल्पिक) | पैरामीटर के लिए उदाहरण मान. |
default डोरी (वैकल्पिक) | यदि उपयोगकर्ता पैरामीटर का मान खाली छोड़ देता है तो पैरामीटर के लिए डिफ़ॉल्ट मान। |
validationRegex डोरी (वैकल्पिक) | पैरामीटर के उपयोगकर्ता-कॉन्फ़िगर मान के सत्यापन के लिए नियमित अभिव्यक्ति। Google RE2 सिंटैक्स । |
validationErrorMessage डोरी (वैकल्पिक) | रेगेक्स सत्यापन विफल होने पर प्रदर्शित होने वाला त्रुटि संदेश। |
required बूलियन (वैकल्पिक) | परिभाषित करता है कि पैरामीटर के मान के लिए संकेत मिलने पर उपयोगकर्ता एक खाली स्ट्रिंग सबमिट कर सकता है या नहीं। डिफ़ॉल्ट true पर। |
immutable बूलियन (वैकल्पिक) | परिभाषित करता है कि क्या उपयोगकर्ता इंस्टॉलेशन के बाद पैरामीटर का मान बदल सकता है (जैसे कि यदि वे एक्सटेंशन को पुन: कॉन्फ़िगर करते हैं)। डिफ़ॉल्ट रूप से नोट: यदि आप अपने एक्सटेंशन के तैनात कार्यों के लिए "स्थान" पैरामीटर परिभाषित करते हैं, तो इस फ़ील्ड को |
type डोरी (वैकल्पिक) | पैरामीटर प्रकार. विशेष पैरामीटर प्रकारों में अतिरिक्त आवश्यकताएं या भिन्न यूआई प्रस्तुति हो सकती है। निम्नलिखित अनुभाग देखें. |
चयन योग्य और बहु-चयन योग्य पैरामीटर
चयन योग्य और बहु-चयन योग्य पैरामीटर उपयोगकर्ताओं को पूर्वनिर्धारित विकल्पों की सूची में से चुनने के लिए प्रेरित करते हैं।
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 डोरी | निर्दिष्ट करता है कि पैरामीटर पूर्वनिर्धारित विकल्पों के सेट से चयनित एक मान ( | ||||||
options विकल्पों की सूची (आवश्यक) | वे विकल्प जिनमें से उपयोगकर्ता चुन सकता है
|
चयन योग्य संसाधन पैरामीटर
चयन योग्य संसाधन पैरामीटर उपयोगकर्ताओं को अपने प्रोजेक्ट से एक संसाधन (डेटाबेस इंस्टेंस, स्टोरेज बकेट, आदि) का चयन करने के लिए प्रेरित करते हैं।
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 डोरी | निर्दिष्ट करता है कि पैरामीटर एक प्रोजेक्ट संसाधन का प्रतिनिधित्व करता है |
resourceType डोरी (आवश्यक) | उपयोगकर्ता को चयन करने के लिए संकेत देने के लिए संसाधन का प्रकार. मान्य मान:
हालाँकि, वर्तमान में केवल क्लाउड स्टोरेज बकेट में चयन यूआई है (अन्य संसाधन प्रकार फ्री-फॉर्म टेक्स्ट इनपुट फ़ील्ड के रूप में प्रस्तुत किए जाते हैं)। |
गुप्त पैरामीटर
उपयोगकर्ता द्वारा प्रदत्त गुप्त मान (जैसे एपीआई कुंजियाँ) को अलग तरीके से नियंत्रित किया जाता है:
- गुप्त मान क्लाउड सीक्रेट मैनेजर का उपयोग करके संग्रहीत किए जाते हैं। केवल अधिकृत ग्राहक (जैसे किसी एक्सटेंशन का स्थापित उदाहरण) ही इन मानों तक पहुंच सकते हैं।
- जब उपयोगकर्ताओं को ये मान प्रदान करने के लिए कहा जाता है, तो उनका इनपुट प्रदर्शित नहीं होता है।
params:
- param: PARAM_ID
label: Short description of the parameter
description: >-
What is the secret value?
type: secret
गुप्त पैरामीटर फ़ील्ड | |
---|---|
type डोरी | निर्दिष्ट करता है कि पैरामीटर एक गुप्त मान है |
क्लाउड फ़ंक्शन संसाधन
ये फ़ील्ड किसी एक्सटेंशन में शामिल क्लाउड फ़ंक्शंस की घोषणा करते हैं। संसाधन घोषणा सिंटैक्स पहली पीढ़ी और दूसरी पीढ़ी के कार्यों के बीच थोड़ा अलग दिखता है, जो एक विस्तार में सह-अस्तित्व में हो सकता है।
पहली पीढ़ी के क्लाउड फ़ंक्शंस
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 डोरी (आवश्यक) | निर्यातित फ़ंक्शन के लिए उपयोगकर्ता-अनुकूल नाम। यदि आप तैनात फ़ंक्शन का अंतिम नाम निम्नलिखित प्रारूप में होगा: | ||||||||||||||||
type डोरी (आवश्यक) | पहली पीढ़ी के फ़ंक्शन संसाधन के लिए: firebaseextensions.v1beta.function | ||||||||||||||||
description डोरी (आवश्यक) | एक्सटेंशन के लिए फ़ंक्शन कौन सा कार्य करता है इसका संक्षिप्त विवरण। | ||||||||||||||||
properties (आवश्यक) | पहली पीढ़ी के क्लाउड फ़ंक्शंस गुण। सबसे महत्वपूर्ण गुण नीचे सूचीबद्ध हैं, लेकिन आप पूरी सूची क्लाउड फ़ंक्शंस संदर्भ में पा सकते हैं।
|
दूसरी पीढ़ी के क्लाउड फ़ंक्शंस
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 डोरी (आवश्यक) | निर्यातित फ़ंक्शन के लिए उपयोगकर्ता-अनुकूल नाम। यदि आप तैनात फ़ंक्शन का अंतिम नाम निम्नलिखित प्रारूप में होगा: | ||||||||||||||||||||||||||||
type डोरी (आवश्यक) | दूसरी पीढ़ी के फ़ंक्शन संसाधन के लिए: firebaseextensions.v1beta.v2function | ||||||||||||||||||||||||||||
description डोरी (आवश्यक) | एक्सटेंशन के लिए फ़ंक्शन कौन सा कार्य करता है इसका संक्षिप्त विवरण। | ||||||||||||||||||||||||||||
properties (आवश्यक) | दूसरी पीढ़ी के क्लाउड फ़ंक्शंस गुण। सबसे महत्वपूर्ण गुण नीचे सूचीबद्ध हैं, लेकिन आप पूरी सूची क्लाउड फ़ंक्शंस संदर्भ में पा सकते हैं।
अपने स्वयं के गुणों के साथ तीन ऑब्जेक्ट-प्रकार फ़ील्ड भी हैं:
|
जीवनचक्र की घटनाएँ
जीवनचक्र ईवेंट आपको ऐसे फ़ंक्शंस निर्दिष्ट करने देते हैं जो तब चलेंगे जब कोई उपयोगकर्ता आपके एक्सटेंशन का इंस्टेंस इंस्टॉल, अपडेट या कॉन्फ़िगर करेगा। अपने एक्सटेंशन के जीवनचक्र की घटनाओं को प्रबंधित करें देखें।
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 (वैकल्पिक) | एक फ़ंक्शन निर्दिष्ट करता है जो उपयोगकर्ता द्वारा एक्सटेंशन इंस्टॉल करने पर चलता है।
| ||||||
onUpdate (वैकल्पिक) | एक फ़ंक्शन निर्दिष्ट करता है जो तब चलता है जब कोई उपयोगकर्ता एक्सटेंशन अपडेट करता है।
| ||||||
onConfigure (वैकल्पिक) | एक फ़ंक्शन निर्दिष्ट करता है जो तब चलता है जब कोई उपयोगकर्ता एक्सटेंशन को पुन: कॉन्फ़िगर करता है।
|
कस्टम इवेंट (इवेंटार्क)
कस्टम ईवेंट वे ईवेंट हैं जो आपका एक्सटेंशन उपयोगकर्ताओं को आपके एक्सटेंशन में अपना तर्क डालने की अनुमति देने के लिए उत्सर्जित करता है। किसी एक्सटेंशन में उपयोगकर्ता हुक जोड़ें में इवेंटआर्क अनुभाग देखें।
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 डोरी (आवश्यक) | घटना का विवरण. |