Deeplink, Universal Links คืออะไร ทำงานร่วมกับ Mobile App ได้ยังไง
โครงสร้างของ links
Link
ที่เรากำลังพูดถึงก็คงจะไม่แปลกตาเท่าไร ซึ่งหลายคนคงเข้าใจดีว่าถ้าเราเปิด link ก็จะสามารถเข้าสู่ website ใดๆ ทันที เมื่อ mobile app ได้รับความนิยมมากขึ้นการเปิดแอปฯ ด้วย link เพียงตัวเดียวก็คงจะสะดวกไม่น้อย จึงเกิดสิ่งที่เรียกว่า Deeplink ขึ้นมา
Deeplink
เป็นการ custom URL Scheme ซึ่งในยุคนึงมันเคยมีหน้าที่เฉพาะระบุ protocol ตัวอย่างเช่น https:// smtp:// ftp:// ssh:// เป็นต้น แต่ในปัจจุบันมีการยกระดับให้ high-level มากขึ้น นักพัฒนาสามารถกำหนดเอง บน mobile app. นักพัฒนาสามารถกำหนด deeplink ได้เอง เช่น myapp:// เมื่อ user กด link นี้จากที่ไหนก็ตามบนมือถือ ก็จะเด้งไปเปิดแอปฯ ได้ทันที
![]() |
กรณีที่มีหลายแอปฯ register deeplink เหมือนกันติดตั้งอยู่ |
ข้อเสียของ deeplink
- มีโอกาสซ้ำ
- ใช้ได้เฉพาะแอปฯ มือถือ
- ต้องมีแอปฯ ก่อน - แอปฯ ที่ใช้ deeplink ต้องอยู่บนเครื่องเท่านั้น
- ไม่ปลอดภัย - ใครก็เรียกแอปเราได้ ถ้ารู้ deeplink
- Share ไม่ได้ - มันจะเหมือนการ share text ธรรมดา (ไม่มี preview)
Universal Link
Universal Links หรือ App Links รองรับการใช้งานได้ทุก platform ซึ่งถ้าจะพูดให้เข้าใจง่ายๆ ก็คือ link เดียวกัน จะเรียกใช้ที่ไหนก็ควรไร้รอยต่อ และนอกจากการเรียกใช้งานก็มีการพัฒนาด้านความปลอดภัยมาด้วย เพื่อทำให้จะมีแต่ URL ของเราเท่านั้นที่เรียกแอปฯ ของเราได้
- ฝั่งแอปฯ - ระบุ URL
จะต้องระบุ URL ที่จะเรียกเข้ามาที่แอปฯ - ฝั่งเซิร์ฟเวอร์ - ระบุแอปฯ
เพิ่มข้อมูลใน /.well-known/ เพื่อระบุไปยังแอปฯ ของเราเท่านั้น
ตัวอย่างไฟล์สำหรับวางที่ /.well-known/
ซึ่ง well-known URI ก็ไม่ใช่มาตรฐานใหม่อะไร เพียงแต่มี config สำหรับ iOS, Android เพิ่มเติมขึ้นมาในปัจจุบัน https://en.wikipedia.org/wiki/Well-known_URI
ส่วนฝั่ง App นั้นก็เพียงแค่ระบุ URL เข้าไปใน project - iOS - Associated Domains
https://developer.apple.com/documentation/xcode/supporting-associated-domains
- Android - AppLinks
https://developer.android.com/studio/write/app-link-indexing#intent
แต่ๆๆ..... หากคิดว่าขั้นตอนข้างบนก็ดูไม่ได้ยากอะไร แต่ก็ยังมีความง่ายกว่านั้นอยู่นะ นั่นก็คือ
Firebase Dynamic Links
ด้วยสิ่งนี้จะทำให้ความยุ่งยากหมดไปเพียงแค่ไปจิ้มๆ บนเว็บเท่านั้น โดยสิ่งที่เราจะได้คือ
- Universal links ที่เป็น subdomain ของ Firebase
- หากมีแอปฯ iOS จะมีการสร้างไฟล์ /.well-known/apple-app-site-association โดยอัตโนมัติ
- หากมีแอปฯ Android จะมีการสร้างไฟล์ /.well-known/assetlinks.json โดยอัตโนมัติ
นอกจากนี้ Firebase Dynamic Links มีของเพิ่มเติมคือ เราสามารถกำหนดให้ link พาไปยัง AppStore / PlayStore เพื่อให้ผู้ใช้งานโหลดแอปฯ ได้ กรณีที่ยังไม่ได้ติดตั้งแอปฯ บนเครื่อง
แต่ข่าวร้ายก็คือ 👿 เป็นที่น่าเสียดายมากๆ Firebase Dynamic Links จะปิดให้บริการในวันที่ 25 สิงหาคม 2025 Deprecation FAQ หากใครยังชอบเครื่องมือลักษณะนี้ แนะนำกันเข้ามาได้นะครับ