आपके एक्सटेंशन की विशिष्टता फ़ाइल (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
स्ट्रिंग(ज़रूरी है) |
Firebase एक्सटेंशन की खास बातों का वर्शन. मौजूदा वैल्यू: |
||||||||
license
स्ट्रिंग(ज़रूरी नहीं) |
एक्सटेंशन का लाइसेंस. आपके एक्सटेंशन को |
||||||||
billingRequired
बूलियन(ज़रूरी नहीं) |
एक्सटेंशन के ज़रिए इस्तेमाल की जाने वाली सेवाओं के लिए पेड-टियर की ज़रूरत है या नहीं Firebase बिलिंग खाता. हमेशा |
||||||||
displayName
स्ट्रिंग(ज़रूरी नहीं) |
एक्सटेंशन के लिए इस्तेमाल में आसान डिसप्ले नाम (तीन से पांच शब्द). 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/
|
Firebase और Google Cloud API
इन फ़ील्ड से एक्सटेंशन के ज़रिए इस्तेमाल होने वाले Firebase और 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 Cloud API लाइब्रेरी |
reason
स्ट्रिंग(ज़रूरी है) |
एक्सटेंशन को इस एपीआई का इस्तेमाल करने की ज़रूरत क्यों है, इस बारे में कम शब्दों में जानकारी |
आईएएम की भूमिकाएं
इन फ़ील्ड से, एक्सटेंशन के लिए ज़रूरी क्लाउड आईएएम की भूमिकाओं के बारे में पता चलता है. सेवा खाते को ये भूमिकाएं दी जाती हैं.
आप इनमें से केवल एक का इस्तेमाल कर सकते हैं.
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
स्ट्रिंग(ज़रूरी नहीं) |
भूमिका का दायरा इस संसाधन तक सीमित करें. अगर यह जानकारी नहीं दी जाती है, तो यह डिफ़ॉल्ट रूप से |
बाहरी सेवाएं
इन फ़ील्ड में, Firebase और Google से बाहर की उन सेवाओं के बारे में बताया जाता है जिनका इस्तेमाल एक्सटेंशन करता है (आम तौर पर REST API). Firebase एक्सटेंशन प्लैटफ़ॉर्म, इन सेवाओं के लिए अपने-आप अनुमति देने या कार्रवाई करने के तरीकों के बारे में बताता है.
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
स्ट्रिंग(ज़रूरी नहीं) |
पैरामीटर के बारे में ज़्यादा जानकारी. उपयोगकर्ता को तब दिखाया जाता है, जब तब उन्हें पैरामीटर की वैल्यू के लिए प्रॉम्प्ट किया जाता है. Markdown के साथ काम करता है. |
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
स्ट्रिंग(ज़रूरी है) |
उपयोगकर्ता को चुनने का अनुरोध करने के लिए, संसाधन का टाइप. मान्य मान:
हालांकि, फ़िलहाल Cloud Storage बकेट में सिर्फ़ चुनिंदा यूज़र इंटरफ़ेस (यूआई) है (अन्य संसाधन टाइप को फ़्री फ़ॉर्म टेक्स्ट इनपुट फ़ील्ड के तौर पर दिखाया जाता है). |
सीक्रेट पैरामीटर
उपयोगकर्ता से मिली सीक्रेट वैल्यू (जैसे कि एपीआई पासकोड) को अलग तरीके से मैनेज किया जाता है:
- सीक्रेट वैल्यू, Cloud Secret Manager का इस्तेमाल करके स्टोर की जाती हैं. केवल अधिकृत ग्राहक (जैसे कि किसी एक्सटेंशन का इंस्टॉल किया गया इंस्टेंस) इन वैल्यू को ऐक्सेस कर सकता है.
- जब उपयोगकर्ताओं से ये वैल्यू डालने के लिए कहा जाता है, तो उनके इनपुट नहीं दिखाए जाते हैं.
params:
- param: PARAM_ID
label: Short description of the parameter
description: >-
What is the secret value?
type: secret
सीक्रेट पैरामीटर फ़ील्ड | |
---|---|
type
स्ट्रिंग
|
इससे पता चलता है कि पैरामीटर एक सीक्रेट वैल्यू है |
Cloud Function के संसाधन
ये फ़ील्ड, एक्सटेंशन में शामिल Cloud Functions का एलान करते हैं. संसाधन डिक्लेरेशन सिंटैक्स 1st-gen और 2nd-gen के बीच थोड़ा अलग दिखता है फ़ंक्शन, जो किसी एक्सटेंशन में एक साथ रह सकते हैं.
1st-gen Cloud के फ़ंक्शन
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
स्ट्रिंग(ज़रूरी है) |
1st-gen फ़ंक्शन के संसाधन के लिए:
firebaseextensions.v1beta.function अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
|
||||||||||||||||
description
स्ट्रिंग(ज़रूरी है) |
इस बारे में कम शब्दों में जानकारी कि यह फ़ंक्शन किस टास्क के लिए काम करता है एक्सटेंशन चुनें. |
||||||||||||||||
properties
(ज़रूरी है)
|
1st-gen Cloud Functions प्रॉपर्टी. सबसे ज़रूरी प्रॉपर्टी नीचे दी गई हैं, लेकिन आप पूरी सूची यहां देख सकते है: क्लाउड फ़ंक्शन के बारे में जानकारी.
|
2nd-gen क्लाउड फ़ंक्शन
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
स्ट्रिंग(ज़रूरी है) |
2nd-gen फ़ंक्शन वाले संसाधन के लिए:
firebaseextensions.v1beta.v2function अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
|
||||||||||||||||||||||||||||
description
स्ट्रिंग(ज़रूरी है) |
इस बारे में कम शब्दों में जानकारी कि यह फ़ंक्शन किस टास्क के लिए काम करता है एक्सटेंशन चुनें. |
||||||||||||||||||||||||||||
properties
(ज़रूरी है)
|
2nd-gen Cloud Functions प्रॉपर्टी. सबसे ज़रूरी प्रॉपर्टी नीचे दी गई हैं, लेकिन आप पूरी सूची यहां देख सकते है: क्लाउड फ़ंक्शन के बारे में जानकारी.
अपनी प्रॉपर्टी के साथ तीन ऑब्जेक्ट-टाइप फ़ील्ड भी होते हैं:
|
लाइफ़साइकल इवेंट
लाइफ़साइकल इवेंट की मदद से, ऐसे फ़ंक्शन तय किए जा सकते हैं जो उपयोगकर्ता के इंस्टॉल करने, अपडेट पर सेट किया जा सकता है या अपने एक्सटेंशन के किसी इंस्टेंस को कॉन्फ़िगर किया जा सकता है. अपने एक्सटेंशन के लाइफ़साइकल इवेंट मैनेज करना देखें.
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
(ज़रूरी नहीं)
|
इस नीति से उस फ़ंक्शन के बारे में पता चलता है जो तब चलता है, जब कोई उपयोगकर्ता एक्सटेंशन चुनें.
|
कस्टम इवेंट (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
स्ट्रिंग(ज़रूरी है) |
इवेंट का आइडेंटिफ़ायर टाइप. तीन से चार में से कोई आइडेंटिफ़ायर बनाएं डॉट-डीलिमिटेड फ़ील्ड: पब्लिशर आईडी, एक्सटेंशन का नाम, और इवेंट का नाम फ़ील्ड में जानकारी डालना ज़रूरी है; तो वर्शन फ़ील्ड का सुझाव दिया जाता है. कोई यूनीक प्रॉडक्ट चुनें पब्लिश किए जाने वाले हर इवेंट टाइप की जानकारी देने वाले इवेंट का नाम डालें. |
description
स्ट्रिंग(ज़रूरी है) |
इवेंट के बारे में जानकारी. |