Cara melakukan deep link ke aplikasi dari agen RBM

Di aplikasi seluler, deep linking memungkinkan pengguna langsung membuka konten dalam aplikasi. Tanpa deep linking, jika Anda membagikan kemeja yang ditemukan di aplikasi toko retail kepada teman, link yang Anda kirim akan mengarahkan mereka ke browser atau membawa mereka ke Play Store, tempat mereka perlu menginstal atau membuka aplikasi, lalu menelusuri konten. Kedua situasi tersebut bukanlah pengalaman pengguna yang baik. Dengan deep linking, link akan mengarahkan teman Anda ke kemeja yang sama persis dengan yang Anda temukan dalam aplikasi retail.

Dalam artikel ini, Anda akan mempelajari cara menggunakan deep link untuk menciptakan pengalaman yang kaya dan menarik bagi pengguna RBM.

Membawa pengguna RBM ke dalam aplikasi

Deep link hanyalah link ke aplikasi. Agen RBM Anda dapat membuka aplikasi yang diinstal di ponsel seseorang menggunakan OpenUrlAction, dengan URL yang merupakan deep link yang dikonfigurasi untuk aplikasi yang ingin Anda panggil. Anda dapat membaca selengkapnya di artikel Membuat Deep Link ke Konten Aplikasi.

Mari kita lihat satu contoh spesifik. Untuk membuka podcast Google Cloud dalam aplikasi Google Podcast, OpenUrlAction dapat dibuat dengan URI:

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

Banyak produk Google yang dikonfigurasi untuk mendukung deep link yang juga berfungsi sebagai URL web, termasuk YouTube dan Google Maps.

Untuk memicu salah satu aplikasi ini dari agen, kami perlu menentukan nilai ini sebagai URL di OpenUrlAction. Dalam contoh JSON di bawah, kartu informasi RBM ditetapkan dengan tiga tindakan URL terbuka, masing-masing deep linking ke aplikasi yang berbeda.

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

Saat payload JSON ini dirender dalam klien RCS pengguna, ikon tindakan yang disarankan akan cocok dengan aplikasi yang menerapkan deep link. Mengetuk tindakan yang disarankan akan meluncurkan aplikasi yang sesuai langsung ke konten yang dienkode di URL.

URL yang disarankan dengan ikon aplikasi

Mengapa Anda menginginkan ini?

Ada beberapa alasan mengapa Anda ingin melakukan deep link ke aplikasi.

Autentikasi

Jika agen Anda menangani informasi yang berpotensi sensitif, salah satu cara untuk membantu mengamankan agen adalah dengan memberikan deep link ke aplikasi Anda untuk membantu mengautentikasi pengguna melalui sidik jari, login, atau cara lainnya. Setelah pengguna berhasil melakukan autentikasi, Anda dapat melacak sisi server autentikasi dan membawa pengguna kembali ke agen dengan memicu pesan RBM baru. Jika mengirim pesan tindak lanjut yang berpotensi sensitif, Anda dapat memeriksa sisi server untuk memastikan pengguna diautentikasi. Jika belum, Anda dapat mengirimkannya kembali ke aplikasi untuk memperpanjang token autentikasi.

Dukungan kasus penggunaan yang kompleks

Agen RBM sangat bagus untuk interaksi percakapan, tetapi aplikasi dapat melayani beberapa kasus penggunaan dengan lebih baik. Misalnya, jika Anda memiliki perusahaan furnitur dan telah menciptakan pengalaman augmented reality sehingga pengguna dapat mencoba furnitur di rumah mereka (lihat gambar di bawah), kasus penggunaan Anda hanya dapat didukung oleh aplikasi.

Dalam situasi ini, sebaiknya arahkan pengguna RBM ke aplikasi Anda untuk menjalankan beberapa fungsi. Aplikasi Anda selalu dapat membawa pengguna kembali ke percakapan RBM dengan memicu pesan agen baru.

Deep link ke aplikasi Aplikasi deep link

Memfasilitasi pembayaran

Anda dapat mendukung pembayaran dengan aplikasi pihak ketiga menggunakan deep linking.

Misalnya, Anda ingin mendukung transfer uang melalui perusahaan pembayaran fiktif AcmePay. Dengan menyelidiki secara online, Anda menemukan bahwa AcmePay mendukung deep linking menggunakan struktur URI uniknya sendiri yang memungkinkan Anda meneruskan nilai untuk penerima, jumlah, dan catatan melalui parameter string kueri.

Berbekal pengetahuan ini, agen Anda hanya perlu membuat OpenUrlAction dengan URI AcmePay berparameter yang ditentukan untuk bagian URL dari tindakan yang disarankan.

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

Setelah penerima pesan RBM mengetuk tindakan yang disarankan, aplikasi AcmePay akan langsung diluncurkan ke layar transaksi dengan nilai yang diteruskan yang sudah diisi.

Apa yang terjadi jika aplikasi tidak diinstal?

Jika aplikasi tidak diinstal di perangkat pengguna, perilaku deep linking bergantung pada struktur URI yang diteruskan ke OpenUrlAction. Jika URI dapat diidentifikasi oleh setidaknya satu aplikasi di perangkat (misalnya, Chrome mengenali URL yang diawali dengan "http://"), tindakan yang disarankan akan ditampilkan seperti biasa dalam aplikasi tersebut. Saat pengguna mengetuk tindakan, URI akan terbuka di aplikasi mana pun yang mengenali struktur URI.

Jika Anda adalah developer aplikasi, sebaiknya lakukan deep link dengan URI yang dimulai dengan "http://" dan mengarah ke domain yang Anda miliki karena Chrome dapat mengarahkan pengguna ke halaman web sebagai tindakan penggantian. Di halaman web, Anda dapat mengarahkan pengguna untuk mendownload aplikasi atau mengarahkan mereka jika dirasa sesuai untuk kasus penggunaan Anda.

Jika URI menggunakan struktur kustom yang tidak dikenali oleh aplikasi di perangkat, tindakan yang disarankan tidak akan dirender di pesan RBM.

Untuk memastikan tindakan yang disarankan selalu muncul, Anda dapat menggunakan URL yang Anda miliki dan meminta halaman untuk mengalihkan browser ke URI kustom yang meluncurkan aplikasi. Jika aplikasi ada di perangkat, aplikasi akan diluncurkan seperti yang diharapkan. Jika tidak, pengguna akan tetap berada di halaman web, tempat Anda dapat mengarahkan mereka sesuai kebutuhan untuk kasus penggunaan Anda.

Berikut adalah contoh cara melakukannya dengan JavaScript. Skrip mencoba mengalihkan pengguna ke aplikasi AcmePay, tetapi jika aplikasi tersebut tidak diinstal, skrip tersebut akan mengalihkan pengguna ke Google Play Store untuk mendownload aplikasi.

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

Penutup & TL;DR

Anda dapat menggunakan tindakan yang disarankan OpenUrlAction untuk melakukan deep link ke aplikasi yang Anda miliki atau aplikasi yang ingin dipicu untuk membantu berinteraksi dengan pengguna. Dengan deep linking, Anda dapat memberikan pengalaman yang diperkaya dan menarik bagi pengguna atau keamanan yang lebih baik untuk membagikan konten sensitif.

Semoga berhasil dan selamat melakukan coding!