अपने एक्सटेंशन के लिए उपयोगकर्ता दस्तावेज़ बनाएं

हर एक्सटेंशन में ऐसा दस्तावेज़ होना चाहिए जो उपयोगकर्ताओं को यह बताता हो कि एक्सटेंशन किस बारे में है इस्तेमाल करता है और कैसे करता है.

कम से कम, ज़रूरी दस्तावेज़, तीन मार्कडाउन फ़ाइलों का सेट है:

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

इसके अलावा, आपको ये प्रॉडक्ट भी बनाने चाहिए:

  • एक्सटेंशन के सार्वजनिक डेटा स्टोर करने की जगह के लिए README फ़ाइल.
  • आपकी वेबसाइट पर पब्लिश किए गए लंबी अवधि के ट्यूटोरियल, गाइड, और रेफ़रंस फ़ाइलों के साथ-साथ आपके PREINSTALL.md में लिंक किया गया है.

कुछ सबसे सही तरीकों के साथ-साथ, सामान्य वाक्यांशों और स्ट्रक्चर के बारे में जानने के लिए, हमारा सुझाव है कि फ़ाइलें देखने के लिए, आधिकारिक Firebase एक्सटेंशन.

README बनाना

आपकी एक्सटेंशन डायरेक्ट्री में वैकल्पिक रूप से एक README हो सकता है. ध्यान दें कि firebase ext:dev:init निर्देश आपके लिए अपने-आप जनरेट नहीं होता.

हालांकि, Firebase सीएलआई, नीचे दिए गए सुविधा कमांड के साथ काम करता है, ताकि आपकेREADME extension.yaml फ़ाइल और आपकी PREINSTALL.md फ़ाइल:

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

इसके लिए सभी README फ़ाइलें आधिकारिक Firebase एक्सटेंशन इस निर्देश का इस्तेमाल करके जनरेट किए जाते हैं.

इंस्टॉल करने की जानकारी जोड़ें

README लिखने या जनरेट करने के बाद, उसमें इंस्टॉलेशन की जानकारी जोड़ें. आपने लोगों तक पहुंचाया मुफ़्त में इस स्निपेट का इस्तेमाल टेंप्लेट के तौर पर कर सकता है:

---

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

---

PREINSTALL फ़ाइल लिखी जा रही है

PREINSTALL फ़ाइल आपके एक्सटेंशन की खास जानकारी है, जो "मार्केटिंग" का एक टाइप है करें.

इस फ़ाइल में क्या कॉन्टेंट है?

  • आपके एक्सटेंशन के फ़ंक्शन के बारे में पूरी जानकारी
  • ज़रूरी शर्तों की सूची, जैसे कि डेटाबेस सेटअप करना या Google से बाहर के किसी प्लैटफ़ॉर्म का ऐक्सेस सेवा (उदाहरण)
  • इंस्टॉल करने से पहले के टास्क और उनके निर्देशों के बारे में कम शब्दों में जानकारी
  • इंस्टॉल करने के बाद के किसी टास्क के बारे में कम शब्दों में जानकारी (उदाहरण) (ज़्यादा जानकारी वाले निर्देश POSTINSTALL में दिए गए हैं)
  • किसी भी बिलिंग प्रभाव का संक्षिप्त विवरण ( बॉयलरप्लेट टेक्स्ट)

लोगों को यह कॉन्टेंट कहां दिखता है?

Firebase कंसोल में, पहले से इंस्टॉल किए गए कॉन्टेंट की इमेज
Firebase कंसोल में कॉन्टेंट को पहले से इंस्टॉल करें

Firebase कंसोल में, पहले से इंस्टॉल किए गए कॉन्टेंट की बड़ी इमेज

  • extensions.dev पर एक्सटेंशन के पेज पर.
  • आपके एक्सटेंशन के लिए आपका सोर्स कोड डेटा स्टोर करने की जगह (एक्सटेंशन डायरेक्ट्री में)
  • एक्सटेंशन के README के हिस्से के तौर पर (अगर Firebase सीएलआई का इस्तेमाल किया जाता है) --markdown > README.md फ़्लैग)

PREINSTALL फ़ाइलें, एक्सटेंशन के पैरामीटर मान को ऐक्सेस नहीं कर सकतीं, इसलिए आप पैरामीटर के रेफ़रंस को असल वैल्यू के साथ रेंडर होने की उम्मीद नहीं करनी चाहिए.

