วิธีทํา Deep Link ไปยังแอปจากตัวแทน RBM

ในแอปบนอุปกรณ์เคลื่อนที่ การทํา Deep Link จะช่วยให้ผู้ใช้ไปยังเนื้อหาภายในแอปได้โดยตรง หากไม่มีการทํา Deep Link หากคุณแชร์เสื้อที่คุณพบในแอปร้านค้าปลีกกับเพื่อน ลิงก์ที่คุณส่งก็จะพาพวกเขาไปยังเบราว์เซอร์ หรือพาพวกเขาไปยัง Play Store ได้ ซึ่งพวกเขาจะต้องติดตั้งหรือเปิดแอปแล้วค้นหาเนื้อหา ทุกกรณีไม่ใช่ประสบการณ์ที่ยอดเยี่ยมของผู้ใช้ เมื่อใช้การทํา Deep Link ลิงก์จะนําเพื่อนไปยังเสื้อเชิ้ตที่คุณพบในแอปค้าปลีก

บทความนี้จะอธิบายวิธีใช้ Deep Link เพื่อสร้างประสบการณ์การใช้งานที่สมบูรณ์และน่าสนใจสําหรับผู้ใช้ RBM

การให้ผู้ใช้ RBM เข้ามาในแอป

ลิงก์ในรายละเอียดเป็นเพียงลิงก์ในรายละเอียดของแอป ตัวแทน RBM ของคุณสามารถเปิดแอปที่ติดตั้งไว้ในโทรศัพท์ของผู้อื่นได้โดยใช้ OpenUrlAction ซึ่ง URL เป็น Deep Link ที่กําหนดค่าไว้สําหรับแอปที่คุณต้องการเรียกใช้ อ่านข้อมูลเพิ่มเติมได้ในสร้างลิงก์ในรายละเอียดไปยังเนื้อหาแอป

เรามาดูตัวอย่างกัน หากต้องการเปิดพอดแคสต์ Google Cloud ในแอป Google Podcast คุณสามารถสร้าง OpenUrlAction ด้วย URI ได้ดังนี้

https://www.google.com/podcasts?feed=aHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL0dvb2dsZUNsb3VkUGxhdGZvcm1Qb2RjYXN0

ผลิตภัณฑ์ Google จํานวนมากมีการกําหนดค่าเพื่อรองรับ Deep Link ที่ทํางานเป็น URL ของเว็บด้วย ซึ่งรวมถึง YouTube และ Google Maps

หากต้องการเรียกแอปเหล่านี้จากตัวแทน เราจะต้องระบุค่านี้เป็น URL ใน OpenUrlAction ในตัวอย่าง JSON ด้านล่าง การ์ดริชมีเดีย RBM จะระบุด้วยการดําเนินการ URL แบบเปิด 3 รายการ แต่ละลิงก์ในรายละเอียดเป็นแอปอื่น

