توضّح هذه الصفحة كيفية نشر إضافة في "مركز الإضافات".
قبل البدء
لنشر إضافة، عليك أولاً التسجيل كناشر للإضافات.
المصادر القابلة للتحقق
يجب أن تحتوي جميع الإضافات المنشورة على "مركز الإضافات" على عنصر يمكن التحقّق منه بشكل علني. المصدر. بدلاً من تحميل رمز مصدر الإضافة مباشرةً إلى الإضافات الصفحة الرئيسية، يمكنك بدلاً من ذلك تحديد الموقع الجغرافي المصدر وسيقوم "مركز الإضافات" بتنزيله. وبناءها من هناك.
ويعني هذا في الوقت الحالي إتاحة رمز المصدر لإضافتك على نطاق علني مستودع جيت هب.
هناك فوائد عديدة للتحميل من مصدر يمكن التحقق منه:
- يمكن للمستخدمين فحص رمز المصدر للنسخة المحددة من الإضافة. التي سيتم تثبيتها.
- يمكنك التأكد من أنّك لا تحمّل سوى ما تريد تحميله، على سبيل المثال، العمل قيد التقدم أو الملفات التالفة المتبقية من التطوير.
دورة التطوير المقترَحة
تتيح أدوات تطوير إضافات Firebase تحميل إصدارات تجريبية الإضافات، مما يسهّل عليك اختبار الإضافات عملية تثبيت الإضافات في البيئة نفسها التي سيتم وإصداره في النهاية.
وتجعل هذه الإمكانية دورة تطوير مثل ما يلي:
يمكنك تطوير الإضافة وتكرارها سريعًا باستخدام حزمة محاكي Firebase
اختبار الإضافة في مشروع حقيقي من خلال تثبيتها من مصدر محلي:
firebase ext:install /path/to/extension
firebase deploy --only extensions
تحميل إصدار تجريبي إلى "مركز الإضافات" (انظر أدناه) توزيع رابط تثبيت لإجراء اختبار أوسع، وتكراره بتحميل المزيد الإصدارات التجريبية حسب الضرورة.
تحميل الإصدار النهائي الثابت والثابت إلى "مركز الإضافات" (انظر أدناه) وإرساله للمراجعة. في حال اجتازت الإضافة المراجعة، سيتم نشرها في مركز الإضافات.
عليك زيادة رقم الإصدار في
extension.yaml
وتكرار هذه الدورة للإصدار التالي من الإضافة.
تحميل إضافة جديدة
لتحميل إضافة للمرة الأولى:
اختياري: عليك ربط الرمز البرمجي بمستودع GitHub عام.
شغِّل الأمر
ext:dev:upload
في واجهة سطر الأوامر في Firebase:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
مصدر محلي
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
في استدعاء الأمر، يمكنك تحديد ما يلي:
الرقم التعريفي للناشر الذي سجّلته.
سلسلة رقم التعريف التي ستحدِّد الإضافة إدخال أسماء للإضافات باستخدام بالتنسيق التالي:
firebase-product-description-of-tasks-performed
مثلاً:firestore-bigquery-export
سيطلب منك الأمر إدخال معلومات إضافية:
في حال التحميل من GitHub:
عنوان URL لمستودع الإضافة في GitHub. لاحظ أن يمكن أن يحتوي المستودع على إضافات متعددة ما دام كل إضافة تحتوي على جذور فريدة.
عند تحميل إضافة جديدة للمرة الأولى، سيبدأ المستودع تسجيله كمصدر أساسي لإضافتك.
الدليل في المستودع الذي يحتوي على إضافتك.
مرجع Git الخاص بالالتزام الذي تريده لإنشاء إصدار الإضافة المصدر منه. يمكن أن يكون علامة تجزئة أو اسم فرع أو اسم فرع.
مرحلة إصدار الإصدار الذي تقوم بتحميله.
المراحل
alpha
وbeta
وrc
(المرشحون للإصدار) جاهزة للتحميل. إصدار تجريبي للمختبرين لتثبيتها. استخدم إحدى هذه المراحل التحميل الأولي لإضافة جديدة.تُستخدَم المرحلة
stable
لنشر الإصدارات العلنية على مركز الإضافات سيؤدي تحميل إصدارstable
تلقائيًا إلى بدء المراجعة، وفي حال اجتازت المراجعة، سيتم نشر الإضافة.
لاحظ أنك لا تحدد رقم الإصدار - تأتي هذه القيمة من ملف
extension.yaml
. عند تحميل إصدار تجريبي للإضافة، يجب يتم إلحاق رقم المرحلة ورقم التحميل بالإصدار. على سبيل المثال، إذا يحددextension.yaml
الإصدار 1.0.1 ويمكنك تحميل إصدار مرشح، سينتج عن ذلك الإصدار1.0.1-rc.0
؛ تحميل إصدار آخر المرشح نفسه للإصدار نفسه إلى زيادة العدد تلقائيًا، التي ينتج عنها1.0.1-rc.1
، وهكذا.
الآن وبعد تحميل إصدار تجريبي من الإضافة، يمكنك مشاركة مع الآخرين للاختبار. يمكن للمستخدمين تثبيت الإضافة في أيّ من الخيارين الطرق:
باستخدام وحدة التحكّم: يمكن للمستخدمين تثبيت الإضافة من خلال النقر على رابط. بالتنسيق التالي:
https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version
يمكنك مشاركة الرابط المباشر مع المختبِرين.
باستخدام واجهة سطر الأوامر: يمكن للمستخدمين تثبيت الإضافة من خلال تمريرها. سلسلة رقم التعريف للأمر
ext:install
:firebase ext:install your_publisher_id/your_extension_id@version \ --project=destination_project_id
تحميل نسخة محدثة
بعد تحميل الإصدار الأول من الإضافة، يمكنك تحميل التحديثات. لحل المشكلات أو إضافة ميزات أو التقدم في مرحلة الإصدار. عند تحميل نسخة جديدة، لا يمكن للمستخدمين الذين لديهم إصدار قديم سيُطلب منك في وحدة تحكُّم Firebase ترقية الإضافة المثبَّتة.
لتحميل تعديل، يُرجى اتّباع الخطوات التالية:
اختياري: عليك ربط الرمز البرمجي في مستودع Git متاح للجميع.
شغِّل الأمر
ext:dev:upload
في واجهة سطر الأوامر في Firebase:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
هذه المرة، لن يُطلب منك تحديد مستودع جيت هب أو الدليل الجذري للإضافة بما أنه قد تم إعداده بالفعل الإضافة. فإذا كنت قد أعدت هيكلة مستودعك أو إلى مستودع جديد، فيمكنك تغييرها عن طريق الأمر الوسيطات
--root
و--repo
.مصدر محلي
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
إرسال إضافة للنشر
عندما تكون مستعدًا لإصدار إضافتك بشكل علني:
ربط الرمز البرمجي بمستودع Git متاح للجميع (مطلوب للإصدارات المُتاحة للجميع).
شغِّل الأمر
ext:dev:upload
في واجهة سطر الأوامر في Firebase، مع تحديدstable
على أنّه مرحلة الإصدار:firebase ext:dev:upload your_publisher_id/your_extension_id
إذا سبق لك نشر إصدار من الإضافة، يمكنك تحميل نسخة إصدار ثابت سيتم إرسال الإضافة تلقائيًا للمراجعة.
إذا حمّلت أول إصدار ثابت للإضافة، ابحث عن الإضافة في لوحة بيانات الناشر وانقر على نشر في "مركز الإضافات".
بعد إرسال النموذج، قد تستغرق المراجعة بضعة أيام. في حال قبول الإضافة، ستكون تم نشره في "مركز الإضافات" في حال الرفض، ستتلقى رسالة توضح السبب؛ يمكنك بعد ذلك معالجة المشاكل التي تم الإبلاغ عنها وإعادة إرسالها للمراجعة.
لتسريع عملية المراجعة وزيادة فرصك في اجتياز المحاولة الأولى، قبل الإرسال، تحقق جيدًا مما يلي:
- لقد اختبرت الإضافة وعملية التثبيت بدقة.
- مستنداتك كاملة وصحيحة ويتم عرضها بشكل جيد في Firebase. وحدة التحكم.
- يحدد اسم الناشر وعلامتك التجارية بوضوح ودقة أنك الناشر.
- يجب أن يشير اسم الإضافة ووصفها ورمزها بوضوح ودقة الغرض من الإضافة.
- لقد طبَّقت علامات مفيدة ودقيقة.
- لقد أوضحت في
extension.yaml
جميع واجهات برمجة التطبيقات التي تستخدمها من Google وغير التابعة لـ Google، وجميع أنواع الأحداث التي تنبعث منها إضافتك. - أنت تطلب الوصول إلى الأدوار اللازمة للإضافة وقد أوضحت للمستخدمين بوضوح سبب احتياجك إلى هذا الوصول.
- تم ترخيص ملفات المصدر بوضوح بموجب بنود
Apache-2.0
.
إدارة الإضافات المحمَّلة والمنشورة
إدراج الإضافات التي تم تحميلها
لسرد الإضافات التي حمَّلتها ضمن الرقم التعريفي للناشر، نفِّذ أحد التالي:
لوحة بيانات الناشر
ويمكنك الاطّلاع عليها في لوحة بيانات الناشر.
Firebase CLI
شغِّل الأمر ext:dev:list
:
firebase ext:dev:list your_publisher_id
عرض استخدام الإضافات التي تم تحميلها
لعرض استخدام الإضافات التي حمّلتها ضمن الرقم التعريفي للناشر، اتّبِع الخطوات التالية: واحد مما يلي:
لوحة بيانات الناشر
تحتوي لوحة بيانات الناشر على مقاييس استخدام تراكمية لجميع الإضافات والمقاييس الفردية لكل إضافة.
Firebase CLI
شغِّل الأمر ext:dev:usage
:
firebase ext:dev:usage your_publisher_id
إيقاف إصدار إضافة نهائيًا
قد تحتاج في مرحلة ما إلى إيقاف العمل بإصدار قديم من إضافتك. بالنسبة إذا طرحت إصدارًا جديدًا يعمل على إصلاح خطأ فادح أو يعمل على تحديث والتبعية مع تحديث أمان مهم، فمن المهم منع حدوث المستخدمين من تثبيت إصدار قديم وتشجيع المستخدمين الحاليين على الترقية.
لإيقاف إصدار إضافة نهائيًا، يمكنك تنفيذ أحد الإجراءات التالية:
لوحة بيانات الناشر
- في لوحة بيانات الناشر، انقر على الإضافة لفتحها عرض التفاصيل.
- اختَر الإصدار الذي تريد إيقافه.
- انقر على إيقاف الإصدار نهائيًا.
Firebase CLI
شغِّل الأمر ext:dev:deprecate
:
firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
[--message "deprecation_message"]
يمكنك تحديد إصدار واحد أو نطاق من الإصدارات. أمثلة:
1.0.2
1.1.0-1.1.7
<1.2.0
1.1.*
لا يتم إدراج الإصدارات المتوقّفة نهائيًا من الإضافة في "مركز الإضافات" ولا يمكن التثبيت. سيظهر للمستخدمين الذين تم تثبيت إصدار متوقف نهائيًا لمشاريعهم رسالة تشجعهم على الترقية؛ فلا يزال بإمكانه استخدام الإضافة في غضون ذلك.
إذا تم إيقاف كل إصدار من الإضافات، سيتم أخذها في الاعتبار نهائيًا وستتم إزالتها من "مركز الإضافات". تحميل نسخة جديدة لأي إضافة متوقّفة نهائيًا، سيتم تلقائيًا بدء مراجعة القبول، انشره على "مركز الإضافات" مرة أخرى.
لإلغاء عملية الإيقاف النهائي، استخدِم لوحة بيانات الناشر أو شغِّل واجهة سطر الأوامر في Firebase
الأمر ext:dev:undeprecate
:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
الملحق: تحديد مشاكل الإصدار وحلّها
عند تحميل الإضافة، تنشئ الخلفية أولاً رمز المصدر باستخدام العملية التالية:
يستنسخ مستودع جيت هب ويتحقق من مرجع المصدر المحدد.
تثبيت تبعيات NPM من خلال تشغيل
npm clean-install
في كل دالة دليل المصدر المحدد فيextension.yaml
(انظرsourceDirectory
في موارد Cloud Function).لاحظ ما يلي:
يجب أن يحتوي كل ملف
package.json
علىpackage-lock.json
مقابل الملف. لمزيد من المعلومات، يُرجى الاطّلاع على npm-ci.لن يتم تشغيل النصوص البرمجية لما بعد التثبيت أثناء تثبيت التبعية. إذا كان إصدار رمز المصدر يعتمد على النصوص البرمجية بعد التثبيت، يجب إعادة هيكلته قبل التحميل.
تُنشئ التعليمات البرمجية عن طريق تشغيل
npm run build
في كل مصدر للدوال الدليل المحدد فيextension.yaml
.
سيتم حفظ الدليل الجذري فقط للإضافة في الإضافة النهائية. الحزمة التي ستتم مشاركتها.
إذا ظهرت لك أخطاء في الإصدار أثناء تحميل الإضافة، عليك تكرار الإصدار. الخطوات أعلاه محليًا في دليل جديد حتى لا تكون هناك أخطاء، ثم جرب التحميل مرة أخرى.