Cách liên kết sâu đến ứng dụng từ nhân viên hỗ trợ RBM của bạn

Trong ứng dụng dành cho thiết bị di động, tính năng liên kết sâu cho phép người dùng truy cập trực tiếp vào nội dung trong ứng dụng. Nếu bạn không chia sẻ với người dùng áo sơ mi mà bạn đã tìm thấy trong ứng dụng cửa hàng bán lẻ, thì đường liên kết mà bạn gửi cho họ sẽ đưa họ đến với trình duyệt hoặc đưa họ đến Cửa hàng Play, nơi họ sẽ phải cài đặt hoặc mở ứng dụng, sau đó tìm kiếm nội dung. Không có trường hợp nào là trải nghiệm người dùng tuyệt vời. Với liên kết sâu, liên kết sẽ đưa bạn bè của bạn đến chiếc áo sơ mi chính xác mà bạn đã tìm thấy trong ứng dụng bán lẻ.

Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng đường liên kết sâu để tạo trải nghiệm phong phú và hấp dẫn cho người dùng RBM.

Đưa người dùng RBM vào một ứng dụng

Đường liên kết sâu chỉ là một đường liên kết đến ứng dụng. Tác nhân RBM của bạn có thể mở một ứng dụng được cài đặt trên điện thoại của người dùng bằng cách sử dụng OpenUrlAction trong đó URL là một đường liên kết sâu được định cấu hình cho ứng dụng mà bạn muốn gọi. Bạn có thể đọc thêm trong bài viết Tạo đường liên kết sâu đến nội dung trong ứng dụng.

Hãy xem một ví dụ cụ thể. Để mở podcast Google Cloud trong ứng dụng Google Podcast, bạn có thể tạo một OpenUrlAction bằng URI:

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

Nhiều sản phẩm của Google được định cấu hình để hỗ trợ các đường liên kết sâu cũng hoạt động dưới dạng URL web, bao gồm cả YouTube và Google Maps.

Để kích hoạt bất kỳ ứng dụng nào trong số này từ một tác nhân, chúng ta cần chỉ định giá trị này làm URL trong một OpenUrlAction. Trong JSON mẫu dưới đây, một thẻ thông tin chi tiết về RBM được chỉ định với 3 thao tác mở URL, mỗi hành động liên kết sâu với một ứng dụng khác nhau.

{
    "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"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}

Khi tải trọng JSON này kết xuất trong ứng dụng RCS của người dùng, biểu tượng của thao tác đề xuất sẽ khớp với ứng dụng được liên kết sâu. Thao tác nhấn vào một thao tác bất kỳ được đề xuất sẽ mở ứng dụng tương ứng trực tiếp với nội dung được mã hoá trong URL.

URL đề xuất có biểu tượng ứng dụng

Tại sao bạn muốn nhận email này?

Có nhiều lý do khiến bạn muốn liên kết sâu vào một ứng dụng.

Xác thực

Nếu tác nhân của bạn xử lý các thông tin có khả năng nhạy cảm, thì một cách để giúp bảo mật tác nhân là liên kết sâu vào ứng dụng để giúp xác thực người dùng thông qua vân tay số, thông tin đăng nhập hoặc một số phương thức khác. Sau khi người dùng xác thực thành công, bạn có thể theo dõi phía máy chủ xác thực và đưa người dùng quay lại tác nhân bằng cách kích hoạt một thông báo RBM mới. Nếu gửi bất kỳ thông báo tiếp theo nào có thể nhạy cảm, bạn có thể kiểm tra phía máy chủ để đảm bảo người dùng được xác thực. Nếu không, bạn có thể đưa họ trở lại ứng dụng để gia hạn mã xác thực.

Hỗ trợ trường hợp sử dụng phức tạp

Nhân viên hỗ trợ RBM rất phù hợp khi tương tác trò chuyện, nhưng ứng dụng có thể phục vụ tốt hơn một số trường hợp sử dụng. Ví dụ: nếu bạn có một công ty nội thất và đã tạo trải nghiệm thực tế tăng cường để người dùng có thể dùng thử đồ nội thất trong nhà mình (xem hình ảnh bên dưới), thì trường hợp sử dụng của bạn chỉ có thể được một ứng dụng hỗ trợ.

