Как создать глубокую ссылку на приложения из вашего агента RBM

В мобильных приложениях глубокие ссылки позволяют пользователям напрямую переходить к содержимому приложения. Без диплинков, если вы поделитесь с другом рубашкой, которую нашли в приложении розничного магазина, то ссылка, которую вы отправите ему, приведет его либо в браузер, либо в магазин Play Store, где ему нужно будет установить или открыть приложение, а затем найдите контент. Ни одна из этих ситуаций не является отличным пользовательским опытом. Благодаря диплинкингу ваш друг перейдет к той самой рубашке, которую вы нашли в розничном приложении.

Из этого документа вы узнаете, как использовать глубокие ссылки для создания насыщенного и интересного опыта для пользователей RBM.

Перенесите пользователя RBM в приложение

Глубокая ссылка — это просто ссылка на приложение. Ваш агент RBM может открыть приложение, установленное на чьем-либо телефоне, с помощью OpenUrlAction , где URL-адрес представляет собой глубокую ссылку, настроенную для приложения, которое вы хотите вызвать. Дополнительную информацию можно прочитать в разделе «Создание глубоких ссылок на контент приложения» .

См. следующий пример. Чтобы открыть подкаст Google Cloud в приложении Google Podcast, можно создать OpenUrlAction с URI:

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

Многие продукты Google настроены на поддержку глубоких ссылок, которые также работают как веб-URL-адреса, включая YouTube и Карты Google.

Чтобы запустить любое из этих приложений из агента, нам нужно указать это значение в качестве URL-адреса в OpenUrlAction. В следующем примере JSON расширенная карточка RBM указана с тремя действиями открытия URL-адреса, каждое из которых ссылается на другое приложение.

