تشرح هذه الصفحة كيف يمكنك نشر ملحق على Extensions Hub.
قبل ان تبدأ
لنشر ملحق، يجب عليك أولاً التسجيل كناشر للامتدادات .
مصادر يمكن التحقق منها
يجب أن يكون لجميع الملحقات المنشورة على Extensions Hub مصدر يمكن التحقق منه بشكل عام. بدلاً من تحميل كود مصدر الامتداد مباشرة إلى Extensions Hub، يمكنك بدلاً من ذلك تحديد موقع المصدر وسيقوم Extension Hub بتنزيله وإنشائه من هناك.
ويعني هذا حاليًا إتاحة كود مصدر الامتداد الخاص بك في مستودع GitHub العام.
التحميل من مصدر يمكن التحقق منه له فوائد عديدة:
- يمكن للمستخدمين فحص الكود المصدري للمراجعة المحددة للامتداد الذي سيتم تثبيته.
- يمكنك التأكد من تحميل ما تنوي تحميله فقط، وليس، على سبيل المثال، العمل قيد التقدم أو الملفات الضالة المتبقية من التطوير.
دورة التطوير الموصى بها
تدعم أدوات تطوير ملحقات Firebase تحميل إصدارات ما قبل النشر لملحقاتك، مما يسهل عليك اختبار ملحقاتك وعملية تثبيت الملحقات في نفس البيئة التي سيتم إصدارها فيها في النهاية.
تتيح هذه الإمكانية دورة تطوير مثل ما يلي:
قم بتطوير امتدادك وتكراره بسرعة باستخدام Firebase Emulator Suite .
اختبر امتدادك في مشروع حقيقي عن طريق تثبيته من مصدر محلي:
firebase ext:install /path/to/extension
firebase deploy --only extensions
قم بتحميل نسخة تجريبية إلى Extensions Hub (انظر أدناه). قم بتوزيع رابط التثبيت للاختبار على نطاق أوسع، ثم كرره عن طريق تحميل المزيد من إصدارات ما قبل النشر حسب الضرورة.
قم بتحميل الإصدار النهائي والمستقر إلى Extensions Hub (انظر أدناه) وأرسله للمراجعة. إذا اجتاز الملحق المراجعة، فسيتم نشره على Extension Hub.
قم بزيادة رقم الإصدار في
extension.yaml
وكرر هذه الدورة للإصدار التالي من الامتداد الخاص بك.
تحميل ملحق جديد
لتحميل ملحق للمرة الأولى:
اختياري : أرسل التعليمات البرمجية الخاصة بك إلى مستودع GitHub العام.
قم بتشغيل الأمر
ext:dev:upload
الخاص بـ Firebase CLI:جيثب
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
لنشر الإصدارات العامة على Extensions Hub. سيؤدي تحميل إصدار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 CLI:جيثب
firebase ext:dev:upload your_publisher_id/your_extension_id
هذه المرة لن تتم مطالبتك بتحديد مستودع GitHub أو الدليل الجذر للامتداد نظرًا لأنه تم تكوينهما بالفعل لامتدادك. إذا قمت منذ ذلك الحين بإعادة هيكلة بنية المستودع الخاص بك أو قمت بالترحيل إلى مستودع جديد، فيمكنك تغييرها باستخدام وسيطات الأمر
--root
و--repo
.مصدر محلي
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
إرسال امتداد للنشر
عندما تكون مستعدًا لإصدار الإضافة علنًا:
أرسل التعليمات البرمجية الخاصة بك إلى مستودع Git العام. (مطلوب للإصدارات العامة.)
قم بتشغيل الأمر
ext:dev:upload
الخاص بـ Firebase CLI، مع تحديدstable
كمرحلة الإصدار:firebase ext:dev:upload your_publisher_id/your_extension_id
إذا كنت قد نشرت سابقًا إصدارًا من إضافتك، فإن تحميل إصدار ثابت جديد سيؤدي تلقائيًا إلى إرسال الإضافة للمراجعة.
إذا قمت بتحميل أول إصدار ثابت للملحق، فابحث عن الامتداد في لوحة تحكم الناشر ، ثم انقر فوق نشر إلى Extensions Hub .
بمجرد إرسالها، يمكن أن تستغرق المراجعة بضعة أيام. إذا تم قبول الامتداد، فسيتم نشره على Extensions Hub. في حالة الرفض، ستصلك رسالة توضح السبب؛ يمكنك بعد ذلك معالجة المشكلات التي تم الإبلاغ عنها وإعادة إرسالها للمراجعة.
لتسريع عملية المراجعة وزيادة فرص نجاحك في المحاولة الأولى، قبل الإرسال، تحقق مرة أخرى مما يلي:
- لقد قمت باختبار الامتداد الخاص بك وعملية التثبيت بدقة.
- وثائقك كاملة وصحيحة، ويتم عرضها بشكل جيد في وحدة تحكم 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.*
لا يتم إدراج الإصدارات المهملة من الامتداد في Extensions Hub ولا يمكن تثبيتها. سيرى المستخدمون الذين تم تثبيت إصدار مهمل لمشاريعهم رسالة تشجعهم على الترقية؛ لا يزال بإمكانهم استخدام الامتداد وإعادة تكوينه في هذه الأثناء.
إذا تم إهمال كل إصدار من الامتداد، فسيتم اعتبار الامتداد مهملاً وسيتم حذفه من Extensions Hub. سيؤدي تحميل إصدار جديد من الإضافة الموقوفة إلى بدء المراجعة تلقائيًا، وعند القبول، سيتم نشرها على Extensions Hub مرة أخرى.
لعكس الإيقاف، استخدم لوحة تحكم الناشر، أو قم بتشغيل الأمر ext:dev:undeprecate
الخاص بـ Firebase CLI:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
الملحق: استكشاف أخطاء البناء وإصلاحها
عندما تقوم بتحميل ملحقك، تقوم الواجهة الخلفية أولاً بإنشاء كود المصدر الخاص بك باستخدام العملية التالية:
استنساخ مستودع GitHub الخاص بك والتحقق من مرجع المصدر المحدد.
تثبيت تبعيات NPM عن طريق تشغيل
npm clean-install
في كل دليل مصدر وظيفة محدد فيextension.yaml
(راجعsourceDirectory
في Cloud Function Resources ).لاحظ ما يلي:
يجب أن يحتوي كل ملف
package.json
على ملفpackage-lock.json
مطابق. لمزيد من المعلومات، راجع npm-ci .لن يتم تشغيل البرامج النصية بعد التثبيت أثناء تثبيت التبعية. إذا كان بناء التعليمات البرمجية المصدر الخاص بك يعتمد على البرامج النصية لمرحلة ما بعد التثبيت، فقم بإعادة هيكلتها قبل التحميل.
ينشئ التعليمات البرمجية الخاصة بك عن طريق تشغيل
npm run build
في كل دليل مصدر دالة محدد فيextension.yaml
.
سيتم حفظ الدليل الجذر لامتدادك فقط في حزمة الامتداد النهائية التي ستتم مشاركتها.
إذا حصلت على أخطاء في البناء أثناء تحميل ملحقك، فقم بتكرار خطوات البناء المذكورة أعلاه محليًا في دليل جديد حتى لا توجد أخطاء، ثم حاول التحميل مرة أخرى.