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

สร้างลิงก์แบบไดนามิกด้วย REST API

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

คุณสามารถสร้างลิงก์ไดนามิกสั้นๆ ด้วย Firebase Dynamic Links REST API API นี้ยอมรับทั้งลิงก์ไดนามิกแบบยาวหรืออ็อบเจ็กต์ที่มีพารามิเตอร์ลิงก์ไดนามิก และส่งคืน URL ดังตัวอย่างต่อไปนี้:

https://example.page.link/WXYZ

ลิงก์ไดนามิกแบบสั้นที่สร้างด้วย API และไคลเอ็นต์ (Android/Apple) SDK จะไม่แสดงในคอนโซล Firebase ลิงก์แบบไดนามิกดังกล่าวมีไว้สำหรับการแบ่งปันระหว่างผู้ใช้กับผู้ใช้ สำหรับกรณีการใช้งานทางการตลาด ให้สร้างลิงก์ของคุณโดยตรงผ่าน หน้าลิงก์แบบไดนามิก ของคอนโซล Firebase

ก่อนที่คุณจะเริ่มต้น

  1. รับรหัส API ของคุณ คุณต้องใช้คีย์ API เพื่อยืนยันคำขอของคุณไปยัง API หากต้องการค้นหาคีย์ API ของคุณ:
    1. เปิด หน้าการตั้งค่า ของคอนโซล Firebase หากคุณได้รับแจ้งให้เลือกโปรเจ็กต์ ให้เลือกโปรเจ็กต์ Firebase จากเมนู
    2. จดบันทึกค่าของฟิลด์ Web API Key
  2. ในคอนโซล Firebase ให้เปิดส่วน ลิงก์แบบไดนามิก
  3. หากคุณยังไม่ได้ยอมรับข้อกำหนดในการให้บริการและตั้งค่าโดเมนสำหรับลิงก์แบบไดนามิก ให้ดำเนินการเมื่อได้รับแจ้ง

    หากคุณมีโดเมน Dynamic Links อยู่แล้ว โปรดจดบันทึกไว้ คุณต้องระบุโดเมนลิงก์แบบไดนามิกเมื่อคุณสร้างลิงก์แบบไดนามิกโดยทางโปรแกรม

คุณสามารถใช้ Firebase Dynamic Links API เพื่อย่อลิงก์ไดนามิกที่ยาวให้สั้นลง ในการทำเช่นนั้น ให้ส่งคำขอ HTTP POST ไปยังปลายทาง shortLinks โดยระบุลิงก์ไดนามิกแบบยาวในพารามิเตอร์ longDynamicLink ตัวอย่างเช่น:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibi=com.example.ios"
}

ดู สร้าง URL ด้วยตนเอง เพื่อเรียนรู้วิธีสร้างลิงก์แบบไดนามิกขนาดยาว

คุณยังสามารถสร้างลิงก์ไดนามิกสั้นๆ ได้ด้วยการระบุพารามิเตอร์ไดนามิกลิงก์โดยตรง ในการทำเช่นนั้น ให้ส่งคำขอ HTTP POST ไปยังปลายทาง shortLinks โดยระบุพารามิเตอร์ Dynamic Link ในพารามิเตอร์ dynamicLinkInfo ตัวอย่างเช่น:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
  "dynamicLinkInfo": {
    "domainUriPrefix": "https://example.page.link",
    "link": "https://www.example.com/",
    "androidInfo": {
      "androidPackageName": "com.example.android"
    },
    "iosInfo": {
      "iosBundleId": "com.example.ios"
    }
  }
}

สำหรับข้อมูลจำเพาะทั้งหมดของวัตถุ dynamicLinkInfo โปรดดู การอ้างอิง API

กำหนดความยาวของลิงก์ไดนามิกแบบสั้น

คุณยังสามารถตั้งค่าพารามิเตอร์ suffix เพื่อระบุวิธีสร้างองค์ประกอบเส้นทางของลิงก์ไดนามิกแบบสั้น

ตามค่าเริ่มต้น หรือหากคุณตั้งค่าพารามิเตอร์เป็น "UNGUESSABLE" ส่วนประกอบพาธจะเป็นสตริง 17 อักขระ เช่นในตัวอย่างต่อไปนี้:

https://example.page.link/UVWXYZuvwxyz12345

สตริงดังกล่าวสร้างขึ้นโดยการเข้ารหัส base62 เป็นตัวเลข 96 บิตที่สร้างขึ้นแบบสุ่ม ใช้การตั้งค่านี้เพื่อป้องกันไม่ให้มีการคาดเดาและรวบรวมข้อมูล URL ของลิงก์แบบไดนามิก ซึ่งอาจเปิดเผยข้อมูลที่ละเอียดอ่อนต่อผู้รับที่ไม่ได้ตั้งใจ

หากคุณตั้งค่าพารามิเตอร์เป็น "SHORT" ส่วนประกอบพาธจะเป็นสตริงที่มีความยาวเท่าที่จำเป็นเพื่อให้ไม่ซ้ำกัน โดยมีความยาวขั้นต่ำ 4 อักขระ

https://example.page.link/WXYZ

ใช้วิธีนี้หากข้อมูลที่ละเอียดอ่อนจะไม่ถูกเปิดเผยหากมีการคาดเดา URL ลิงก์แบบไดนามิกสั้นๆ

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าพารามิเตอร์ suffix :

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=api_key
Content-Type: application/json

{
   "longDynamicLink": "https://example.page.link/?link=http://www.example.com/&apn=com.example.android&ibi=com.example.ios",
   "suffix": {
     "option": "UNGUESSABLE"
   }
}

อย่างน้อยที่สุด ค่า Deep Link ที่ระบุต้องขึ้นต้นด้วย http:// หรือ https:// แผนภาพ นอกจากนี้ยังต้องตรงกับรายการรูปแบบ URL ที่อนุญาตพิเศษที่ป้อนในคอนโซลด้วย มิฉะนั้น API การสร้างจะล้มเหลวโดยมีรหัสข้อผิดพลาด HTTP 400

ขั้นตอนถัดไป

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

หากต้องการรับลิงก์แบบไดนามิกในแอปของคุณ โปรดดูเอกสารประกอบสำหรับ iOS , Android , C++ และ Unity

คำขอจำกัดที่ 5 คำขอ/ที่อยู่ IP/วินาที และ 200,000 คำขอ/วัน หากเกิน การตอบกลับจะส่งกลับรหัสข้อผิดพลาด HTTP 429 หากต้องการขอโควต้าเพิ่ม ให้กรอก แบบฟอร์ม นี้