Firebase Hosting REST API আপনার Firebase-হোস্ট করা সাইটগুলিতে প্রোগ্রাম্যাটিক এবং কাস্টমাইজযোগ্য স্থাপনা সক্ষম করে। নতুন বা আপডেট করা Hosting সামগ্রী এবং কনফিগারেশন স্থাপন করতে এই REST API ব্যবহার করুন।
স্থাপনার জন্য Firebase CLI ব্যবহার করার বিকল্প হিসাবে, আপনি Firebase Hosting REST API ব্যবহার করতে পারেন প্রোগ্রাম্যাটিকভাবে আপনার সাইটের সম্পদের একটি নতুন version
তৈরি করতে, সংস্করণে ফাইল আপলোড করতে, তারপর সংস্করণটি আপনার সাইটে স্থাপন করতে।
উদাহরণস্বরূপ, Firebase Hosting REST API এর সাথে, আপনি করতে পারেন:
তফসিল স্থাপন. একটি ক্রোন কাজের সাথে REST API ব্যবহার করে, আপনি নিয়মিত সময়সূচীতে Firebase-হোস্ট করা সামগ্রী পরিবর্তন করতে পারেন (উদাহরণস্বরূপ, আপনার সামগ্রীর একটি বিশেষ ছুটি বা ইভেন্ট-সম্পর্কিত সংস্করণ স্থাপন করতে)।
বিকাশকারী সরঞ্জামগুলির সাথে সংহত করুন। আপনি শুধুমাত্র একটি ক্লিক ব্যবহার করে আপনার ওয়েব অ্যাপ প্রকল্পগুলিকে Firebase Hosting এ স্থাপন করার জন্য আপনার টুলে একটি বিকল্প তৈরি করতে পারেন (উদাহরণস্বরূপ, একটি IDE-এর মধ্যে একটি স্থাপন বোতামে ক্লিক করা)।
যখন স্থির বিষয়বস্তু তৈরি হয় তখন স্বয়ংক্রিয়ভাবে স্থাপন করা হয়। যখন একটি প্রক্রিয়া স্থির বিষয়বস্তু প্রোগ্রামাটিকভাবে তৈরি করে (উদাহরণস্বরূপ, উইকি বা একটি সংবাদ নিবন্ধের মতো ব্যবহারকারী-উত্পাদিত বিষয়বস্তু), আপনি উত্পন্ন সামগ্রীগুলিকে গতিশীলভাবে পরিবেশন করার পরিবর্তে স্ট্যাটিক ফাইল হিসাবে স্থাপন করতে পারেন। এটি আপনাকে ব্যয়বহুল গণনা শক্তি সঞ্চয় করে এবং আপনার ফাইলগুলিকে আরও মাপযোগ্য উপায়ে পরিবেশন করে।
এই নির্দেশিকাটি প্রথমে বর্ণনা করে কিভাবে API কে সক্ষম, প্রমাণীকরণ এবং অনুমোদন করতে হয়। তারপরে এই গাইডটি একটি উদাহরণের মধ্য দিয়ে চলে একটি Firebase Hosting সংস্করণ তৈরি করতে, সংস্করণে প্রয়োজনীয় ফাইল আপলোড করতে, তারপর অবশেষে সংস্করণটি স্থাপন করতে৷
আপনি সম্পূর্ণ Hosting REST API রেফারেন্স ডকুমেন্টেশনে এই REST API সম্পর্কে আরও জানতে পারেন।
আপনি শুরু করার আগে: REST API সক্ষম করুন
আপনাকে অবশ্যই Google APIs কনসোলে Firebase Hosting REST API সক্ষম করতে হবে:
Google APIs কনসোলে Firebase Hosting API পৃষ্ঠাটি খুলুন।
অনুরোধ করা হলে, আপনার Firebase প্রকল্প নির্বাচন করুন।
Firebase Hosting API পৃষ্ঠায় সক্রিয় ক্লিক করুন।
ধাপ 1: API অনুরোধগুলিকে প্রমাণীকরণ এবং অনুমোদন করতে একটি অ্যাক্সেস টোকেন পান
Firebase প্রকল্পগুলি Google পরিষেবা অ্যাকাউন্টগুলিকে সমর্থন করে, যা আপনি আপনার অ্যাপ সার্ভার বা বিশ্বস্ত পরিবেশ থেকে Firebase সার্ভার API কল করতে ব্যবহার করতে পারেন৷ আপনি যদি স্থানীয়ভাবে কোড ডেভেলপ করছেন বা আপনার অ্যাপ্লিকেশনটি প্রাঙ্গনে স্থাপন করছেন, আপনি সার্ভার অনুরোধ অনুমোদন করতে এই পরিষেবা অ্যাকাউন্টের মাধ্যমে প্রাপ্ত শংসাপত্রগুলি ব্যবহার করতে পারেন৷
একটি পরিষেবা অ্যাকাউন্ট প্রমাণীকরণ করতে এবং এটিকে Firebase পরিষেবাগুলি অ্যাক্সেস করার অনুমোদন দিতে, আপনাকে অবশ্যই JSON ফর্ম্যাটে একটি ব্যক্তিগত কী ফাইল তৈরি করতে হবে৷
আপনার পরিষেবা অ্যাকাউন্টের জন্য একটি ব্যক্তিগত কী ফাইল তৈরি করতে:
Firebase কনসোলে, সেটিংস > পরিষেবা অ্যাকাউন্ট খুলুন।
জেনারেট নিউ প্রাইভেট কী ক্লিক করুন, তারপর জেনারেট কী ক্লিক করে নিশ্চিত করুন।
কী আছে এমন JSON ফাইলটি নিরাপদে সংরক্ষণ করুন।
একটি স্বল্পস্থায়ী OAuth 2.0 অ্যাক্সেস টোকেন পুনরুদ্ধার করতে আপনার পছন্দের ভাষার জন্য Google Auth লাইব্রেরির সাথে একসাথে আপনার Firebase শংসাপত্রগুলি ব্যবহার করুন:
node.js
const {google} = require('googleapis'); function getAccessToken() { return new Promise(function(resolve, reject) { var key = require('./service-account.json'); var jwtClient = new google.auth.JWT( key.client_email, null, key.private_key, SCOPES, null ); jwtClient.authorize(function(err, tokens) { if (err) { reject(err); return; } resolve(tokens.access_token); }); }); }
এই উদাহরণে, Google API ক্লায়েন্ট লাইব্রেরি একটি JSON ওয়েব টোকেন বা JWT দিয়ে অনুরোধটি প্রমাণীকরণ করে। আরও তথ্যের জন্য, JSON ওয়েব টোকেন দেখুন।
পাইথন
def _get_access_token(): """Retrieve a valid access token that can be used to authorize requests. :return: Access token. """ credentials = ServiceAccountCredentials.from_json_keyfile_name( 'service-account.json', SCOPES) access_token_info = credentials.get_access_token() return access_token_info.access_token
জাভা
private static String getAccessToken() throws IOException { GoogleCredential googleCredential = GoogleCredential .fromStream(new FileInputStream("service-account.json")) .createScoped(Arrays.asList(SCOPES)); googleCredential.refreshToken(); return googleCredential.getAccessToken(); }
আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হওয়ার পরে, একটি আপডেট অ্যাক্সেস টোকেন পুনরুদ্ধার করতে টোকেন রিফ্রেশ পদ্ধতিটি স্বয়ংক্রিয়ভাবে কল করা হয়।
ধাপ 2: নিশ্চিত করুন যে আপনার প্রকল্পের একটি ডিফল্ট Hosting সাইট আছে
Firebase Hosting এ আপনার প্রথম স্থাপনার আগে, আপনার Firebase প্রকল্পে অবশ্যই একটি ডিফল্ট Hosting SITE
থাকতে হবে।
sites.list
এন্ডপয়েন্টে কল করে আপনার প্রজেক্টে ইতিমধ্যেই একটি ডিফল্ট Hosting সাইট আছে কিনা তা পরীক্ষা করুন।যেমন:
cURL কমান্ড
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ https://firebasehosting.googleapis.com/v1beta1/projects/PROJECT_ID/sites
কাঁচা HTTPS অনুরোধ
Host: firebasehosting.googleapis.com POST /v1beta1/projects/PROJECT_ID/sites HTTP/1.1 Authorization: Bearer ACCESS_TOKEN Content-Type: application/json
যদি সাইটগুলির একটিতে
"type": "DEFAULT_SITE"
, তাহলে আপনার প্রকল্পে ইতিমধ্যেই একটি ডিফল্ট Hosting সাইট রয়েছে৷ এই ধাপের বাকি অংশ এড়িয়ে যান এবং পরবর্তী ধাপে যান: আপনার সাইটের জন্য একটি নতুন সংস্করণ তৈরি করুন ।আপনি যদি একটি খালি অ্যারে পান, তাহলে আপনার কোনো ডিফল্ট Hosting সাইট নেই। এই ধাপের বাকি অংশটি সম্পূর্ণ করুন।
আপনার ডিফল্ট Hosting সাইটের জন্য
SITE_ID
সিদ্ধান্ত নিন। এইSITE_ID
নির্ধারণ করার সময় নিম্নলিখিতগুলি মনে রাখবেন:এই
SITE_ID
আপনার ডিফল্ট ফায়ারবেস সাবডোমেন তৈরি করতে ব্যবহার করা হয়:SITE_ID .web.app
এবংSITE_ID .firebaseapp.com
।একটি
SITE_ID
নিম্নলিখিত প্রয়োজনীয়তা রয়েছে:- একটি বৈধ হোস্টনাম লেবেল হতে হবে, যার অর্থ এটি ধারণ করতে পারে না
.
,_
, ইত্যাদি - 30 অক্ষর বা তার কম হতে হবে
- Firebase এর মধ্যে বিশ্বব্যাপী অনন্য হতে হবে
- একটি বৈধ হোস্টনাম লেবেল হতে হবে, যার অর্থ এটি ধারণ করতে পারে না
মনে রাখবেন যে আমরা প্রায়ই আপনার ডিফল্ট Hosting সাইটের জন্য
SITE_ID
হিসাবে আপনার প্রকল্প ID ব্যবহার করার পরামর্শ দিই। আন্ডারস্ট্যান্ড ফায়ারবেস প্রোজেক্টে এই আইডিটি কীভাবে খুঁজে পাবেন তা জানুন।siteId
প্যারামিটার হিসাবে আপনার পছন্দসইSITE_ID
ব্যবহার করেsites.create
এন্ডপয়েন্টকে কল করে আপনার ডিফল্ট Hosting সাইট তৈরি করুন।যেমন:
cURL কমান্ড
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ https://firebasehosting.googleapis.com/v1beta1/projects/PROJECT_ID/sites?siteId=SITE_ID
কাঁচা HTTPS অনুরোধ
Host: firebasehosting.googleapis.com POST /v1beta1/projects/PROJECT_ID/sites?siteId=SITE_ID Authorization: Bearer ACCESS_TOKEN Content-Type: application/json
sites.create
এ এই API কল নিম্নলিখিত JSON প্রদান করে:{ "name": "projects/PROJECT_ID/sites/SITE_ID", "defaultUrl": "https://SITE_ID.web.app", "type": "DEFAULT_SITE" }
ধাপ 3: আপনার সাইটের জন্য একটি নতুন সংস্করণ তৈরি করুন
আপনার প্রথম API কল হল আপনার সাইটের জন্য একটি নতুন Version
তৈরি করা। পরে এই গাইডে, আপনি এই সংস্করণে ফাইলগুলি আপলোড করবেন, তারপর এটি আপনার সাইটে স্থাপন করবেন।
আপনি যে সাইটে স্থাপন করতে চান তার জন্য SITE_ID নির্ধারণ করুন।
কলে আপনার SITE_ID ব্যবহার করে versions.create এন্ডপয়েন্টে কল করুন।
(ঐচ্ছিক) আপনি কলে একটি Firebase Hosting কনফিগারেশন অবজেক্টও পাস করতে পারেন, যার মধ্যে একটি হেডার সেট করা যা একটি নির্দিষ্ট সময়ের জন্য সমস্ত ফাইল ক্যাশ করে।
যেমন:
cURL কমান্ড
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -d '{ "config": { "headers": [{ "glob": "**", "headers": { "Cache-Control": "max-age=1800" } }] } }' \ https://firebasehosting.googleapis.com/v1beta1/sites/SITE_ID/versions
কাঁচা HTTPS অনুরোধ
Host: firebasehosting.googleapis.com POST /v1beta1/sites/SITE_ID/versions HTTP/1.1 Authorization: Bearer ACCESS_TOKEN Content-Type: application/json Content-Length: 134 { "config": { "headers": [{ "glob": "**", "headers": { "Cache-Control": "max-age=1800" } }] } }
versions.create
এ এই API কল নিম্নলিখিত JSON প্রদান করে:
{ "name": "sites/SITE_ID/versions/VERSION_ID", "status": "CREATED", "config": { "headers": [{ "glob": "**", "headers": { "Cache-Control": "max-age=1800" } }] } }
এই প্রতিক্রিয়াটিতে নতুন সংস্করণের জন্য একটি অনন্য শনাক্তকারী রয়েছে, ফর্ম্যাটে: sites/ SITE_ID /versions/ VERSION_ID
। এই নির্দিষ্ট সংস্করণটি উল্লেখ করার জন্য আপনাকে এই নির্দেশিকা জুড়ে এই অনন্য শনাক্তকারীর প্রয়োজন হবে।
ধাপ 4: আপনি যে ফাইলগুলি স্থাপন করতে চান তার তালিকা নির্দিষ্ট করুন
এখন আপনার কাছে আপনার নতুন সংস্করণ শনাক্তকারী রয়েছে, আপনাকে Firebase Hosting বলতে হবে যে আপনি শেষ পর্যন্ত এই নতুন সংস্করণে কোন ফাইলগুলি স্থাপন করতে চান৷
মনে রাখবেন যে Hosting পৃথক ফাইলের জন্য সর্বোচ্চ 2 জিবি আকারের সীমা রয়েছে।
এই API এর জন্য আপনাকে একটি SHA256 হ্যাশ দ্বারা ফাইলগুলি সনাক্ত করতে হবে৷ সুতরাং, আপনি API কল করার আগে, আপনাকে প্রথমে ফাইলগুলিকে জিজিপ করে প্রতিটি স্ট্যাটিক ফাইলের জন্য একটি হ্যাশ গণনা করতে হবে তারপর প্রতিটি নতুন সংকুচিত ফাইলের SHA256 হ্যাশ গ্রহণ করতে হবে।
আমাদের উদাহরণ অব্যাহত রেখে, ধরা যাক যে আপনি নতুন সংস্করণে তিনটি ফাইল স্থাপন করতে চান: file1
, file2
, এবং file3
।
ফাইলগুলি জিপ করুন:
gzip file1 && gzip file2 && gzip file3
আপনার কাছে এখন তিনটি সংকুচিত ফাইল আছে
file1.gz
,file2.gz
এবংfile3.gz
।প্রতিটি সংকুচিত ফাইলের SHA256 হ্যাশ পান:
cat file1.gz | openssl dgst -sha256 66d61f86bb684d0e35f94461c1f9cf4f07a4bb3407bfbd80e518bd44368ff8f4
cat file2.gz | openssl dgst -sha256 490423ebae5dcd6c2df695aea79f1f80555c62e535a2808c8115a6714863d083
cat file3.gz | openssl dgst -sha256 59cae17473d7dd339fe714f4c6c514ab4470757a4fe616dfdb4d81400addf315
আপনার কাছে এখন তিনটি সংকুচিত ফাইলের তিনটি SHA256 হ্যাশ রয়েছে।
versions.populateFiles
এন্ডপয়েন্টে একটি API অনুরোধে এই তিনটি হ্যাশ পাঠান। আপলোড করা ফাইলের জন্য পছন্দসই পাথ দ্বারা প্রতিটি হ্যাশ তালিকাভুক্ত করুন (এই উদাহরণে,/file1
,/file2
, এবং/file3
)।যেমন:
cURL কমান্ড
$ curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -d '{ "files": { "/file1": "66d61f86bb684d0e35f94461c1f9cf4f07a4bb3407bfbd80e518bd44368ff8f4", "/file2": "490423ebae5dcd6c2df695aea79f1f80555c62e535a2808c8115a6714863d083", "/file3": "59cae17473d7dd339fe714f4c6c514ab4470757a4fe616dfdb4d81400addf315" } }' \ https://firebasehosting.googleapis.com/v1beta1/sites/SITE_ID/versions/VERSION_ID:populateFiles
কাঁচা HTTPS অনুরোধ
Host: firebasehosting.googleapis.com POST /v1beta1/sites/SITE_ID/versions/VERSION_ID:populateFiles HTTP/1.1 Authorization: Bearer ACCESS_TOKEN Content-Type: application/json Content-Length: 181 { "files": { "/file1": "66d61f86bb684d0e35f94461c1f9cf4f07a4bb3407bfbd80e518bd44368ff8f4", "/file2": "490423ebae5dcd6c2df695aea79f1f80555c62e535a2808c8115a6714863d083", "/file3": "59cae17473d7dd339fe714f4c6c514ab4470757a4fe616dfdb4d81400addf315" } }
versions.populateFiles
এ এই API কল নিম্নলিখিত JSON প্রদান করে:
{ "uploadRequiredHashes": [ "490423ebae5dcd6c2df695aea79f1f80555c62e535a2808c8115a6714863d083", "59cae17473d7dd339fe714f4c6c514ab4470757a4fe616dfdb4d81400addf315" ], "uploadUrl": "https://upload-firebasehosting.googleapis.com/upload/sites/SITE_ID/versions/VERSION_ID/files" }
এই প্রতিক্রিয়া অন্তর্ভুক্ত:
প্রতিটি ফাইলের হ্যাশ যা আপলোড করতে হবে। উদাহরণস্বরূপ, এই উদাহরণে
file1
ইতিমধ্যেই একটি পূর্ববর্তী সংস্করণে আপলোড করা হয়েছে, তাই এর হ্যাশuploadRequiredHashes
তালিকায় অন্তর্ভুক্ত নয়।uploadUrl
নতুন সংস্করণের জন্য নির্দিষ্ট।
দুটি নতুন ফাইল আপলোড করার পরের ধাপে, আপনার versions.populateFiles
প্রতিক্রিয়া থেকে হ্যাশ এবং uploadURL
প্রয়োজন হবে।
ধাপ 5: প্রয়োজনীয় ফাইল আপলোড করুন
আপনাকে প্রতিটি প্রয়োজনীয় ফাইল পৃথকভাবে আপলোড করতে হবে (যে ফাইলগুলি পূর্ববর্তী ধাপে versions.populateFiles
প্রতিক্রিয়া থেকে uploadRequiredHashes
এ তালিকাভুক্ত করা হয়েছে)। এই ফাইল আপলোডগুলির জন্য, আপনার আগের ধাপ থেকে ফাইল হ্যাশ এবং uploadUrl
প্রয়োজন হবে৷
ফর্ম্যাটে একটি ফাইল-নির্দিষ্ট URL তৈরি করতে
uploadUrl
এ একটি ফরওয়ার্ড স্ল্যাশ এবং ফাইলের হ্যাশ যুক্ত করুন:https://upload-firebasehosting.googleapis.com/upload/sites/ SITE_ID /versions/ VERSION_ID /files/ FILE_HASH
।একের পর এক সমস্ত প্রয়োজনীয় ফাইল আপলোড করুন (এই উদাহরণে, শুধুমাত্র
file2.gz
এবংfile3.gz
) অনুরোধের একটি সিরিজ ব্যবহার করে ফাইল-নির্দিষ্ট URL-এ।উদাহরণস্বরূপ, সংকুচিত
file2.gz
আপলোড করতে:cURL কমান্ড
curl -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/octet-stream" \ --data-binary @./file2.gz \ https://upload-firebasehosting.googleapis.com/upload/sites/SITE_ID/versions/VERSION_ID/files/FILE_HASH
কাঁচা HTTPS অনুরোধ
Host: upload-firebasehosting.googleapis.com POST /upload/sites/SITE_ID/versions/VERSION_ID/files/FILE_HASH HTTP/1.1 Authorization: Bearer ACCESS_TOKEN Content-Type: application/octet-stream Content-Length: 500 content-of-file2.gz
সফল আপলোড একটি 200 OK
HTTPS প্রতিক্রিয়া প্রদান করে।
ধাপ 6: সংস্করণের স্থিতি চূড়ান্ত করে আপডেট করুন
আপনি versions.populateFiles
প্রতিক্রিয়াতে তালিকাভুক্ত সমস্ত ফাইল আপলোড করার পরে, আপনি আপনার সংস্করণের স্থিতি FINALIZED
এ আপডেট করতে পারেন।
আপনার API অনুরোধের status
ক্ষেত্র সহ versions.patch
এন্ডপয়েন্টে কল করুন FINALIZED
।
যেমন:
cURL কমান্ড
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"status": "FINALIZED"}' \ https://firebasehosting.googleapis.com/v1beta1/sites/SITE_ID/versions/VERSION_ID?update_mask=status
কাঁচা HTTPS অনুরোধ
Host: firebasehosting.googleapis.com PATCH /v1beta1/sites/SITE_ID/versions/VERSION_ID?update_mask=status HTTP/1.1 Authorization: Bearer ACCESS_TOKEN Content-Type: application/json Content-Length: 23 {"status": "FINALIZED"}
versions.patch
এ এই API কল নিম্নলিখিত JSON প্রদান করে। পরীক্ষা করুন যে status
FINALIZED
আপডেট করা হয়েছে।
{ "name": "sites/SITE_ID/versions/VERSION_ID", "status": "FINALIZED", "config": { "headers": [{ "glob": "**", "headers": {"Cache-Control": "max-age=1800"} }] }, "createTime": "2018-12-02T13:41:56.905743Z", "createUser": { "email": "SERVICE_ACCOUNT_EMAIL@SITE_ID.iam.gserviceaccount.com" }, "finalizeTime": "2018-12-02T14:56:13.047423Z", "finalizeUser": { "email": "USER_EMAIL@DOMAIN.tld" }, "fileCount": "5", "versionBytes": "114951" }
ধাপ 7: স্থাপনার জন্য সংস্করণটি প্রকাশ করুন
এখন আপনার কাছে একটি চূড়ান্ত সংস্করণ আছে, এটি স্থাপনের জন্য ছেড়ে দিন। এই পদক্ষেপের জন্য, আপনাকে আপনার সংস্করণের একটি Release
তৈরি করতে হবে যাতে হোস্টিং কনফিগারেশন এবং আপনার নতুন সংস্করণের জন্য সমস্ত সামগ্রী ফাইল রয়েছে৷
আপনার রিলিজ তৈরি করতে releases.create
এন্ডপয়েন্টে কল করুন।
যেমন:
cURL কমান্ড
curl -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST https://firebasehosting.googleapis.com/v1beta1/sites/SITE_ID/releases?versionName=sites/SITE_ID/versions/VERSION_ID
কাঁচা HTTPS অনুরোধ
Host: firebasehosting.googleapis.com POST /v1beta1/sites/SITE_ID/releases?versionName=sites/SITE_ID/versions/VERSION_ID HTTP/1.1 Authorization: Bearer ACCESS_TOKEN
releases.create
এ এই API কল নিম্নলিখিত JSON প্রদান করে:
{ "name": "sites/SITE_ID/releases/RELEASE_ID", "version": { "name": "sites/SITE_ID/versions/VERSION_ID", "status": "FINALIZED", "config": { "headers": [{ "glob": "**", "headers": {"Cache-Control": "max-age=1800"} }] } }, "type": "DEPLOY", "releaseTime": "2018-12-02T15:14:37Z" }
হোস্টিং কনফিগারেশন এবং নতুন সংস্করণের জন্য সমস্ত ফাইল এখন আপনার সাইটে স্থাপন করা উচিত, এবং আপনি URL ব্যবহার করে আপনার ফাইলগুলি অ্যাক্সেস করতে পারেন:
-
https:// SITE_ID .web.app/file1
-
https:// SITE_ID .web.app/file2
-
https:// SITE_ID .web.app/file3
এই ফাইলগুলি আপনার SITE_ID .firebaseapp.com
ডোমেনের সাথে যুক্ত URLগুলিতেও অ্যাক্সেসযোগ্য৷
এছাড়াও আপনি Firebase কনসোলের Hosting ড্যাশবোর্ডে তালিকাভুক্ত আপনার নতুন রিলিজ দেখতে পারেন।