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

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

https://example.page.link/WXYZ

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

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

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

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

คุณใช้ Firebase Dynamic Links API เพื่อย่อ Dynamic Link ที่ยาวได้ โดยส่งคำขอ HTTP POST ไปยังปลายทาง shortLinks โดยระบุ Dynamic Link แบบยาวในพารามิเตอร์ 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"
}

ดูวิธีสร้าง Dynamic Links แบบยาวได้ที่หัวข้อสร้าง URL ด้วยตนเอง

นอกจากนี้ คุณยังสร้าง Dynamic Link แบบสั้นได้โดยระบุพารามิเตอร์ Dynamic Link โดยตรง โดยส่งคำขอ 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

กำหนดความยาวของ Shorts Dynamic Link

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

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

https://example.page.link/UVWXYZuvwxyz12345

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

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

https://example.page.link/WXYZ

ใช้วิธีนี้หากข้อมูลที่ละเอียดอ่อนจะไม่ถูกเปิดเผยในกรณีที่มีการคาดเดา Dynamic Link 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

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

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

หากต้องการรับ Dynamic Links ในแอป โปรดดูเอกสารประกอบสำหรับ iOS, Android, C++ และ Unity

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