ทำให้ใช้งานได้ในเว็บไซต์โดยใช้ Hosting REST API

Firebase Hosting REST API ช่วยให้คุณทำให้ใช้งานได้ในเว็บไซต์ที่โฮสต์โดย Firebase แบบเป็นโปรแกรมและปรับแต่งได้ ใช้ REST API นี้เพื่อทำให้เนื้อหา Hosting ใหม่หรือที่อัปเดตแล้วและ การกำหนดค่าใช้งานได้

คุณสามารถใช้ Firebase Hosting REST API เพื่อสร้าง version ใหม่ของชิ้นงานสำหรับเว็บไซต์ อัปโหลดไฟล์ไปยังเวอร์ชันนั้น แล้วทำให้เวอร์ชันนั้นใช้งานได้ในเว็บไซต์ โดยทำแบบเป็นโปรแกรมแทนการใช้ Firebase CLI สำหรับ การทำให้ใช้งานได้

ตัวอย่างเช่น Firebase Hosting REST API ช่วยให้คุณทำสิ่งต่อไปนี้ได้

  • กำหนดเวลาการทำให้ใช้งานได้ การใช้ REST API ร่วมกับงาน cron จะช่วยให้คุณเปลี่ยนเนื้อหาที่โฮสต์โดย Firebase ตามกำหนดเวลาปกติได้ (เช่น ทำให้เนื้อหาเวอร์ชันพิเศษที่เกี่ยวข้องกับวันหยุดหรือกิจกรรมใช้งานได้)

  • ผสานรวมกับเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ คุณสามารถสร้างตัวเลือกในเครื่องมือเพื่อ ทำให้โปรเจ็กต์เว็บแอปใช้งานได้ใน Firebase Hosting ได้ด้วยการคลิกเพียงครั้งเดียว (เช่น คลิกปุ่มทำให้ใช้งานได้ภายใน IDE)

  • ทำให้ใช้งานได้โดยอัตโนมัติเมื่อมีการสร้างเนื้อหาสแตติก เมื่อกระบวนการสร้างเนื้อหาสแตติกแบบเป็นโปรแกรม (เช่น เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น Wiki หรือบทความข่าว) คุณสามารถทำให้เนื้อหาที่สร้างขึ้นใช้งานได้เป็นไฟล์สแตติกแทนที่จะแสดงแบบไดนามิก ซึ่งจะช่วยประหยัดพลังการประมวลผลที่มีค่าใช้จ่ายสูงและแสดงไฟล์ในลักษณะที่ปรับขนาดได้มากขึ้น

คู่มือนี้จะอธิบายวิธีเปิดใช้ ตรวจสอบสิทธิ์ และให้สิทธิ์ API ก่อน จากนั้นจะแสดงตัวอย่างการสร้างFirebase Hosting เวอร์ชัน, การอัปโหลดไฟล์ที่จำเป็นไปยังเวอร์ชันนั้น และสุดท้ายคือการทำให้ เวอร์ชันนั้นใช้งานได้

นอกจากนี้ คุณยังดูข้อมูลเพิ่มเติมเกี่ยวกับ REST API นี้ได้ใน เอกสารอ้างอิง REST API ฉบับHostingเต็ม

ก่อนเริ่มต้น: เปิดใช้ REST API

คุณต้องเปิดใช้ Firebase Hosting REST API ในคอนโซล Google API โดยทำดังนี้

  1. เปิดหน้า API ในคอนโซล Google APIFirebase Hosting

  2. เลือกโปรเจ็กต์ Firebase เมื่อระบบแจ้ง

  3. คลิก เปิดใช้ ในหน้า Firebase Hosting API

ขั้นตอนที่ 1: รับโทเค็นเพื่อการเข้าถึงเพื่อตรวจสอบสิทธิ์และให้สิทธิ์คำขอ API

โปรเจ็กต์ Firebase รองรับบัญชีบริการของ Google ซึ่งคุณใช้เรียก API ของเซิร์ฟเวอร์ Firebase จากเซิร์ฟเวอร์แอปหรือสภาพแวดล้อมที่เชื่อถือได้ หากคุณกำลังพัฒนาโค้ดในเครื่องหรือทำให้แอปพลิเคชันใช้งานได้ในองค์กร คุณสามารถใช้ข้อมูลเข้าสู่ระบบที่ได้รับจากบัญชีบริการนี้เพื่อให้สิทธิ์คำขอของเซิร์ฟเวอร์ได้

คุณดูบัญชีบริการทั้งหมดสำหรับโปรเจ็กต์ Firebase ได้ในแท็บ การตั้งค่า > บัญชีบริการ

หากต้องการตรวจสอบสิทธิ์บัญชีบริการและให้สิทธิ์เข้าถึงบริการของ Firebase คุณต้องสร้างไฟล์คีย์ส่วนตัวในรูปแบบ JSON

