قم بتحميل حزم Firebase SDK من عناوين URL المحجوزة

تحتفظ استضافة Firebase بعناوين URL في موقعك تبدأ بـ /__ . تعمل مساحة الاسم المحجوزة هذه على تسهيل استخدام منتجات Firebase الأخرى مع استضافة Firebase.

تتوفر عناوين URL المحجوزة هذه عند النشر إلى Firebase ( firebase deploy ) أو عند تشغيل تطبيقك على firebase serve server).

إضافة البرامج النصية لعناوين URL المحجوزة

نظرًا لأنه يتم تقديم استضافة Firebase عبر HTTP/2 عند النشر، يمكنك تعزيز الأداء عن طريق تحميل الملفات من نفس المصدر. تقدم Firebase Hosting الإصدار 8 من Firebase JavaScript SDK من عناوين URL الخاصة المنسقة على النحو التالي:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

نوصي بشدة بتحميل المكتبات التي تستخدمها في تطبيقك فقط. على سبيل المثال، لتضمين المصادقة وCloud Firestore فقط، قم بإضافة البرامج النصية التالية إلى أسفل علامة <body> ، ولكن قبل استخدام أي من خدمات Firebase:

<body>
  <!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
  <!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
  <script src="/__/firebase/8.10.1/firebase-app.js"></script>

  <!-- Add Firebase products that you want to use -->
  <script src="/__/firebase/8.10.1/firebase-auth.js"></script>
  <script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
</body>

التكوين التلقائي لـ SDK

يُسهل تكوين SDK التلقائي إدارة بيئات متعددة (مثل التطوير والتدريج والإنتاج) من قاعدة تعليمات برمجية واحدة. من خلال الاعتماد على عنوان URL المحجوز للاستضافة، يمكنك نشر نفس الكود في مشاريع Firebase متعددة.

بالإضافة إلى استضافة حزم SDK نفسها، توفر مساحة الاسم المحجوزة أيضًا كل التكوينات اللازمة لتهيئة SDK لمشروع Firebase المرتبط بموقع الاستضافة. يتم توفير تكوين Firebase وتهيئة SDK من خلال برنامج نصي يمكنك تضمينه مباشرة:

<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>

عند النشر إلى Firebase أو اختبار تطبيقك محليًا، يقوم هذا البرنامج النصي تلقائيًا بتكوين Firebase JavaScript SDK لمشروع Firebase النشط ويقوم بتهيئة SDK.

إذا كنت تفضل التحكم في التهيئة بنفسك، فإن قيم تكوين Firebase متاحة أيضًا في نموذج JSON:

fetch('/__/firebase/init.json').then(async response => {
  firebase.initializeApp(await response.json());
});

مجموعات SDK المتوفرة لـ Firebase JS (من عناوين URL للاستضافة المحجوزة)

منتج فايربيس مرجع المكتبة (عنوان URL محجوز)
جوهر Firebase
(مطلوب)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
التحليلات
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
فحص التطبيق
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
المصادقة
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
سحابة فايرستور
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
وظائف السحابة لـ Firebase Client SDK
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
منشآت Firebase
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
المراسلة السحابية
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

للحصول على تجربة مثالية باستخدام Cloud Messaging، أضف أيضًا Firebase SDK for Analytics.

سحابة التخزين
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
مراقبة الاداء
(إصدار بيتا )
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
قاعدة بيانات الوقت الحقيقي
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
التكوين عن بعد
(إصدار بيتا )
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

للحصول على تجربة مثالية باستخدام Remote Config، أضف أيضًا Firebase SDK for Analytics.

Firebase جافا سكريبت SDK
(SDK بالكامل)
<script src="/__/firebase/8.10.1/firebase.js"></script>

مساعدين المصادقة

تستخدم مصادقة Firebase مساحة الاسم المحجوزة لتوفير JavaScript وHTML خاصين لإكمال المصادقة مع الموفرين عبر OAuth. يتيح ذلك لكل مشروع في Firebase أن يكون له نطاق فرعي فريد من نوعه في Firebase، مما يزيد من أمان مصادقة Firebase.

بالإضافة إلى ذلك، يتيح لك هذا استخدام المجال المخصص الخاص بك لخيار authDomain الخاص بـ firebase.initializeApp() . إذا قمت بتكوين مجال مخصص لاستضافة Firebase، فيمكنك أيضًا تحديد هذا المجال المخصص (بدلاً من النطاق الفرعي web.app أو firebaseapp.com ) عند تهيئة حزم Firebase SDK.

عناوين URL المحجوزة وعمال الخدمة

إذا كنت تقوم بإنشاء تطبيق ويب تقدمي (PWA)، فيمكنك إنشاء عامل خدمة يحتوي على "احتياطي للتنقل" ويعرض عنوان URL محددًا بشكل افتراضي إذا لم يتطابق مع قائمة العناصر المخزنة مؤقتًا.

إذا كنت تستخدم مكتبة sw-precache ، فيمكنك إضافة إعداد القائمة البيضاء للتنقل الاحتياطي الذي يستبعد مساحة الاسم المحجوزة:

{
  navigateFallbackWhitelist: [/^(?!\/__).*/]
}

بشكل عام، تذكر فقط أن مساحة الاسم ذات الشرطة السفلية المزدوجة محجوزة لاستخدام Firebase وأنه لا ينبغي عليك اعتراض هذه الطلبات في عامل الخدمة لديك.