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

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

https://example.page.link/WXYZ

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

ก่อนเริ่มต้น

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

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

คุณใช้ API ลิงก์แบบไดนามิกของ Firebase เพื่อย่อลิงก์แบบไดนามิกขนาดยาวได้ ซึ่งทำได้โดยการส่งคำขอ 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 โดยระบุพารามิเตอร์ลิงก์แบบไดนามิกในพารามิเตอร์ 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 หากต้องการขอโควต้าเพิ่ม ให้กรอกแบบฟอร์มนี้