คุณสร้างลิงก์แบบไดนามิกแบบสั้นได้ด้วย REST API ของลิงก์แบบไดนามิกของ Firebase API นี้ยอมรับลิงก์แบบไดนามิกแบบยาวหรือออบเจ็กต์ที่มีพารามิเตอร์ลิงก์แบบไดนามิก และแสดงผล URL เหมือนตัวอย่างต่อไปนี้
https://example.page.link/WXYZ
ลิงก์แบบไดนามิกแบบสั้นที่สร้างด้วย API และ SDK ของไคลเอ็นต์ (Android/Apple) จะไม่แสดงในคอนโซล Firebase ลิงก์แบบไดนามิกดังกล่าวมีไว้เพื่อการแชร์ระหว่างผู้ใช้ สำหรับกรณีการใช้งานทางการตลาด ให้สร้างลิงก์โดยตรงผ่านหน้าลิงก์แบบไดนามิกของคอนโซล Firebase
ก่อนเริ่มต้น
- รับคีย์ API คุณจะต้องใช้คีย์ API เพื่อตรวจสอบสิทธิ์คำขอที่ส่งไปยัง API วิธีค้นหาคีย์ API
- เปิดหน้าการตั้งค่าของคอนโซล Firebase หากระบบแจ้งให้เลือกโปรเจ็กต์ ให้เลือกโปรเจ็กต์ Firebase จากเมนู
- จดบันทึกค่าของช่องคีย์ API ของเว็บ
- ในคอนโซล Firebase ให้เปิดส่วนลิงก์แบบไดนามิก
-
หากยังไม่ได้ยอมรับข้อกำหนดในการให้บริการและตั้งค่าโดเมนสำหรับลิงก์แบบไดนามิก ให้ดำเนินการเมื่อได้รับข้อความแจ้ง
หากคุณมีโดเมนลิงก์แบบไดนามิกอยู่แล้ว โปรดสังเกตข้อมูลนี้ คุณต้องระบุโดเมนลิงก์แบบไดนามิกเมื่อสร้างลิงก์แบบไดนามิกแบบเป็นโปรแกรม
การสร้างลิงก์แบบไดนามิกแบบสั้น
สร้างลิงก์แบบสั้นจากลิงก์แบบยาว
คุณใช้ 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 ถูกต้อง
อย่างน้อยที่สุด ค่า Deep Link ที่ระบุต้องขึ้นต้นด้วยรูปแบบ http:// หรือ https:// และต้องตรงกับรายการรูปแบบ URL ที่อนุญาตพิเศษที่ป้อนในคอนโซลด้วย ไม่เช่นนั้น API การสร้างจะล้มเหลวโดยมีรหัสข้อผิดพลาด HTTP 400
ขั้นตอนถัดไป
เมื่อสร้างลิงก์แบบไดนามิกแล้ว คุณจะต้องตั้งค่าแอปให้รับลิงก์แบบไดนามิกและส่งผู้ใช้ไปยังตำแหน่งที่ถูกต้องในแอปหลังจากที่ผู้ใช้เปิดลิงก์
หากต้องการรับลิงก์แบบไดนามิกในแอป โปรดดูเอกสารประกอบสำหรับ iOS, Android, C++ และ Unity
คำขอจำกัดไว้ที่ 5 คำขอ/ที่อยู่ IP/วินาที และ 200,000 คำขอ/วัน หากเกิน การตอบสนองจะแสดงรหัสข้อผิดพลาด HTTP 429 หากต้องการขอโควต้าเพิ่ม ให้กรอกแบบฟอร์มนี้