इसके लिए, सबसे सही कुछ तरीके क्या हैं?

  • PREINSTALL फ़ाइल का पूरा कॉन्टेंट एक पेज में रखें, अगर हो सके
  • असली उपयोगकर्ता के लिए ज़रूरी जानकारी उपलब्ध कराएं एक्सटेंशन इंस्टॉल करने से पहले
  • POSTINSTALL फ़ाइल या अन्य पूरक फ़ाइलें
  • संक्षेप में बताएं कि क्या आपके संगठन में एक्सटेंशन

POSTINSTALL फ़ाइल लिखी जा रही है

POSTINSTALL फ़ाइल, आपके एक्सटेंशन के इंस्टॉल होने के बाद की पूरी जानकारी है निर्देश देने वाला पेज.

इस फ़ाइल में क्या कॉन्टेंट है?

  • इंस्टॉल करने के बाद, किसी भी ज़रूरी टास्क के बारे में निर्देश, जैसे, Firebase के सुरक्षा नियम सेट अप करना या क्लाइंट-साइड कोड जोड़ना (उदाहरण)
  • इस टूल को तुरंत आज़माने के सामान्य निर्देश इंस्टॉल किया गया एक्सटेंशन (उदाहरण के लिए, "कंसोल पर जाएं, फिर ऐसा करें")
  • एक्सटेंशन को ट्रिगर करने के तरीके के बारे में बुनियादी जानकारी, खास तौर पर एचटीटीपी अनुरोध से ट्रिगर होने वाले एक्सटेंशन
  • इंस्टॉल किए गए एक्सटेंशन की निगरानी करने के तरीके के बारे में संक्षिप्त निर्देश ( बॉयलरप्लेट टेक्स्ट)

लोगों को यह कॉन्टेंट कहां दिखता है?

Firebase कंसोल में, पोस्ट-इंस्टॉल कॉन्टेंट की इमेज
Firebase कंसोल में पोस्ट-इंस्टॉल कॉन्टेंट

Firebase कंसोल में, पोस्ट-इंस्टॉल कॉन्टेंट की बड़ी इमेज

  • जब कोई उपयोगकर्ता आपका एक्सटेंशन इंस्टॉल करता है, तो Firebase कंसोल में ( इंस्टॉल किए गए एक्सटेंशन का ज़्यादा जानकारी वाला कार्ड)

  • आपके एक्सटेंशन के लिए आपका सोर्स कोड डेटा स्टोर करने की जगह (एक्सटेंशन डायरेक्ट्री में)

POSTINSTALL फ़ाइलें पैरामीटर वैल्यू और कई फ़ंक्शन से जुड़ी जानकारी को ऐक्सेस कर सकती हैं वैरिएबल के लिए अलग-अलग वैरिएबल का इस्तेमाल करें. जब POSTINSTALL कॉन्टेंट इसमें दिखता है Firebase कंसोल पर, पैरामीटर के बजाय असल मान दिखते हैं या वैरिएबल के रेफ़रंस. नीचे पैरामीटर और वैरिएबल की अलग-अलग वैल्यू डालें.POSTINSTALL

इसके लिए, सबसे सही कुछ तरीके क्या हैं?

  • POSTINSTALL फ़ाइल का पूरा कॉन्टेंट कम से कम शब्दों में, लेकिन जानकारी देने वाला रखें.
  • अलग-अलग टास्क को अलग करने के लिए हेडिंग का इस्तेमाल करके कॉन्टेंट को सेक्शन में बांटें या कॉन्सेप्ट नहीं जोड़े जा सकते.
  • किसी खास विषय के बारे में ज़्यादा जानकारी वाले निर्देश पब्लिश करें वर्कफ़्लो या टास्क (उदाहरण) या एक्सटेंशन रिपॉज़िटरी (डेटा स्टोर की जगह) में मौजूद सप्लीमेंटरी मार्कडाउन फ़ाइलों में (उदाहरण).
  • रेफ़रंस पैरामीटर और फ़ंक्शन से जुड़े पैरामीटर वैरिएबल ताकि उपयोगकर्ता, कॉन्फ़िगर की गई वैल्यू को निर्देशों के हिसाब से देख सके

रेफ़रिंग पैरामीटर और वैरिएबल

इंस्टॉलेशन के बाद, Firebase कंसोल एक्सटेंशन की POSTINSTALL फ़ाइल. अगर आपने पैरामीटर और फ़ंक्शन से जुड़े रेफ़रंस का रेफ़रंस दिया है, तो वैरिएबल (नीचे दी गई टेबल देखें) को अपनी POSTINSTALL फ़ाइल में और फिर कंसोल में इन रेफ़रंस को, इंस्टॉल किए गए इंस्टेंस के लिए, असल वैल्यू से भरता है.

