Firebase Hosting /__
দিয়ে শুরু হওয়া আপনার সাইটের URL সংরক্ষণ করে। এই সংরক্ষিত নামস্থানটি Firebase Hosting সাথে অন্যান্য ফায়ারবেস পণ্যগুলিকে ব্যবহার করা সহজ করে তোলে।
এই সংরক্ষিত ইউআরএলগুলি যখন আপনি ফায়ারবেস ( firebase deploy
) এ স্থাপন করেন বা যখন আপনি একটি স্থানীয় সার্ভারে আপনার অ্যাপ চালান ( firebase serve
) উভয় ক্ষেত্রেই উপলব্ধ।
সংরক্ষিত URL এর জন্য স্ক্রিপ্ট যোগ করুন
যেহেতু Firebase Hosting স্থাপন করার সময় HTTP/2 এর মাধ্যমে পরিবেশন করা হয়, আপনি একই উত্স থেকে ফাইলগুলি লোড করে কার্যক্ষমতা বাড়াতে পারেন৷ Firebase Hosting বিশেষ URL থেকে Firebase JavaScript SDK-এর সংস্করণ 8 পরিবেশন করে:
/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js
আমরা দৃঢ়ভাবে শুধুমাত্র লাইব্রেরিগুলি লোড করার সুপারিশ করি যা আপনি আপনার অ্যাপে ব্যবহার করেন। উদাহরণস্বরূপ, শুধুমাত্র Authentication এবং Cloud Firestore অন্তর্ভুক্ত করতে, আপনার <body>
ট্যাগের নীচে নিম্নলিখিত স্ক্রিপ্টগুলি যোগ করুন, তবে আপনি যেকোন ফায়ারবেস পরিষেবাগুলি ব্যবহার করার আগে:
<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 কনফিগারেশন একক কোডবেস থেকে একাধিক পরিবেশ (যেমন ডেভ, স্টেজিং এবং উত্পাদন) পরিচালনা করা সহজ করে তোলে। সংরক্ষিত Hosting URL-এর উপর নির্ভর করে, আপনি একাধিক ফায়ারবেস প্রকল্পে একই কোড স্থাপন করতে পারেন।
SDKগুলিকে নিজেরাই হোস্ট করার পাশাপাশি, সংরক্ষিত নেমস্পেস Hosting সাইটের সাথে যুক্ত Firebase প্রকল্পের জন্য SDK শুরু করার জন্য প্রয়োজনীয় সমস্ত কনফিগারেশনও প্রদান করে৷ এই Firebase কনফিগারেশন এবং SDK প্রারম্ভিকতা একটি স্ক্রিপ্ট দ্বারা প্রদান করা হয় যা আপনি সরাসরি অন্তর্ভুক্ত করতে পারেন:
<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>
আপনি যখন Firebase-এ স্থাপন করেন বা স্থানীয়ভাবে আপনার অ্যাপ পরীক্ষা করেন, তখন এই স্ক্রিপ্টটি সক্রিয় Firebase প্রকল্পের জন্য Firebase JavaScript SDK স্বয়ংক্রিয়ভাবে কনফিগার করে এবং SDK শুরু করে।
আপনি যদি নিজে নিজে সূচনা নিয়ন্ত্রণ করতে পছন্দ করেন, ফায়ারবেস কনফিগারেশন মানগুলিও JSON আকারে উপলব্ধ:
fetch('/__/firebase/init.json').then(async response => {
firebase.initializeApp(await response.json());
});
উপলব্ধ Firebase JS SDKs (সংরক্ষিত Hosting URL থেকে)
ফায়ারবেস পণ্য | লাইব্রেরি রেফারেন্স (সংরক্ষিত URL) |
---|---|
ফায়ারবেস কোর (প্রয়োজনীয়) | <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 ব্যবহার করে সর্বোত্তম অভিজ্ঞতার জন্য, Analytics জন্য Firebase SDK যোগ করুন। |
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 ব্যবহার করে সর্বোত্তম অভিজ্ঞতার জন্য, Analytics জন্য Firebase SDKও যোগ করুন। |
Firebase JavaScript SDK (সম্পূর্ণ SDK) | <script src="/__/firebase/8.10.1/firebase.js"></script> |
লেখক সাহায্যকারী
Firebase Authentication বিশেষ জাভাস্ক্রিপ্ট এবং HTML প্রদান করতে সংরক্ষিত নামস্থান ব্যবহার করে OAuth এর মাধ্যমে প্রদানকারীদের সাথে প্রমাণীকরণ সম্পূর্ণ করতে। এটি প্রতিটি Firebase প্রজেক্টকে একটি অনন্য Firebase সাবডোমেন থাকতে দেয়, Firebase Authentication নিরাপত্তা বাড়ায়।
উপরন্তু, এটি আপনাকে firebase.initializeApp()
এর authDomain
বিকল্পের জন্য আপনার নিজস্ব কাস্টম ডোমেন ব্যবহার করতে দেয়। আপনি যদি Firebase Hosting জন্য একটি কাস্টম ডোমেন কনফিগার করেন , তাহলে Firebase SDK গুলি শুরু করার সময় আপনি সেই কাস্টম ডোমেনটি (আপনার web.app
বা firebaseapp.com
সাবডোমেনের পরিবর্তে) নির্দিষ্ট করতে পারেন৷ একটি কাস্টম ডোমেন ব্যবহার করার বিষয়ে আরও বিশদ বিবরণের জন্য signInWithRedirect ব্যবহারের জন্য সর্বোত্তম অনুশীলনগুলি দেখুন৷
সংরক্ষিত URL এবং পরিষেবা কর্মী
আপনি যদি একটি প্রগ্রেসিভ ওয়েব অ্যাপ (PWA) তৈরি করেন, তাহলে আপনি এমন একটি পরিষেবা কর্মী তৈরি করতে পারেন যার একটি "নেভিগেশন ফলব্যাক" রয়েছে এবং এটি পূর্বনির্ধারিত আইটেমগুলির একটি তালিকার সাথে না মিললে ডিফল্টরূপে একটি নির্দিষ্ট URL রেন্ডার করে৷
আপনি যদি sw-precache লাইব্রেরি ব্যবহার করেন, আপনি একটি নেভিগেশন ফলব্যাক হোয়াইটলিস্ট সেটিং যোগ করতে পারেন যা সংরক্ষিত নামস্থান বাদ দেয়:
{
navigateFallbackWhitelist: [/^(?!\/__).*/]
}
সাধারণভাবে, শুধু মনে রাখবেন যে ডাবল-আন্ডারস্কোর নেমস্পেসটি Firebase ব্যবহারের জন্য সংরক্ষিত এবং আপনার পরিষেবা কর্মীকে এই অনুরোধগুলি আটকানো উচিত নয়।
, Firebase Hosting /__
দিয়ে শুরু হওয়া আপনার সাইটের URL সংরক্ষণ করে। এই সংরক্ষিত নামস্থানটি Firebase Hosting সাথে অন্যান্য ফায়ারবেস পণ্যগুলিকে ব্যবহার করা সহজ করে তোলে।
এই সংরক্ষিত ইউআরএলগুলি যখন আপনি ফায়ারবেস ( firebase deploy
) এ স্থাপন করেন বা যখন আপনি একটি স্থানীয় সার্ভারে আপনার অ্যাপ চালান ( firebase serve
) উভয় ক্ষেত্রেই উপলব্ধ।
সংরক্ষিত URL এর জন্য স্ক্রিপ্ট যোগ করুন
যেহেতু Firebase Hosting স্থাপন করার সময় HTTP/2 এর মাধ্যমে পরিবেশন করা হয়, আপনি একই উত্স থেকে ফাইলগুলি লোড করে কার্যক্ষমতা বাড়াতে পারেন৷ Firebase Hosting বিশেষ URL থেকে Firebase JavaScript SDK-এর সংস্করণ 8 পরিবেশন করে:
/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js
আমরা দৃঢ়ভাবে শুধুমাত্র লাইব্রেরিগুলি লোড করার সুপারিশ করি যা আপনি আপনার অ্যাপে ব্যবহার করেন। উদাহরণস্বরূপ, শুধুমাত্র Authentication এবং Cloud Firestore অন্তর্ভুক্ত করতে, আপনার <body>
ট্যাগের নীচে নিম্নলিখিত স্ক্রিপ্টগুলি যোগ করুন, তবে আপনি যেকোন ফায়ারবেস পরিষেবাগুলি ব্যবহার করার আগে:
<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 কনফিগারেশন একক কোডবেস থেকে একাধিক পরিবেশ (যেমন ডেভ, স্টেজিং এবং উত্পাদন) পরিচালনা করা সহজ করে তোলে। সংরক্ষিত Hosting URL এর উপর নির্ভর করে, আপনি একাধিক ফায়ারবেস প্রকল্পে একই কোড স্থাপন করতে পারেন।
SDKগুলিকে নিজেরাই হোস্ট করার পাশাপাশি, সংরক্ষিত নেমস্পেস Hosting সাইটের সাথে যুক্ত Firebase প্রকল্পের জন্য SDK শুরু করার জন্য প্রয়োজনীয় সমস্ত কনফিগারেশনও প্রদান করে৷ এই Firebase কনফিগারেশন এবং SDK প্রারম্ভিকতা একটি স্ক্রিপ্ট দ্বারা প্রদান করা হয় যা আপনি সরাসরি অন্তর্ভুক্ত করতে পারেন:
<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>
আপনি যখন Firebase-এ স্থাপন করেন বা স্থানীয়ভাবে আপনার অ্যাপ পরীক্ষা করেন, তখন এই স্ক্রিপ্টটি সক্রিয় Firebase প্রকল্পের জন্য Firebase JavaScript SDK স্বয়ংক্রিয়ভাবে কনফিগার করে এবং SDK শুরু করে।
আপনি যদি নিজে নিজে সূচনা নিয়ন্ত্রণ করতে পছন্দ করেন, ফায়ারবেস কনফিগারেশন মানগুলিও JSON আকারে উপলব্ধ:
fetch('/__/firebase/init.json').then(async response => {
firebase.initializeApp(await response.json());
});
উপলব্ধ Firebase JS SDKs (সংরক্ষিত Hosting URL থেকে)
ফায়ারবেস পণ্য | লাইব্রেরি রেফারেন্স (সংরক্ষিত URL) |
---|---|
ফায়ারবেস কোর (প্রয়োজনীয়) | <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 ব্যবহার করে সর্বোত্তম অভিজ্ঞতার জন্য, Analytics জন্য Firebase SDK যোগ করুন। |
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 ব্যবহার করে সর্বোত্তম অভিজ্ঞতার জন্য, Analytics জন্য Firebase SDKও যোগ করুন। |
Firebase JavaScript SDK (সম্পূর্ণ SDK) | <script src="/__/firebase/8.10.1/firebase.js"></script> |
লেখক সাহায্যকারী
Firebase Authentication বিশেষ জাভাস্ক্রিপ্ট এবং HTML প্রদান করতে সংরক্ষিত নামস্থান ব্যবহার করে OAuth এর মাধ্যমে প্রদানকারীদের সাথে প্রমাণীকরণ সম্পূর্ণ করতে। এটি প্রতিটি Firebase প্রজেক্টকে একটি অনন্য Firebase সাবডোমেন থাকতে দেয়, Firebase Authentication নিরাপত্তা বাড়ায়।
উপরন্তু, এটি আপনাকে firebase.initializeApp()
এর authDomain
বিকল্পের জন্য আপনার নিজস্ব কাস্টম ডোমেন ব্যবহার করতে দেয়। আপনি যদি Firebase Hosting জন্য একটি কাস্টম ডোমেন কনফিগার করেন , তাহলে Firebase SDK গুলি শুরু করার সময় আপনি সেই কাস্টম ডোমেনটি (আপনার web.app
বা firebaseapp.com
সাবডোমেনের পরিবর্তে) নির্দিষ্ট করতে পারেন৷ একটি কাস্টম ডোমেন ব্যবহার করার বিষয়ে আরও বিশদ বিবরণের জন্য signInWithRedirect ব্যবহারের জন্য সর্বোত্তম অনুশীলনগুলি দেখুন৷
সংরক্ষিত URL এবং পরিষেবা কর্মী
আপনি যদি একটি প্রগ্রেসিভ ওয়েব অ্যাপ (PWA) তৈরি করেন, তাহলে আপনি এমন একটি পরিষেবা কর্মী তৈরি করতে পারেন যার একটি "নেভিগেশন ফলব্যাক" রয়েছে এবং এটি পূর্বনির্ধারিত আইটেমগুলির একটি তালিকার সাথে না মিললে ডিফল্টরূপে একটি নির্দিষ্ট URL রেন্ডার করে৷
আপনি যদি sw-precache লাইব্রেরি ব্যবহার করেন, আপনি একটি নেভিগেশন ফলব্যাক হোয়াইটলিস্ট সেটিং যোগ করতে পারেন যা সংরক্ষিত নামস্থান বাদ দেয়:
{
navigateFallbackWhitelist: [/^(?!\/__).*/]
}
সাধারণভাবে, শুধু মনে রাখবেন যে ডাবল-আন্ডারস্কোর নেমস্পেসটি Firebase ব্যবহারের জন্য সংরক্ষিত এবং আপনার পরিষেবা কর্মীকে এই অনুরোধগুলি আটকানো উচিত নয়।