يحتفظ Firebase Hosting بعناوين URL في موقعك الإلكتروني التي تبدأ بـ /__
. هذا النمط
توفر مساحة الاسم المحجوزة سهولة في استخدام منتجات Firebase الأخرى مع
Firebase Hosting
تتوفّر عناوين URL المحجوزة هذه عند النشر في Firebase.
(firebase deploy
) أو عند تشغيل تطبيقك على خادم محلي
(firebase serve
).
إضافة نصوص برمجية لعناوين URL المحجوزة
بما أنّ Firebase Hosting يتم عرضه عبر HTTP/2 عند نشره، يمكنك تعزيز الأداء من خلال تحميل الملفات من المصدر نفسه. عدد مرات العرض: Firebase Hosting الإصدار 8 من حزمة تطوير البرامج (SDK) Firebase JavaScript من عناوين URL خاصة تم تنسيقها على النحو التالي:
/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js
ننصح بشدة بتحميل المكتبات التي
التي تستخدمها في تطبيقك. على سبيل المثال، لتضمين Authentication فقط
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 التلقائية إدارة بيئات متعددة (مثل وتطوير البرامج، والتقسيم المرحلي، والإنتاج) من قاعدة رموز برمجية واحدة. من خلال الاعتماد على عنوان URLHosting المحجوز، يمكنك نشر الرمز نفسه في عدة مشاريع على Firebase.
بالإضافة إلى استضافة حزم SDK نفسها، توفر مساحة الاسم المحجوزة أيضًا جميع الإعدادات اللازمة لإعداد حزمة تطوير البرامج (SDK) لمنصة Firebase مشروع مرتبط بموقع Hosting الإلكتروني. سيختلف هذا التكوين في Firebase يتم توفير إعداد حزمة تطوير البرامج (SDK) من خلال نص برمجي يمكنك تضمينه مباشرةً:
<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>
عند النشر في Firebase أو اختبار التطبيق محليًا، يتم استخدام هذا النص البرمجي تلقائيًا لضبط حزمة تطوير البرامج (SDK) Firebase JavaScript من أجل مشروع نشط في Firebase وإعداد حزمة تطوير البرامج (SDK)
إذا كنت تفضِّل التحكّم في عملية الإعداد بنفسك، استخدِم إعدادات Firebase تتوفر القيم أيضًا في شكل JSON:
fetch('/__/firebase/init.json').then(async response => {
firebase.initializeApp(await response.json());
});
حِزم تطوير البرامج (SDK) لـ Firebase JS المتاحة (من Hosting عناوين URL محجوزة)
منتج Firebase | مرجع المكتبة (عنوان URL محجوز) |
---|---|
حزمة Firebase الأساسية (مطلوبة) |
<script src="/__/firebase/8.10.1/firebase-app.js"></script> |
Analytics | <script src="/__/firebase/8.10.1/firebase-analytics.js"></script> |
App Check | <script src="/__/firebase/8.10.1/firebase-app-check.js"></script> |
Authentication | <script src="/__/firebase/8.10.1/firebase-auth.js"></script> |
Cloud Firestore | <script src="/__/firebase/8.10.1/firebase-firestore.js"></script> |
Cloud Functions for Firebase Client SDK | <script src="/__/firebase/8.10.1/firebase-functions.js"></script> |
Firebase عملية تثبيت | <script src="/__/firebase/8.10.1/firebase-installations.js"></script> |
Cloud Messaging | <script src="/__/firebase/8.10.1/firebase-messaging.js"></script> للحصول على أفضل تجربة باستخدام Cloud Messaging، يمكنك أيضًا إضافة حزمة تطوير البرامج (SDK) لمنصّة Firebase الخاصة بتطبيق Analytics. |
Cloud Storage | <script src="/__/firebase/8.10.1/firebase-storage.js"></script> |
Performance Monitoring
(إصدار تجريبي) |
<script src="/__/firebase/8.10.1/firebase-performance.js"></script> |
Realtime Database | <script src="/__/firebase/8.10.1/firebase-database.js"></script> |
Remote Config
(إصدار تجريبي) |
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script> للحصول على تجربة مثالية باستخدام Remote Config، أضِف أيضًا حزمة تطوير البرامج (SDK) لمنصّة Firebase لنظام التشغيل Analytics. |
حزمة تطوير برامج (SDK) Firebase JavaScript (حزمة تطوير برامج (SDK) كاملة) |
<script src="/__/firebase/8.10.1/firebase.js"></script> |
تطبيقات المساعدة في المصادقة
يستخدم Firebase Authentication مساحة اسم لتوفير رموز JavaScript وHTML خاصة لإكمال المصادقة عبر بروتوكول OAuth. وهذا يتيح لكل مشروع في Firebase نطاق Firebase الفرعي، ما سيزيد من أمان Firebase Authentication.
بالإضافة إلى ذلك، يسمح لك ذلك باستخدام نطاقك الخاص في authDomain
.
الخيار لـ firebase.initializeApp()
. إذا كنت
إعداد نطاق خاص
في Firebase Hosting، يمكنك أيضًا تحديد النطاق الخاص (بدلاً من ذلك
نطاقك الفرعي web.app
أو firebaseapp.com
) عند إعداد Firebase
حِزم SDK. عرض
أفضل الممارسات لاستخدامsignInWithRedirect
لمعرفة المزيد من التفاصيل حول استخدام نطاق خاص.
عناوين URL المحجوزة ومشغّلو الخدمات
إذا كنت تنشئ تطبيق ويب تقدّميًا (PWA)، يمكنك إنشاء خدمة شخص لديه "احتياطي للتنقل" وتعرض عنوان URL محدّدًا بشكل تلقائي إذا لم يتطابق مع قائمة العناصر المخزّنة مسبقًا.
في حال استخدام Sw-precache يمكنك إضافة إعداد القائمة البيضاء الاحتياطي للتنقل الذي يستبعد مساحة الاسم المحجوزة:
{
navigateFallbackWhitelist: [/^(?!\/__).*/]
}
وتذكر بشكل عام أن مساحة الاسم للشرطة السفلية محجوزة استخدام Firebase وعدم اعتراض هذه الطلبات في خدمتك عامل.