POSTINSTALL फ़ाइल में कॉन्फ़िगर किए गए पैरामीटर की वैल्यू ऐक्सेस करने के लिए, इनका इस्तेमाल करें: निम्न सिंटैक्स: ${param:PARAMETER_NAME}

आप अपने कॉलम में, नीचे दिए गए फ़ंक्शन से जुड़े वैरिएबल का भी रेफ़रंस दे सकते हैं सिर्फ़ POSTINSTALL फ़ाइल. Firebase इन वैरिएबल का इस्तेमाल करता है, ताकि आप उन्हें इंस्टॉल करने के बाद, अपने उपयोगकर्ताओं को दिशा-निर्देश देने में मदद मिलती है. ये सिर्फ़ POSTINSTALL फ़ाइल में उपयोग के लिए उपलब्ध है, क्योंकि इन वैरिएबल के मान इंस्टॉल किए जाने तक उपलब्ध नहीं होते हैं.

इस टेबल में, function-name name फ़ील्ड में फ़ंक्शन के संसाधन ऑब्जेक्ट को extension.yaml में रखें.

फ़ंक्शन से जुड़े वैरिएबल के लिए रेफ़रंस जानकारी वैरिएबल वैल्यू (एक्सटेंशन इंस्टॉल होने के बाद Firebase से अपने-आप जानकारी भर जाती है)
${function:function-name.location}
जगह की जानकारी जहां फ़ंक्शन डिप्लॉय किया जाता है वैल्यू का उदाहरण:
us-central1
${function:function-name.name}
फ़ाइनल डिप्लॉय किया गया फ़ंक्शन का नाम, जिसमें एक्सटेंशन का इंस्टेंस आईडी

सामान्य फ़ॉर्मैट:
ext-extension-instance-id-function-name

वैल्यू का उदाहरण:
ext-my-awesome-extension-6m31-yourFunctionName

${function:function-name.url} (सिर्फ़ एचटीटीपी फ़ंक्शन के लिए लागू)
फ़ाइनल डिप्लॉय किए गए फ़ंक्शन का यूआरएल, जिसका क्लाइंट कोड यह कर सकता है एचटीटीपी अनुरोध करें

सामान्य फ़ॉर्मैट:
https://deployment-location-project-id.cloudfunctions.net/name-of-final-deployed-function

वैल्यू का उदाहरण:
https://us-central1-project-123.cloudfunctions.net/ext-my-awesome-extension-6m31-yourFunctionName

एक्सटेंशन को ट्रिगर करने के तरीके की जानकारी देना

आपके एक्सटेंशन के उपयोगकर्ता दस्तावेज़ में, आपको अपने उपयोगकर्ताओं को इसके बारे में निर्देश देना होगा अपने एक्सटेंशन को कैसे ट्रिगर करें. इन निर्देशों में ज़्यादा से ज़्यादा जानकारी दी जा सकती है बहुत ज़रूरी है, लेकिन किसी ब्लॉग को लिखने के सबसे सही तरीक़े POSTINSTALL फ़ाइल. ये निर्देश देने का तरीका जानने के लिए, नीचे दिए गए सेक्शन को बड़ा करें आपके एक्सटेंशन पर लागू होती है.

CHANGELOG फ़ाइल लिखना

इस फ़ाइल में क्या कॉन्टेंट है?

हर एक्सटेंशन में एक CHANGELOG.md फ़ाइल होनी चाहिए, जो बदलावों का दस्तावेज़ देती हो शामिल की जाती है. हर वर्शन को डालें स्तर 2 हेडर (##) के अंतर्गत; अगर ऐसा नहीं करना है, तो किसी भी Markdown फ़ाइल का इस्तेमाल किया जा सकता है पसंदीदा फ़ॉर्मैट में बदलें.

नीचे दिया गया उदाहरण किसी एक आधिकारिक एक्सटेंशन का हिस्सा है:

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

लोगों को यह कॉन्टेंट कहां दिखता है?

  • Firebase कंसोल और सीएलआई में, जब उपयोगकर्ता आपकी एक्सटेंशन चुनें. Firebase कंसोल और सीएलआई सिर्फ़ उन बदलावों को दिखाते हैं जो अगर उपयोगकर्ता अपग्रेड पूरा करेगा, तो यह लागू होगा.
  • आपके एक्सटेंशन के सोर्स कोड का डेटा स्टोर करने की जगह (एक्सटेंशन डायरेक्ट्री में).