{
    "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 пользователя, значок предлагаемого действия соответствует приложению с глубокой ссылкой. Нажатие на любое из предложенных действий запускает соответствующее приложение непосредственно к содержимому, закодированному в URL-адресе.

Suggested URLs with app icons

Зачем вам это нужно?

Есть несколько причин, по которым вам может понадобиться глубокая ссылка на приложение.

Аутентификация

Если ваш агент имеет дело с потенциально конфиденциальной информацией, один из способов защитить вашего агента — это создать глубокую ссылку на ваше приложение, чтобы помочь аутентифицировать пользователя с помощью отпечатка пальца, входа в систему или других способов. После успешной аутентификации пользователя вы можете отслеживать аутентификацию на стороне сервера и вернуть пользователя агенту, отправив новое сообщение RBM. Если вы отправляете какие-либо потенциально конфиденциальные последующие сообщения, вы можете проверить на стороне сервера, чтобы убедиться, что пользователь аутентифицирован. Если это не так, вы можете отправить их обратно в приложение, чтобы обновить токен аутентификации.

Поддержка сложных вариантов использования

Агенты RBM отлично подходят для диалогового взаимодействия, но в некоторых случаях приложения могут лучше служить. Например, если у вас есть мебельная компания и вы создали среду дополненной реальности, чтобы пользователи могли опробовать мебель у себя дома (см. следующее изображение), ваш вариант использования может поддерживаться только приложением.

В таких ситуациях имеет смысл направить пользователей RBM в ваше приложение для выполнения некоторых функций. Ваше приложение всегда может вернуть пользователя к диалогу RBM, отправив новое сообщение агента.

Deep link into appDeep-linked app

Упрощение оплаты

Вы можете поддерживать платежи с помощью стороннего приложения с диплинкингом.

Например, предположим, что вы хотите поддержать денежные переводы через вымышленную платежную компанию AcmePay. Изучив информацию в Интернете, вы обнаружили, что AcmePay поддерживает глубокие ссылки, используя свою собственную уникальную структуру URI, которая позволяет передавать значения получателей, сумму и примечание с использованием параметров строки запроса.

Вооружившись этими знаниями, вашему агенту необходимо создать OpenUrlAction с параметризованным URI AcmePay, указанным для URL-части предлагаемого действия.

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

Как только получатель сообщения RBM нажимает на предложенное действие, приложение AcmePay запускается непосредственно на экране транзакции с уже заполненными переданными значениями.

Что произойдет, если приложение не установлено?

Если приложение не установлено на устройстве пользователя, поведение глубоких ссылок зависит от структуры URI, передаваемого в OpenUrlAction. Если URI может распознаваться хотя бы одним приложением на устройстве (например, Chrome распознает URL-адреса, начинающиеся с «http://»), то предлагаемое действие отображается в этом приложении как обычно. Когда пользователь нажимает на действие, URI открывается в любом приложении, распознавшем структуру URI.

Если вы разработчик приложения, выгодно использовать глубокие ссылки с URI, начинающимися с «http://» и указывающими на принадлежащий вам домен, поскольку Chrome может перенаправить пользователя на веб-страницу в качестве резервного действия. На веб-странице вы можете предложить пользователю загрузить приложение или указать ему, что он считает подходящим для вашего варианта использования.

В ситуации, когда URI использует пользовательскую структуру, которая не распознается ни одним приложением на устройстве, предлагаемое действие не будет отображаться в вашем сообщении RBM .

Чтобы предлагаемые вами действия всегда отображались, вы можете использовать принадлежащий вам URL-адрес и сделать так, чтобы веб-страница попыталась перенаправить браузер на пользовательский URI, который запускает приложение. Если приложение существует на устройстве, оно запускается должным образом. В противном случае пользователь остается на веб-странице, куда вы можете направить его по мере необходимости для вашего варианта использования.

Ниже приведен пример того, как это сделать с помощью JavaScript. Сценарий пытается перенаправить пользователя в приложение AcmePay, но если это приложение не установлено, сценарий перенаправляет пользователя в магазин Google Play для загрузки приложения.

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

Подведение итогов и резюме

Вы можете использовать предложенное действие OpenUrlAction для создания глубоких ссылок на принадлежащие вам приложения или приложения, которые вы хотите активировать, чтобы помочь привлечь пользователей. Используя глубокие ссылки, вы можете предоставить своим пользователям расширенный и привлекательный опыт или более высокий уровень безопасности при обмене конфиденциальным контентом.

Удачи и приятного кодирования!

,

В мобильных приложениях глубокие ссылки позволяют пользователям напрямую переходить к содержимому приложения. Без диплинков, если вы поделитесь с другом рубашкой, которую нашли в приложении розничного магазина, то ссылка, которую вы отправите ему, приведет его либо в браузер, либо в магазин Play Store, где ему нужно будет установить или открыть приложение, а затем найдите контент. Ни одна из этих ситуаций не является отличным пользовательским опытом. Благодаря диплинкингу ссылка приведет вашего друга к той самой рубашке, которую вы нашли в розничном приложении.

Из этого документа вы узнаете, как использовать глубокие ссылки для создания насыщенного и интересного опыта для пользователей RBM.

Перенесите пользователя RBM в приложение

Глубокая ссылка — это просто ссылка на приложение. Ваш агент RBM может открыть приложение, установленное на чьем-либо телефоне, с помощью OpenUrlAction , где URL-адрес представляет собой глубокую ссылку, настроенную для приложения, которое вы хотите вызвать. Подробнее можно прочитать в разделе «Создание глубоких ссылок на контент приложения» .

См. следующий пример. Чтобы открыть подкаст Google Cloud в приложении Google Podcast, можно создать OpenUrlAction с URI:

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

Многие продукты Google настроены на поддержку глубоких ссылок, которые также работают как веб-URL-адреса, включая YouTube и Карты Google.

Чтобы запустить любое из этих приложений из агента, нам нужно указать это значение в качестве URL-адреса в OpenUrlAction. В следующем примере JSON расширенная карточка RBM указана с тремя действиями открытия URL-адреса, каждое из которых ссылается на другое приложение.

{
    "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 пользователя, значок предлагаемого действия соответствует приложению с глубокой ссылкой. Нажатие на любое из предложенных действий запускает соответствующее приложение непосредственно к содержимому, закодированному в URL-адресе.

Suggested URLs with app icons

Зачем вам это нужно?

Есть несколько причин, по которым вам может понадобиться глубокая ссылка на приложение.

Аутентификация

Если ваш агент имеет дело с потенциально конфиденциальной информацией, один из способов защитить вашего агента — это создать глубокую ссылку на ваше приложение, чтобы помочь аутентифицировать пользователя с помощью отпечатка пальца, входа в систему или других способов. После успешной аутентификации пользователя вы можете отслеживать аутентификацию на стороне сервера и вернуть пользователя агенту, отправив новое сообщение RBM. Если вы отправляете какие-либо потенциально конфиденциальные последующие сообщения, вы можете проверить на стороне сервера, чтобы убедиться, что пользователь аутентифицирован. Если это не так, вы можете отправить их обратно в приложение, чтобы обновить токен аутентификации.

Поддержка сложных вариантов использования

Агенты RBM отлично подходят для диалогового взаимодействия, но в некоторых случаях приложения могут лучше служить. Например, если у вас есть мебельная компания и вы создали среду дополненной реальности, чтобы пользователи могли опробовать мебель у себя дома (см. следующее изображение), ваш вариант использования может поддерживаться только приложением.

В таких ситуациях имеет смысл направить пользователей RBM в ваше приложение для выполнения некоторых функций. Ваше приложение всегда может вернуть пользователя к диалогу RBM, отправив новое сообщение агента.

Deep link into appDeep-linked app

Упрощение оплаты

Вы можете поддерживать платежи с помощью стороннего приложения с диплинкингом.

Например, предположим, что вы хотите поддержать денежные переводы через вымышленную платежную компанию AcmePay. Изучив информацию в Интернете, вы обнаружили, что AcmePay поддерживает глубокие ссылки, используя свою собственную уникальную структуру URI, которая позволяет передавать значения получателей, сумму и примечание с использованием параметров строки запроса.

Вооружившись этими знаниями, вашему агенту необходимо создать OpenUrlAction с параметризованным URI AcmePay, указанным для URL-части предлагаемого действия.

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

Как только получатель сообщения RBM нажимает на предложенное действие, приложение AcmePay запускается непосредственно на экране транзакции с уже заполненными переданными значениями.

Что произойдет, если приложение не установлено?

Если приложение не установлено на устройстве пользователя, поведение глубоких ссылок зависит от структуры URI, передаваемого в OpenUrlAction. Если URI может распознаваться хотя бы одним приложением на устройстве (например, Chrome распознает URL-адреса, начинающиеся с «http://»), то предлагаемое действие отображается в этом приложении как обычно. Когда пользователь нажимает на действие, URI открывается в любом приложении, распознавшем структуру URI.

Если вы разработчик приложения, выгодно использовать глубокие ссылки с URI, начинающимися с «http://» и указывающими на принадлежащий вам домен, поскольку Chrome может перенаправить пользователя на веб-страницу в качестве резервного действия. На веб-странице вы можете предложить пользователю загрузить приложение или указать ему, что он считает подходящим для вашего варианта использования.

В ситуации, когда URI использует пользовательскую структуру, которая не распознается ни одним приложением на устройстве, предлагаемое действие не будет отображаться в вашем сообщении RBM .

Чтобы предлагаемые вами действия всегда отображались, вы можете использовать принадлежащий вам URL-адрес и сделать так, чтобы веб-страница попыталась перенаправить браузер на пользовательский URI, который запускает приложение. Если приложение существует на устройстве, оно запускается должным образом. В противном случае пользователь остается на веб-странице, куда вы можете направить его по мере необходимости для вашего варианта использования.

Ниже приведен пример того, как это сделать с помощью JavaScript. Скрипт пытается перенаправить пользователя в приложение AcmePay, но если это приложение не установлено, сценарий перенаправляет пользователя в магазин Google Play для загрузки приложения.

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

Подведение итогов и резюме

Вы можете использовать предложенное действие OpenUrlAction для создания глубоких ссылок на принадлежащие вам приложения или приложения, которые вы хотите активировать, чтобы помочь привлечь пользователей. Используя глубокие ссылки, вы можете предоставить своим пользователям расширенный и привлекательный опыт или более высокий уровень безопасности при обмене конфиденциальным контентом.

Удачи и приятного кодирования!