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)

ความแตกต่างระหว่าง deeplink กับ public link





พัฒนาการของ link ยังคงมีภาคต่อ ซึ่งก็คือ...

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 



แต่ๆๆ..... หากคิดว่าขั้นตอนข้างบนก็ดูไม่ได้ยากอะไร แต่ก็ยังมีความง่ายกว่านั้นอยู่นะ นั่นก็คือ

Firebase Dynamic Links link

ด้วยสิ่งนี้จะทำให้ความยุ่งยากหมดไปเพียงแค่ไปจิ้มๆ บนเว็บเท่านั้น โดยสิ่งที่เราจะได้คือ
  • 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 หากใครยังชอบเครื่องมือลักษณะนี้ แนะนำกันเข้ามาได้นะครับ 


Facebook Comment

Recent Posts

Popular post of 7 days

[Java] รู้จัก OR-Mapping และ Hibernate เบื้องต้น

Portal คืออะไรกันนะ???

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง

Popular

Portal คืออะไรกันนะ???

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

เรื่องของ ++i กับ i++

[Java] Java Static Variable และ Static Method

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)

ความเร็วเน็ตที่แท้จริง Mbps MBps ???