قم بإنشاء وثائق المستخدم لامتدادك

يجب أن يحتوي كل ملحق على وثائق تعلم المستخدمين ما يفعله الملحق وكيفية استخدامه.

الحد الأدنى المطلوب من الوثائق هو هذه المجموعة المكونة من ثلاثة ملفات تخفيض السعر:

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

بالإضافة إلى ذلك، يجب عليك أيضًا التفكير في إنتاج:

  • ملف README للمستودع العام للامتداد.
  • تم نشر البرامج التعليمية والأدلة والمراجع الأطول على موقع الويب الخاص بك وربطها في PREINSTALL.md الخاص بك.

للتعرف على بعض أفضل الممارسات والصياغة والبنية الشائعة، نوصي بمراجعة الملفات المتوفرة مع ملحقات Firebase الرسمية .

إنشاء الملف التمهيدي

يمكن أن يحتوي دليل الامتداد الخاص بك اختياريًا على ملف README. لاحظ أن أمر firebase ext:dev:init لا يقوم تلقائيًا بإنشاء أمر لك.

ومع ذلك، يدعم Firebase CLI الأمر الملائم التالي لإنشاء ملف 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

  • في صفحة الامتداد على الامتدادات.dev .
  • مستودع التعليمات البرمجية المصدر الخاص بك لامتدادك (داخل دليل الامتداد)
  • كجزء من ملف README الخاص بالامتداد (إذا كنت تستخدم Firebase CLI --markdown > README.md )

لا يمكن لملفات PREINSTALL الوصول إلى قيم المعلمات الخاصة بالامتداد، لذلك لا تتوقع أن يتم عرض مراجع المعلمات بقيم فعلية.

ما هي بعض أفضل الممارسات؟

  • احتفظ بالمحتوى الكامل لملف PREINSTALL في صفحة واحدة ، إن أمكن
  • قم بتوفير مستوى التفاصيل التي يحتاج المستخدم النهائي إلى معرفتها قبل تثبيت الامتداد
  • ضع تعليمات مفصلة في ملف POSTINSTALL أو الملفات التكميلية الأخرى
  • أذكر بإيجاز ما إذا كنت تقدم أدوات أو نصوص برمجية أخرى لدعم الامتداد

كتابة ملف POSTINSTALL

ملف POSTINSTALL هو صفحة التعليمات التفصيلية لما بعد التثبيت الخاصة بامتدادك.

ما المحتوى الموجود في هذا الملف؟

  • تعليمات تفصيلية لأية مهام مطلوبة بعد التثبيت، مثل إعداد قواعد أمان Firebase أو إضافة تعليمات برمجية من جانب العميل ( مثال )
  • إرشادات عامة حول كيفية تجربة الإضافة المثبتة على الفور (على سبيل المثال، "انتقل إلى وحدة التحكم، ثم قم بذلك")
  • معلومات أساسية حول كيفية تشغيل الامتداد، خاصة بالنسبة للامتدادات التي يتم تشغيلها بواسطة طلب HTTP
  • توجيهات موجزة حول كيفية مراقبة الامتداد المثبت (ابدأ بالنص المعياري )

أين يظهر هذا المحتوى للمستخدم؟

صورة لمحتوى ما بعد التثبيت في وحدة تحكم 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} (ينطبق فقط على وظائف HTTP)
عنوان URL للوظيفة النهائية المنشورة ، والتي يمكن لرمز العميل تقديم طلبات HTTP إليها

الصيغة المعممة:
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.md الذي يوثق التغييرات المضمنة في كل إصدار جديد من ملحقك الذي تنشره. ضع كل إصدار تحت رأس المستوى الثاني ( ## ); بخلاف ذلك، يمكنك استخدام تنسيق 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 وCLI، عندما يقوم المستخدمون بالترقية إلى إصدارات جديدة من ملحقك. تعرض وحدة تحكم Firebase وCLI فقط التغييرات التي قد تدخل حيز التنفيذ إذا أكمل المستخدم الترقية.
  • مستودع الكود المصدري لامتدادك (داخل دليل الامتداد).