ก่อน iOS 9 การนำทางระหว่างเว็บไซต์บนมือถือและแอพพลิเคชั่นของ iPhone นั้นเป็นประสบการณ์ที่คาดเดาไม่ได้และงุ่มง่าม นักพัฒนาอาศัยโปรโตคอล URI ที่กำหนดเอง เช่น instagram:// หรือ mybank:// รูปแบบเหล่านี้มักกระตุ้นให้ระบบแจ้งเตือนว่า "เปิดในแอป?" พังทลายลงอย่างสมบูรณ์หากแอปหายไป และได้รับความเดือดร้อนจากช่องโหว่ด้านความปลอดภัยที่ร้ายแรง เพื่อแก้ไขข้อบกพร่องพื้นฐานเหล่านี้ Apple ได้เปิดตัว Universal Links แต่ Universal Link คืออะไร และเหตุใดจึงเปลี่ยนสถาปัตยกรรมซอฟต์แวร์มือถือ
หัวใจหลักของ Universal Link คือ URL เว็บ HTTPS มาตรฐานที่ปลอดภัย ซึ่งกำหนดเส้นทางไปยังตัวควบคุมมุมมองเฉพาะภายในแอป iOS ที่ติดตั้งได้อย่างราบรื่น หากติดตั้งแอปแล้ว iOS จะเปิดแอปทันทีโดยไม่ต้องเปิด Safari หากแอพหายไป ระบบปฏิบัติการจะโหลดหน้าเว็บแบบตอบสนองใน Safari โดยไม่แสดงกล่องโต้ตอบแสดงข้อผิดพลาด ในการเจาะลึกทางเทคนิคนี้ เราจะตรวจสอบการทำงานภายในของ Apple Universal Links สำรวจไฟล์การกำหนดค่า AASA และอธิบายว่าทำไมการกำหนดเส้นทางมือถือสมัยใหม่จึงขึ้นอยู่กับโปรโตคอลนี้
การทำความเข้าใจ Universal Links เป็นสิ่งสำคัญสำหรับวิศวกร iOS หรือนักการตลาดดิจิทัลที่ต้องการมอบการเดินทางของลูกค้าที่ราบรื่นจากแคมเปญอีเมล แพลตฟอร์มโซเชียล และผลลัพธ์ของโปรแกรมค้นหา
Universal Link คืออะไร และเหตุใด Apple จึงสร้างมันขึ้นมา
เพื่อให้เข้าใจถึงวัตถุประสงค์ของ Universal Links เราต้องตรวจสอบข้อบกพร่องของโครงร่าง URL ที่กำหนดเองแบบเดิม แบบแผนแบบกำหนดเองไม่มีการลงทะเบียนส่วนกลาง นักพัฒนาซอฟต์แวร์คนใดก็ตามสามารถสร้างแอปที่อ้างสิทธิ์ในโครงการ paypal:// โดยสกัดกั้นพารามิเตอร์ทางการเงินที่ละเอียดอ่อนซึ่งมีไว้สำหรับบริการที่ถูกต้องตามกฎหมาย ดังที่ระบุไว้ในคำแนะนำของเราใน รูปแบบ URL บนมือถือ นอกจากนี้ หากผู้ใช้ที่ไม่มีแอปคลิกลิงก์รูปแบบที่กำหนดเองใน Safari iOS จะแสดงข้อผิดพลาดของระบบที่รุนแรง: "Safari ไม่สามารถเปิดหน้าได้เนื่องจากที่อยู่ไม่ถูกต้อง"
Apple ได้ออกแบบ Universal Links เพื่อสร้างมาตรฐานการปฏิบัติงานที่สำคัญสามประการ:
- ความเป็นเอกลักษณ์และความปลอดภัย: เนื่องจาก Universal Links ใช้โดเมนเว็บมาตรฐาน (เช่น
https://dslink.me/path) จึงไม่มีนักพัฒนารายอื่นสามารถอ้างสิทธิ์ลิงก์ของคุณได้ เว้นแต่พวกเขาจะควบคุมบันทึก DNS และใบรับรอง SSL ที่ได้รับการยืนยันของคุณ - ทางเลือกสำรองที่ไม่สะดุด: หากผู้ใช้ iPhone ไม่ได้ติดตั้งแอปของคุณ URL เดียวกันนี้จะเปิดเว็บไซต์บนมือถือของคุณใน Safari โดยอัตโนมัติ ไม่มีลิงก์เสียและไม่มีข้อผิดพลาด
- ข้อมูลประจำตัวเดียว: นักการตลาดและนักพัฒนาจำเป็นต้องแชร์ URL เดียวที่ให้บริการทั้งผู้เยี่ยมชมเว็บบนคอมพิวเตอร์เดสก์ท็อปและผู้ใช้แอปเนทีฟบนอุปกรณ์เคลื่อนที่
การออกแบบนี้ยังแก้ไขปัญหาที่ลิงก์เปิดใน Safari แทนที่จะเป็นแอป เนื่องจากแฮนด์ออฟโปรโตคอลใช้งานไม่ได้
สถาปัตยกรรมของ Apple App Site Association (AASA)
รากฐานการดำเนินงานของ Universal Links คือการจับมือกันอย่างปลอดภัยระหว่างระบบปฏิบัติการของ Apple และเว็บเซิร์ฟเวอร์ของคุณ การจับมือกันนี้ดำเนินการโดยไฟล์ Apple App Site Association (AASA) ซึ่งเป็นเอกสาร JSON ที่โฮสต์อยู่ที่:
https://yourdomain.com/.well-known/apple-app-site-association
ไฟล์นี้กำหนดว่ารหัสแอปพลิเคชันใดที่ได้รับอนุญาตให้จัดการเส้นทาง URL เฉพาะบนโดเมนของคุณ นี่คือตัวอย่างการจัดรูปแบบ AASA JSON สมัยใหม่:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID1234.com.example.myapp",
"paths": ["/video/*", "/product/*", "/user/*"],
"components": [
{
"/": "/video/*",
"comment": "Matches all video detail pages"
}
]
}
]
}
}
กฎการโฮสต์ทางเทคนิคที่สำคัญใช้กับไฟล์ AASA:
- จะต้องให้บริการผ่าน HTTPS ด้วยใบรับรอง SSL ที่เชื่อถือได้
- โดยจะต้องส่งคืน
Content-Typeเป็นapplication/json - ต้องส่งคืนรหัสสถานะ HTTP 200 OK โดยไม่มีการเปลี่ยนเส้นทาง HTTP เป็น HTTPS
- Apple แคชไฟล์นี้ไว้ใน Content Delivery Network (CDN) การเปลี่ยนแปลงที่ทำกับเซิร์ฟเวอร์ของคุณอาจใช้เวลาสักครู่เพื่อเผยแพร่ไปยังอุปกรณ์ iOS ทั้งหมด
สร้างลิงก์ในรายละเอียดอัจฉริยะในไม่กี่วินาที
หยุดการสูญเสียผู้เยี่ยมชมมือถือไปยังหน้าจอเข้าสู่ระบบเบราว์เซอร์ในแอปที่เงอะงะ ใช้ DSLink เพื่อสร้างลิงก์ในรายละเอียดที่เปิดแอปได้ชัดเจนพร้อมการวิเคราะห์แบบเรียลไทม์
Open Universal Links vs schemes guideUniversal Links กับโครงร่าง URL ที่กำหนดเอง
การทำความเข้าใจความแตกต่างทางสถาปัตยกรรมระหว่าง Universal Links และรูปแบบที่กำหนดเองช่วยให้นักพัฒนาสามารถออกแบบระบบการกำหนดเส้นทางข้ามแพลตฟอร์มที่มีความยืดหยุ่น ตามที่สำรวจในการเปรียบเทียบ Universal Links กับรูปแบบ URL ของเรา:
| คุณสมบัติ | ลิงก์สากลของ Apple | แบบแผน URI ที่กำหนดเอง |
|---|---|---|
| รูปแบบ URL | HTTPS มาตรฐาน (https://brand.com) |
โปรโตคอลที่เป็นกรรมสิทธิ์ (brand://) |
| ความปลอดภัย & ความเป็นเจ้าของ | ตรวจสอบผ่าน DNS และ AASA JSON | ไม่ได้รับการยืนยัน; มีแนวโน้มที่จะถูกขโมยแผน |
| การจัดการกรณีสำรอง | โหลดเว็บไซต์ใน Safari อย่างสวยงาม | แสดงข้อผิดพลาด "Safari ไม่สามารถเปิดเพจได้" |
| พฤติกรรมที่ทันท่วงที | เปิดแอปทันทีโดยไม่มีการแจ้ง | มักจะทริกเกอร์ "เปิดในแอป?" กล่องโต้ตอบของระบบ |
| การสนับสนุนเบราว์เซอร์ในแอป | มักถูกจำกัดโดยมุมมองเว็บโซเชียล | สามารถทริกเกอร์ผ่านการเปลี่ยนเส้นทาง JavaScript |
แม้ว่า Universal Links จะเหนือกว่าในเรื่องความปลอดภัยและประสบการณ์ผู้ใช้ แต่รูปแบบที่กำหนดเองยังคงได้รับการดูแลบ่อยครั้งเป็นทางเลือกสำรองเมื่อต้องรับมือกับเบราว์เซอร์ในแอปโซเชียลมีเดียที่ดื้อรั้น ตามรายละเอียดในคำแนะนำของเราเกี่ยวกับการนำทางในเบราว์เซอร์ในแอป
iOS ประมวลผล Universal Links ขณะรันไทม์อย่างไร
เมื่อผู้ใช้ iPhone แตะลิงก์ใน Apple Mail, Messages หรือแอพของบริษัทอื่น iOS จะดำเนินการขั้นตอนการตัดสินใจที่แม่นยำ:
- การค้นหาฐานข้อมูลท้องถิ่น: iOS ตรวจสอบฐานข้อมูลท้องถิ่นที่จัดทำดัชนีของโดเมนที่ยืนยันแล้วซึ่งจัดเก็บไว้ระหว่างการติดตั้งแอป
- การประเมินเส้นทาง: หากโดเมนตรงกัน iOS จะประเมินว่าเส้นทาง URL ตรงกับรูปแบบที่กำหนดไว้ในเอกสาร AASA หรือไม่
- การตรวจสอบการตั้งค่าผู้ใช้: iOS ตรวจสอบว่าผู้ใช้ได้สลับการตั้งค่า Safari ก่อนหน้านี้หรือไม่ โดยแตะปุ่ม breadcrumb โดเมนด้านขวาบน
- แฮนด์ออฟแบบเนทีฟ: หากการตรวจสอบทั้งหมดผ่าน iOS จะเปิดแอปแบบเนทีฟและส่งอ็อบเจ็กต์
NSUserActivityที่มี URL ที่คลิกไปยังตัวแทนแอปพลิเคชันหรือตัวจัดการวงจรการใช้งาน SwiftUI - ทางเลือกสำรองของ Safari: หากแอปหายไป เส้นทางไม่ตรงกัน หรือโดเมนไม่ได้รับการยืนยัน iOS จะเปิด Safari และดึงข้อมูลหน้าเว็บตามปกติ
นักพัฒนาซอฟต์แวร์สามารถทดสอบการเปลี่ยนเส้นทางเหล่านี้ได้โดยใช้เครื่องมือตรวจสอบลิงก์แบบโต้ตอบของเรา เพื่อตรวจสอบรหัสตอบกลับและการแมปโดเมน
แนวทางปฏิบัติที่ดีที่สุดในการนำ Universal Links ไปใช้
เพื่อให้มั่นใจถึงการกำหนดเส้นทาง Universal Link ที่ไร้ที่ติในแคมเปญการตลาดและโครงสร้างพื้นฐานของนักพัฒนาของคุณ ให้ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดที่ผ่านการทดสอบการต่อสู้เหล่านี้:
- อย่ารวม Universal Links ในการเปลี่ยนเส้นทางมาตรฐาน: หากลิงก์ผ่านการเปลี่ยนเส้นทาง 301/302 ทั่วไปบนโดเมนที่ไม่เชื่อมโยง iOS จะตัดการเชื่อมต่อและกำหนดเส้นทางการคลิกไปยัง Safari เรียนรู้เพิ่มเติมในคำแนะนำเกี่ยวกับลิงก์ในรายละเอียดเทียบกับตัวย่อ
- บัญชีสำหรับเบราว์เซอร์โซเชียลในแอป: แอป เช่น Instagram, TikTok และ Facebook จับการคลิกภายใน Webview แบบแซนด์บ็อกซ์ ใช้ลิงก์ในรายละเอียดอัจฉริยะที่ขับเคลื่อนโดย DSLink ที่ตรวจจับ webview และทริกเกอร์การจับมือกันเพื่อหลบหนี
- สนับสนุนเส้นทางเนื้อหาสากล: ตรวจสอบให้แน่ใจว่าแอปบนมือถือและเว็บเซิร์ฟเวอร์ของคุณใช้เส้นทางการกำหนดเส้นทาง URL ที่สอดคล้องกัน (เช่น เส้นทาง
/item/123ไปยังผลิตภัณฑ์เดียวกันบนเว็บและแอป) - ตรวจสอบความถูกต้องของไวยากรณ์ AASA อย่างต่อเนื่อง: ใช้เครื่องมือตรวจสอบ App Search API ของ Apple เพื่อตรวจสอบว่าไฟล์ AASA ของคุณยังคงใช้งานได้ ไม่เสียหาย และมีรูปแบบที่ถูกต้องหลังจากการปรับใช้เซิร์ฟเวอร์ทุกครั้ง
ด้วยการเรียนรู้ Apple Universal Links และจับคู่กับการกำหนดเส้นทางอัจฉริยะหลายแพลตฟอร์ม คุณจะมอบประสบการณ์มือถือที่ราบรื่นซึ่งทำให้ผู้ใช้ของคุณดื่มด่ำกับซอฟต์แวร์เนทิฟของคุณ
คำถามที่พบบ่อย
Universal Link ใน iOS คืออะไร
Universal Link คือที่อยู่เว็บ HTTPS มาตรฐานที่ Apple iOS รับรู้ว่าเชื่อมโยงกับแอพที่ติดตั้ง ทำให้ระบบปฏิบัติการสามารถเปิดแอพเนทีฟได้โดยตรงแทนที่จะโหลด Safari
Apple จะตรวจสอบได้อย่างไรว่าแอพเป็นเจ้าของโดเมน
Apple ตรวจสอบความเป็นเจ้าของผ่านไฟล์ JSON ของ apple-app-site-association (AASA) ที่โฮสต์บนโดเมนเว็บ iOS ดาวน์โหลดไฟล์นี้เมื่อติดตั้งแอปเพื่อตรวจสอบรหัสแอปและเส้นทางที่ตรงกัน
จะเกิดอะไรขึ้นหากผู้ใช้คลิก Universal Link แต่ไม่ได้ติดตั้งแอปไว้
หากไม่ได้ติดตั้งแอพ iOS จะโหลดหน้าเว็บปลายทางใน Safari ได้อย่างราบรื่นโดยไม่แสดงข้อความแจ้งข้อผิดพลาด กล่องโต้ตอบคำเตือน หรือหน้าจอที่เสียหาย
Universal Links สามารถใช้กับอุปกรณ์ Android ได้หรือไม่
ไม่ Universal Links เป็นมาตรฐาน iOS และ iPadOS เฉพาะของ Apple Android ใช้เทคโนโลยีเทียบเท่าที่เรียกว่า Android App Links ซึ่งอาศัยการยืนยัน Digital Asset Links