Trong những tình huống này, bạn nên hướng người dùng RBM đến ứng dụng của mình để thực hiện một số chức năng. Ứng dụng luôn có thể đưa người dùng quay lại cuộc trò chuyện RBM bằng cách kích hoạt một tin nhắn mới của nhân viên hỗ trợ.

Liên kết sâu vào ứng dụng Ứng dụng được liên kết sâu

Hỗ trợ thanh toán

Bạn có thể hỗ trợ thanh toán bằng ứng dụng bên thứ ba với liên kết sâu.

Ví dụ: giả sử bạn muốn hỗ trợ chuyển tiền thông qua công ty thanh toán AcmePay. Khi tìm hiểu trực tuyến, bạn nhận thấy AcmePay hỗ trợ đường liên kết sâu bằng cách sử dụng cấu trúc URI riêng cho phép bạn chuyển các giá trị cho người nhận, số tiền và ghi chú qua các tham số chuỗi truy vấn.

Được trang bị kiến thức này, tác nhân của bạn chỉ cần tạo một OpenUrlAction với URI AcmePay có thông số được chỉ định cho phần url của hành động được đề xuất.

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

Sau khi người nhận thông báo RBM nhấn vào hành động được đề xuất, ứng dụng AcmePay sẽ chạy trực tiếp vào màn hình giao dịch và điền sẵn các giá trị đã truyền.

Điều gì xảy ra nếu ứng dụng không được cài đặt?

Nếu một ứng dụng không được cài đặt trên thiết bị của người dùng, thì hành vi liên kết sâu phụ thuộc vào cấu trúc của URI được chuyển đến OpenUrlAction. Nếu ít nhất một ứng dụng có thể nhận ra URI trên thiết bị (ví dụ: Chrome nhận dạng URL bắt đầu bằng "http://"), thì thao tác đề xuất sẽ hiển thị như bình thường trong ứng dụng đó. Khi người dùng nhấn vào thao tác đó, URI sẽ mở trong bất kỳ ứng dụng nào nhận ra cấu trúc URI.

Nếu là nhà phát triển ứng dụng, bạn nên liên kết sâu với URI bắt đầu bằng "http://" và trỏ đến miền mà bạn sở hữu vì Chrome có thể đưa người dùng đến một trang web dưới dạng hành động dự phòng. Trên trang web, bạn có thể hướng người dùng tải ứng dụng xuống hoặc chuyển hướng họ cho đến khi bạn thấy phù hợp với trường hợp sử dụng của mình.

Trong trường hợp URI sử dụng cấu trúc tuỳ chỉnh mà không ứng dụng nào trên thiết bị nhận dạng được, thì thao tác đề xuất sẽ không hiển thị trong thông báo RBM.

Để đảm bảo các hành động đề xuất luôn xuất hiện, bạn có thể sử dụng URL mà mình sở hữu và yêu cầu trang web chuyển hướng trình duyệt đến một URI tuỳ chỉnh chạy ứng dụng. Nếu đã có trên thiết bị, ứng dụng sẽ chạy như dự kiến. Nếu không, người dùng sẽ ở lại trên trang web, nơi bạn có thể chuyển hướng họ khi cần thiết cho trường hợp sử dụng của mình.

Dưới đây là ví dụ về cách thực hiện việc này với JavaScript. Tập lệnh cố gắng chuyển hướng người dùng đến ứng dụng AcmePay, nhưng nếu ứng dụng đó chưa được cài đặt thì tập lệnh sẽ chuyển hướng người dùng đến cửa hàng Google Play để tải ứng dụng xuống.

<!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>

Tóm tắt & TL;DR

Bạn có thể sử dụng hành động đề xuất OpenUrlAction để liên kết sâu đến ứng dụng mà bạn sở hữu hoặc ứng dụng bạn muốn kích hoạt để giúp thu hút người dùng. Bằng cách liên kết sâu, bạn có thể cung cấp trải nghiệm phong phú và hấp dẫn cho người dùng hoặc tăng cường bảo mật cho việc chia sẻ nội dung nhạy cảm.

Chúc bạn may mắn và lập trình vui vẻ!