การทำ Deep Link ในแอปบนอุปกรณ์เคลื่อนที่ช่วยให้ผู้ใช้ไปยังเนื้อหาภายในแอปได้โดยตรง หากไม่มีการทำ Deep Link หากคุณแชร์เสื้อที่พบในแอปร้านค้าปลีกกับเพื่อน ลิงก์ที่คุณส่งให้เพื่อนอาจนำพวกเขาไปยังเบราว์เซอร์ หรือพาไปยัง Play Store ซึ่งผู้ใช้ต้องติดตั้งหรือเปิดแอป แล้วค้นหาเนื้อหา ทั้งสองสถานการณ์นี้ไม่ใช่ประสบการณ์การใช้งานที่ยอดเยี่ยม เมื่อใช้ Deep Link ลิงก์จะพาเพื่อนไปยังเสื้อที่คุณพบในแอปค้าปลีก
ในเอกสารนี้ คุณจะได้เรียนรู้วิธีใช้ Deep Link เพื่อสร้างประสบการณ์การใช้งานที่สมบูรณ์และน่าสนใจสําหรับผู้ใช้ RBM
นําผู้ใช้ RBM ไปยังแอป
Deep Link เป็นเพียงลิงก์ที่นำไปยังแอป ตัวแทน RBM ของคุณสามารถเปิดแอปที่ติดตั้งในโทรศัพท์ของผู้อื่นได้โดยใช้ OpenUrlAction โดย URL คือ Deep Link ที่กำหนดค่าไว้สำหรับแอปที่คุณต้องการเรียกใช้ อ่านเพิ่มเติมได้ที่สร้าง Deep Link สำหรับเนื้อหาในแอป
โปรดดูตัวอย่างต่อไปนี้ หากต้องการเปิดพอดแคสต์ Google Cloud ภายในแอป Google Podcasts ให้สร้าง OpenUrlAction ด้วย URI ต่อไปนี้
https://www.google.com/podcasts?feed=aHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL0dvb2dsZUNsb3VkUGxhdGZvcm1Qb2RjYXN0
ผลิตภัณฑ์ Google จำนวนมากมีการกำหนดค่าให้รองรับ Deep Link ที่ใช้เป็น URL ของเว็บได้ด้วยเช่นกัน ซึ่งรวมถึง YouTube และ Google Maps
หากต้องการทริกเกอร์แอปเหล่านี้จากตัวแทน เราต้องระบุค่านี้เป็น URL ใน OpenUrlAction ในตัวอย่าง JSON ต่อไปนี้ มีการระบุการ์ดริชมีเดีย RBM ด้วยการดำเนินการเปิด URL 3 รายการ โดยแต่ละรายการจะทำการ Deep Link ไปยังแอปอื่น
{
"contentMessage":{
"richCard":{
"standaloneCard":{
"cardOrientation":"VERTICAL",
"cardContent":{
"title":"Did you know that you can open apps from an RBM agent?",
"description":"",
"suggestions":[
{
"action":{
"text":"Google Cloud Podcast",
"postbackData":"podcast_tap",
"openUrlAction":{
"url":"https://www.google.com/podcasts?feed=aHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL1JvYkNlc3Rlcm5pbm8&nord=0"
}
}
},
{
"action":{
"text":"YouTube Video",
"postbackData":"youtube_tap",
"openUrlAction":{
"url":"https://www.youtube.com/embed/xSE9Qk9wkig"
}
}
},
{
"action":{
"text":"Google Maps",
"postbackData":"maps_tap",
"openUrlAction":{
"url":"https://goo.gl/maps/ToMSdr4PYX62"
}
}
}
]
}
}
}
}
}
เมื่อเพย์โหลด JSON นี้แสดงผลภายในไคลเอ็นต์ RCS ของผู้ใช้ ไอคอนของการดำเนินการที่แนะนำจะตรงกับแอปที่ทำ Deep Link การแตะการดำเนินการที่แนะนำจะเป็นการเปิดแอปที่เกี่ยวข้องไปยังเนื้อหาที่เข้ารหัสใน URL โดยตรง
เหตุผลที่ควรใช้
คุณอาจต้องการใช้ Deep Link ไปยังแอปด้วยเหตุผลหลายประการ
การตรวจสอบสิทธิ์
หากตัวแทนของคุณจัดการกับข้อมูลที่อาจมีความละเอียดอ่อน วิธีหนึ่งที่จะช่วยรักษาความปลอดภัยให้ตัวแทนของคุณคือการทำ Deep Link ไปยังแอปของคุณเพื่อช่วยตรวจสอบสิทธิ์ผู้ใช้โดยใช้ลายนิ้วมือ การเข้าสู่ระบบ หรือวิธีอื่นๆ เมื่อผู้ใช้ยืนยันตัวตนสําเร็จแล้ว คุณสามารถติดตามการยืนยันตัวตนฝั่งเซิร์ฟเวอร์และนําผู้ใช้กลับไปยังตัวแทนได้โดยเรียกใช้ข้อความ RBM ใหม่ หากส่งข้อความติดตามผลที่อาจมีความละเอียดอ่อน คุณสามารถตรวจสอบฝั่งเซิร์ฟเวอร์เพื่อให้แน่ใจว่าผู้ใช้ได้รับการตรวจสอบสิทธิ์แล้ว หากไม่ คุณสามารถส่งผู้ใช้กลับไปที่แอปเพื่อต่ออายุโทเค็นการตรวจสอบสิทธิ์
การสนับสนุนกรณีการใช้งานที่ซับซ้อน
ตัวแทน RBM เหมาะสําหรับการโต้ตอบแบบการสนทนา แต่แอปจะเหมาะกับบางกรณีการใช้งานมากกว่า ตัวอย่างเช่น หากคุณมีบริษัทเฟอร์นิเจอร์และได้สร้างประสบการณ์การใช้งาน Augmented Reality เพื่อให้ผู้ใช้ลองใช้เฟอร์นิเจอร์ในบ้าน (ดูรูปภาพต่อไปนี้) กรณีการใช้งานของคุณจะรองรับได้เฉพาะในแอปเท่านั้น
ในกรณีเหล่านี้ คุณควรนําผู้ใช้ RBM ไปยังแอปเพื่อดําเนินการบางอย่าง แอปสามารถนำผู้ใช้กลับมาที่การสนทนา RBM ได้เสมอโดยทริกเกอร์ข้อความตัวแทนใหม่
อำนวยความสะดวกในการชําระเงิน
คุณรองรับการชำระเงินด้วยแอปของบุคคลที่สามได้โดยใช้ Deep Link
ตัวอย่างเช่น สมมติว่าคุณต้องการรองรับการโอนเงินผ่านบริษัทการชำระเงินสมมติชื่อ AcmePay จากการตรวจสอบทางออนไลน์ คุณพบว่า AcmePay รองรับ Deep Link โดยใช้โครงสร้าง URI ที่ไม่ซ้ำกันของตนเอง ซึ่งช่วยให้คุณส่งค่าสำหรับผู้รับ จํานวนเงิน และหมายเหตุได้โดยใช้พารามิเตอร์สตริงการค้นหา
เมื่อมีความรู้นี้ ตัวแทนของคุณจะต้องสร้าง OpenUrlAction ที่มี URI ของ AcmePay ที่ทำเป็นพารามิเตอร์ที่ระบุไว้ให้กับส่วน URL ของการดำเนินการที่แนะนำ
acmepay://paycharge?recipients=Jane+Smith&amount=10¬e=Money+For+You!
เมื่อผู้รับข้อความ RBM แตะการดําเนินการที่แนะนํา แอป AcmePay จะเปิดขึ้นโดยตรงในหน้าจอธุรกรรมโดยกรอกค่าที่ส่งเข้ามาแล้ว
จะเกิดอะไรขึ้นหากไม่ได้ติดตั้งแอป
หากไม่ได้ติดตั้งแอปในอุปกรณ์ของผู้ใช้ ลักษณะการทำงานของการทำ Deep Link จะขึ้นอยู่กับโครงสร้างของ URI ที่ส่งไปยัง OpenUrlAction หากแอปในอุปกรณ์อย่างน้อย 1 แอปรู้จัก URI ได้ (เช่น Chrome รู้จัก URL ที่ขึ้นต้นด้วย "http://") การดำเนินการที่แนะนำจะแสดงตามปกติในแอปดังกล่าว เมื่อผู้ใช้แตะการดำเนินการ URI จะเปิดขึ้นในแอปใดก็ตามที่รู้จักโครงสร้าง URI
หากคุณเป็นนักพัฒนาแอป ข้อดีของ Deep Link ที่มี URI ขึ้นต้นด้วย "http://" และชี้ไปยังโดเมนที่คุณเป็นเจ้าของ เนื่องจาก Chrome สามารถนำผู้ใช้ไปยังหน้าเว็บเป็นการดำเนินการสำรองได้ ในหน้าเว็บ คุณสามารถแนะนำให้ผู้ใช้ดาวน์โหลดแอป หรือนำทางผู้ใช้ตามความเหมาะสมกับกรณีการใช้งานของคุณ
ในสถานการณ์ที่ URI ใช้โครงสร้างที่กำหนดเองซึ่งแอปในอุปกรณ์ไม่รู้จัก การดำเนินการที่แนะนำจะไม่แสดงในข้อความ RBM
หากต้องการให้การดำเนินการที่แนะนำปรากฏขึ้นเสมอ คุณสามารถใช้ URL ที่คุณเป็นเจ้าของและทำให้หน้าเว็บพยายามเปลี่ยนเส้นทางเบราว์เซอร์ไปยัง URI ที่กำหนดเองซึ่งเปิดแอป หากแอปอยู่ในอุปกรณ์ แอปจะเปิดขึ้นตามที่คาดไว้ หากไม่ ผู้ใช้จะยังคงอยู่ในหน้าเว็บ ซึ่งคุณสามารถนําผู้ใช้ไปยังส่วนต่างๆ ตามต้องการสำหรับกรณีการใช้งาน
ต่อไปนี้เป็นตัวอย่างวิธีดำเนินการนี้ด้วย JavaScript สคริปต์จะพยายามเปลี่ยนเส้นทางผู้ใช้ไปยังแอป AcmePay แต่หากไม่ได้ติดตั้งแอปดังกล่าว สคริปต์จะเปลี่ยนเส้นทางผู้ใช้ไปยัง Google Play Store เพื่อดาวน์โหลดแอป
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0, maximum-scale=1.0" />
<title>Acme Pay</title>
<script type="text/javascript">
window.onload = function() {
// Launch Acme Pay app for existing users
window.location = 'acmepay://paycharge?recipients=Jane+Smith&amount=10¬e=Money+For+You!';
// Redirect to Acme Pay app download for new users
setTimeout("window.location = 'https://play.google.com/store/apps/details?id=com.acmepay.android';", 1000);
}
</script>
</head>
<body>
<h1>Redirecting…</h1>
</body>
</html>
สรุป
คุณสามารถใช้การดําเนินการที่แนะนําของ OpenUrlAction เพื่อทํา Deep Link ไปยังแอปที่คุณเป็นเจ้าของหรือแอปที่ต้องการทริกเกอร์เพื่อช่วยดึงดูดผู้ใช้ การทำ Deep Link ช่วยให้คุณมอบประสบการณ์การใช้งานที่สมบูรณ์และน่าสนใจให้แก่ผู้ใช้ หรือเพิ่มความปลอดภัยในการแชร์เนื้อหาที่มีความละเอียดอ่อนได้
ขอให้โชคดีและสนุกกับการเขียนโค้ด