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

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

https://example.page.link/WXYZ

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

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

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

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

คุณสามารถใช้ Firebase Dynamic Links API เพื่อย่อลิงก์ไดนามิกขนาดยาวให้สั้นลงได้ ในการทำเช่นนั้น ให้ส่งคำขอ 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"
}

ดู สร้าง 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 หากต้องการขอโควต้าเพิ่มเติม โปรดกรอก แบบฟอร์ม นี้