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 ซึ่งถ้าจะพูดให้เข้าใจง่ายๆ ก็คือ ลิ้งเดียวกัน จะเรียกใช้ที่ไหนก็ควรไร้รอยต่อ 

  • ลิ้งเดียวกัน 🖥️ เปิดบน web browser ก็ต้องเปิดเว็บได้
  • ลิ้งเดียวกัน 📲 เปิดบนมือถือ iOS 
    • ถ้ามีแอปฯ อยู่แล้ว จะเปิดแอปฯ ขึ้นมาเลย
    • ถ้าไม่มีแอปฯ​ จะเปิด web browser ⚠️
  • ลิ้งเดียวกัน 📲 เปิดบนมือถือ Android 
    • ถ้ามีแอปฯ อยู่แล้ว จะเปิดแอปฯ ขึ้นมาเลย
    • ถ้าไม่มีแอปฯ​ จะเปิด web browser ⚠️

และนอกจากการเรียกใช้งานก็มีการพัฒนาด้านความปลอดภัยมาด้วย เพื่อทำให้จะมีแต่ URL ของเราเท่านั้นที่เรียกแอปฯ ของเราได้

ตัวอย่างไฟล์สำหรับวางที่ /.well-known/


ซึ่ง well-known URI ก็ไม่ใช่มาตรฐานใหม่อะไร เพียงแต่มี config สำหรับ iOS, Android เพิ่มเติมขึ้นมาในปัจจุบัน https://en.wikipedia.org/wiki/Well-known_URI


⚠️ ต่อจากที่โอ๊ะไว้ข้างต้น จริงๆ แล้ว บางครั้งเราอยากให้มันไป store เลยซะมากกว่า ซึ่งจะต้องมีการ handle บนหน้าเว็บนั้นๆเองครับ เช่น
  1. ใช้ CSS แสดงผลปุ่มให้ user เปิด url PlayStore / AppStore ซึ่งเค้ารองรับ Universal Links อยู่แล้ว
  2. ใช้ JS ในการทำ auto redirect ไปเลย 



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


Firebase Dynamic Links link


ด้วยสิ่งนี้จะทำให้ความยุ่งยากหมดไปเพียงแค่ไปจิ้มๆ บนเว็บเท่านั้น โดยสิ่งที่เราจะได้คือ
  • Free Domain ที่เราจะใช้เป็น Universal links โดยจะได้เป็น subdomain ของ *.page.link 
  • /.well-known/apple-app-site-association จะมีการสร้างไฟล์โดยอัตโนมัติ
  • /.well-known/assetlinks.json จะมีการสร้างโดยอัตโนมัติ


และเรายังสามารถกำหนดให้ link พาไปยัง AppStore / PlayStore เพื่อให้ผู้ใช้งานโหลดแอปฯ ได้ กรณีที่ยังไม่ได้ติดตั้งแอปฯ บนเครื่องได้ด้วย (ไม่ต้องโค้ดเอง)


Preview ดูเส้นทางของ Universal links ที่เรา config ได้ด้วยนะ


ข่าวร้าย 👿👿👿 เป็นที่น่าเสียดายมากๆ Firebase Dynamic Links จะปิดให้บริการในวันที่ 25 สิงหาคม 2025  Deprecation FAQ หากใครยังชอบเครื่องมือลักษณะนี้ แนะนำกันเข้ามาได้นะครับ 


Facebook Comment

Recent Posts

Popular post of 7 days

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

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

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

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

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

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

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

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

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

[Java] Java Static Variable และ Static Method

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

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

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