วิธีสร้างไฟล์คีย์ส่วนตัวสำหรับบัญชีบริการ

  1. ในคอนโซล Firebase ให้ไปที่แท็บ การตั้งค่า > บัญชีบริการ

  2. คลิกสร้างคีย์ส่วนตัวใหม่ แล้วยืนยันโดยคลิก สร้างคีย์

  3. จัดเก็บไฟล์ JSON ที่มีคีย์อย่างปลอดภัย

ใช้ข้อมูลเข้าสู่ระบบ Firebase ร่วมกับ ไลบรารีการตรวจสอบสิทธิ์ของ Google สำหรับภาษาที่คุณต้องการเพื่อดึงโทเค็นเพื่อการเข้าถึง OAuth 2.0 ที่มีอายุสั้น

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.

Python

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

Java

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 เริ่มต้น

  1. ตรวจสอบว่าโปรเจ็กต์มีเว็บไซต์ Hosting เริ่มต้นอยู่แล้วหรือไม่โดยเรียกใช้ปลายทาง sites.list

    ตัวอย่างเช่น

    คำสั่ง 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 เว็บไซต์เริ่มต้น ทำตามขั้นตอนที่เหลือในขั้นตอนนี้

  2. เลือก SITE_ID สำหรับเว็บไซต์ Hosting เริ่มต้น โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อเลือก SITE_ID นี้

    • ระบบจะใช้ SITE_ID นี้เพื่อสร้างโดเมนย่อย Firebase เริ่มต้น ได้แก่
      SITE_ID.web.app และ SITE_ID.firebaseapp.com

    • SITE_ID ต้องเป็นไปตามข้อกำหนดต่อไปนี้

      • ต้องเป็นป้ายกำกับชื่อโฮสต์ที่ถูกต้อง ซึ่งหมายความว่าต้องไม่มีตัวอักขระอย่างเช่น ., _ เป็นต้น
      • ต้องมีความยาวไม่เกิน 30 ตัวอักขระ
      • ต้องไม่ซ้ำกันทั่วโลกภายใน Firebase

    โปรดทราบว่าเรามักจะแนะนำให้ใช้รหัสโปรเจ็กต์เป็น SITE_ID สำหรับ เริ่มต้น Hosting ไซต์ ดูวิธีค้นหารหัสนี้ได้ใน ทำความเข้าใจโปรเจ็กต์ Firebase

  3. สร้างเว็บไซต์ Hosting เริ่มต้นโดยเรียกใช้ sites.create ปลายทางโดยใช้ SITE_ID ที่ต้องการเป็น siteId พารามิเตอร์

    ตัวอย่างเช่น

    คำสั่ง 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

    การเรียก API ไปยัง sites.create จะแสดง JSON ต่อไปนี้

    {
      "name": "projects/PROJECT_ID/sites/SITE_ID",
      "defaultUrl": "https://SITE_ID.web.app",
      "type": "DEFAULT_SITE"
    }

ขั้นตอนที่ 3: สร้างเวอร์ชันใหม่สำหรับเว็บไซต์

การเรียก API ครั้งแรกคือการสร้างใหม่ Versionสำหรับเว็บไซต์ ในส่วนหลังของคู่มือนี้ คุณจะอัปโหลดไฟล์ไปยังเวอร์ชันนี้ แล้วทำให้เวอร์ชันนี้ใช้งานได้ในเว็บไซต์

  1. กำหนด SITE_ID สำหรับเว็บไซต์ที่ต้องการทำให้ใช้งานได้

  2. เรียกใช้ปลายทาง versions.create โดยใช้ SITE_ID ในการเรียก

    (ไม่บังคับ) คุณยังส่งออบเจ็กต์ 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"
          }
        }]
      }
    }

การเรียก API ไปยัง versions.create จะแสดง 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 GB สำหรับ แต่ละไฟล์

API นี้กำหนดให้คุณระบุไฟล์ด้วยแฮช SHA256 ดังนั้น ก่อนที่จะทำการเรียก API คุณจะต้องคำนวณแฮชสำหรับไฟล์สแตติกแต่ละไฟล์ก่อนโดยบีบอัดไฟล์ด้วย Gzip แล้วใช้แฮช SHA256 ของไฟล์ที่บีบอัดใหม่แต่ละไฟล์