{
    "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 โดยตรง

URL ที่แนะนําที่มีไอคอนแอป

ทําไมคุณจึงต้องการ

มีสาเหตุหลายประการที่คุณอาจต้องการทํา Deep Link ไปยังแอป

การตรวจสอบสิทธิ์

หากตัวแทนของคุณจัดการกับข้อมูลที่อาจมีความละเอียดอ่อน วิธีหนึ่งในการช่วยให้ตัวแทนของคุณปลอดภัยคือการทํา Deep Link เข้าไปในแอปเพื่อช่วยตรวจสอบสิทธิ์ผู้ใช้ผ่านลายนิ้วมือ การเข้าสู่ระบบ หรือวิธีอื่นๆ เมื่อผู้ใช้ตรวจสอบสิทธิ์สําเร็จแล้ว คุณจะติดตามฝั่งเซิร์ฟเวอร์การตรวจสอบสิทธิ์และนําผู้ใช้กลับไปยังตัวแทนได้โดยเรียกข้อความ RBM ใหม่ หากส่งข้อความติดตามผลที่อาจมีความละเอียดอ่อน คุณก็ตรวจสอบในฝั่งเซิร์ฟเวอร์ได้เพื่อให้แน่ใจว่าผู้ใช้ได้รับการตรวจสอบสิทธิ์แล้ว หากไม่ถูกต้อง คุณจะส่งผู้ใช้กลับไปที่แอปเพื่อต่ออายุโทเค็นการตรวจสอบสิทธิ์ได้

การสนับสนุนกรณีการใช้งานที่ซับซ้อน

ตัวแทน RBM เหมาะสําหรับการโต้ตอบในเชิงสนทนา แต่แอปสามารถรองรับกรณีการใช้งานบางอย่างได้ดียิ่งขึ้น ตัวอย่างเช่น หากคุณมีบริษัทเฟอร์นิเจอร์และสร้างประสบการณ์ Augmented Reality เพื่อให้ผู้ใช้ได้ลองใช้เฟอร์นิเจอร์ในบ้านของตน (ดูภาพด้านล่าง) คุณจะใช้แอปได้แค่ Use Case เท่านั้น

ในกรณีเช่นนี้ คุณควรนําผู้ใช้ RBM ไปยังแอปของคุณเพื่อดําเนินการฟังก์ชันบางอย่าง แอปจะพาผู้ใช้กลับมายังการสนทนา RBM ได้เสมอโดยการทริกเกอร์ข้อความ Agent ใหม่

Deep Link ในแอป แอปที่มีลิงก์ในรายละเอียด

อํานวยความสะดวกในการชําระเงิน

คุณรองรับการชําระเงินด้วยแอปของบุคคลที่สามที่มีลิงก์ในรายละเอียดได้

ตัวอย่างเช่น สมมติว่าคุณต้องการรองรับการโอนเงินผ่าน บริษัทสมมติที่ใช้การชําระเงิน AcmePay การตรวจสอบทางออนไลน์พบว่า AcmePay รองรับการทํา Deep Link โดยใช้โครงสร้าง URI ที่ไม่ซ้ํากันของตัวเองซึ่งช่วยให้คุณส่งค่าต่างๆ ของผู้รับ จํานวนเงิน และบันทึกผ่านพารามิเตอร์ querystring ได้

เมื่อมีความรู้นี้ ตัวแทนของคุณแค่ต้องสร้าง OpenUrlAction โดยใช้ URI ของ AcmePay ที่มีพารามิเตอร์ระบุไว้สําหรับส่วน URL ของการดําเนินการที่แนะนํา

acmepay://paycharge?recipients=Jane+Smith&amount=10&note=Money+For+You!

เมื่อผู้รับข้อความ RBM แตะที่การดําเนินการที่แนะนํา แอป AcmePay จะเปิดขึ้นในหน้าจอธุรกรรมโดยตรงพร้อมใส่ค่าที่ป้อนไว้แล้ว

สิ่งที่จะเกิดขึ้นหากไม่ได้ติดตั้งแอป

หากไม่ได้ติดตั้งแอปไว้ในอุปกรณ์ของผู้ใช้ ลักษณะการทํางานของการทํา Deep Link จะขึ้นอยู่กับโครงสร้าง URI ที่ส่งไปยัง OpenUrlAction หาก URI จดจําได้ในอุปกรณ์อย่างน้อย 1 แอปในอุปกรณ์ (เช่น 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&note=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>

สรุปและ TL;DR

คุณสามารถใช้การดําเนินการที่แนะนําของ OpenUrlAction เพื่อลิงก์ในรายละเอียดไปยังแอปที่คุณเป็นเจ้าของ หรือแอปที่คุณต้องการเรียกใช้เพื่อช่วยดึงดูดผู้ใช้ การทํา Deep Link ช่วยให้คุณมอบประสบการณ์ที่มีคุณค่าและน่าสนใจแก่ผู้ใช้หรือการรักษาความปลอดภัยที่ดียิ่งขึ้นสําหรับการแชร์เนื้อหาที่ละเอียดอ่อน

ขอให้สนุกและเขียนโค้ดให้สนุกนะ