Firebase is back at Google I/O on May 10! Register now

تحميل Firebase SDKs من عناوين URL المحجوزة

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

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

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

نظرًا لأن استضافة Firebase يتم تقديمها عبر HTTP / 2 عند النشر ، يمكنك تعزيز الأداء عن طريق تحميل الملفات من الأصل نفسه. تقدم استضافة Firebase الإصدار 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.

بالإضافة إلى استضافة SDKs نفسها ، توفر مساحة الاسم المحجوزة أيضًا كل التكوينات اللازمة لتهيئة 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());
});

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

منتج Firebase مرجع المكتبة (عنوان 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>
سحابة Firestore
<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>

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

سحابة التخزين
<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 للتحليلات.

Firebase JavaScript 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 SDKs.

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

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

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

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

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