มาดูตัวอย่างกันต่อ สมมติว่าคุณต้องการทำให้ไฟล์ 3 ไฟล์ ได้แก่ file1, file2 และ file3 ใช้งานได้ในเวอร์ชันใหม่

  1. บีบอัดไฟล์ด้วย Gzip

    gzip file1 && gzip file2 && gzip file3

    ตอนนี้คุณมีไฟล์ที่บีบอัดแล้ว 3 ไฟล์ ได้แก่ file1.gz, file2.gz และ file3.gz

  2. รับแฮช SHA256 ของไฟล์ที่บีบอัดแต่ละไฟล์

    cat file1.gz | openssl dgst -sha256
    
    66d61f86bb684d0e35f94461c1f9cf4f07a4bb3407bfbd80e518bd44368ff8f4
    
    cat file2.gz | openssl dgst -sha256
    
    490423ebae5dcd6c2df695aea79f1f80555c62e535a2808c8115a6714863d083
    
    cat file3.gz | openssl dgst -sha256
    
    59cae17473d7dd339fe714f4c6c514ab4470757a4fe616dfdb4d81400addf315
    

    ตอนนี้คุณมีแฮช SHA256 ของไฟล์ที่บีบอัดแล้ว 3 ไฟล์

  3. ส่งแฮชทั้ง 3 นี้ในคำขอ API ไปยัง versions.populateFiles ปลายทาง ระบุแฮชแต่ละรายการตามเส้นทางที่ต้องการสำหรับไฟล์ที่อัปโหลด (ใน ตัวอย่างนี้คือ /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"
      }
    }

การเรียก API ไปยัง versions.populateFiles จะแสดง JSON ต่อไปนี้

{
  "uploadRequiredHashes": [
    "490423ebae5dcd6c2df695aea79f1f80555c62e535a2808c8115a6714863d083",
    "59cae17473d7dd339fe714f4c6c514ab4470757a4fe616dfdb4d81400addf315"
  ],
  "uploadUrl": "https://upload-firebasehosting.googleapis.com/upload/sites/SITE_ID/versions/VERSION_ID/files"
}

การตอบกลับนี้ประกอบด้วยข้อมูลต่อไปนี้

  • แฮชของแต่ละไฟล์ ที่ต้องอัปโหลด เช่น ในตัวอย่างนี้ file1 ได้รับการอัปโหลดในเวอร์ชันก่อนหน้าแล้ว ดังนั้นแฮชของไฟล์จึงไม่รวมอยู่ในรายการ uploadRequiredHashes

  • uploadUrl ซึ่งเป็น URL ที่เฉพาะเจาะจงสำหรับเวอร์ชันใหม่

ในขั้นตอนถัดไปเพื่ออัปโหลดไฟล์ใหม่ 2 ไฟล์ คุณจะต้องใช้แฮชและ uploadURL จากการตอบกลับ versions.populateFiles

ขั้นตอนที่ 5: อัปโหลดไฟล์ที่จำเป็น

คุณต้องอัปโหลดไฟล์ที่จำเป็นแต่ละไฟล์แยกกัน (ไฟล์ที่แสดงใน uploadRequiredHashes จากการตอบกลับ versions.populateFiles ในขั้นตอนก่อนหน้า) สำหรับการอัปโหลดไฟล์เหล่านี้ คุณจะต้องใช้แฮชไฟล์และ uploadUrl จากขั้นตอนก่อนหน้า

  1. ต่อท้ายเครื่องหมายทับ และแฮชของไฟล์ ไปยัง uploadUrl เพื่อ สร้าง URL ที่เฉพาะเจาะจงสำหรับไฟล์ในรูปแบบ: https://upload-firebasehosting.googleapis.com/upload/sites/SITE_ID/versions/VERSION_ID/files/FILE_HASH

  2. อัปโหลดไฟล์ที่จำเป็นทั้งหมดทีละไฟล์ (ในตัวอย่างนี้คือ 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

การอัปโหลดที่สำเร็จจะแสดงการตอบกลับ HTTPS 200 OK

ขั้นตอนที่ 6: อัปเดตสถานะของเวอร์ชันเป็น FINALIZED

หลังจากอัปโหลดไฟล์ทั้งหมดที่แสดงในการตอบกลับ versions.populateFiles แล้ว คุณสามารถอัปเดตสถานะของเวอร์ชันเป็น FINALIZED ได้

เรียกใช้ versions.patch ปลายทางโดยตั้งค่าช่อง status ในคำขอ API เป็น 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"}

การเรียก API ไปยัง versions.patch จะแสดง 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ของเวอร์ชัน ที่มีการกำหนดค่า Hosting และไฟล์เนื้อหาทั้งหมดสำหรับ เวอร์ชันใหม่

เรียกใช้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

การเรียก API ไปยัง releases.create จะแสดง 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"
}

ตอนนี้การกำหนดค่า Hosting และไฟล์ทั้งหมดสำหรับเวอร์ชันใหม่ควรได้รับการทำให้ใช้งานได้ในเว็บไซต์แล้ว และคุณสามารถเข้าถึงไฟล์ได้โดยใช้ URL ต่อไปนี้

  • https://SITE_ID.web.app/file1
  • https://SITE_ID.web.app/file2
  • https://SITE_ID.web.app/file3

นอกจากนี้ คุณยังเข้าถึงไฟล์เหล่านี้ได้ใน URL ที่เชื่อมโยงกับโดเมน SITE_ID.firebaseapp.com

และคุณยังดูการเผยแพร่ใหม่ที่แสดงใน Hostingแดชบอร์ด ของFirebaseคอนโซลได้ด้วย