如何深层链接到 RBM 代理中的应用

在移动应用中,深层链接可让用户直接转到应用内的内容。 在不使用深层链接的情况下,如果您将在零售店应用中找到的衬衫分享给其他人 那么您发送给他们的链接就会将他们转到他们的浏览器 或将用户转到 Play 商店,在那里他们需要安装或打开应用 然后搜索内容这两种情况都会给用户带来不好的体验。 有了深层链接,此链接就能将您的朋友直接带到您找到的那件衬衫 在零售应用内投放广告

在本文档中,您将学习如何使用深层链接创建内容丰富、引人入胜的内容 RBM 用户体验

让 RBM 用户进入应用

深层链接就是指向应用的链接。RBM 代理可以打开 通过 OpenUrlAction 安装到某人的手机上 网址是深浅的 链接。如需了解详情,请参阅创建指向应用内容的深层链接

我们来看一个具体的示例。要在 Google 播客应用,可使用以下 URI 创建 OpenUrlAction:

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

许多 Google 产品都配置为支持可作为 Web 使用的深层链接 网址(包括 YouTube 和 Google 地图)。

要通过代理触发其中任何应用,我们需要将此值指定为 OpenUrlAction 中的网址。在以下示例 JSON 中,指定了 RBM 复合搜索卡 包含三项打开网址操作,每项操作都会深层链接到不同的应用。

{
    "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 客户端中呈现时, 建议的操作与深层链接应用匹配。点按任意建议 操作会直接启动相应的应用,以转到 网址。

带有应用图标的建议网址

你为什么会这样?

有多种原因可能会导致您需要深层链接到应用。

身份验证

如果客服人员处理的是可能比较敏感的信息,一种帮助方式 确保代理安全是深层链接到您的应用,以帮助验证用户身份 使用指纹、登录或其他方式登录账号。用户成功加载 就可以跟踪身份验证服务器端并让用户 返回给代理。如果您发送任何可能 敏感的跟进邮件,您可以检查服务器端,以确保用户 必须经过身份验证。如果不是,您可以让用户重新使用该应用进行续订 身份验证令牌。

复杂的用例支持

RBM 代理非常适合对话式互动,但应用可以更好地服务于 一些用例。例如,假设您有一家家具公司 增强现实体验,让用户可以在家里试用家具 (如下图所示),您的用例只能由应用支持。

在这种情况下,您就可以将 RBM 用户引导至您的应用 实现某些功能您的应用随时可以将用户 RBM 对话。

指向应用的深层链接 深层链接应用

促进付款

您可以通过具有深层链接的第三方应用支持付款。

例如,假设您希望支持 虚构支付公司 AcmePay。通过在线调查,您发现 AcmePay 使用其独有的 URI 结构支持深层链接, 通过查询字符串传入收件人值、金额和备注 参数。

掌握了这些信息后,您的代理需要创建一个 OpenUrlAction, 为建议操作的网址部分指定的参数化 AcmePay URI。

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

RBM 消息的收件人点按建议的操作后,AcmePay 应用会使用传入的值直接启动到交易屏幕 。

如果未安装此应用,会出现什么情况?

如果用户的设备上未安装该应用,深层链接行为取决于 传递给 OpenUrlAction 的 URI 的结构。如果 URI 可以是 可被设备上至少一个应用识别(例如,Chrome 可识别网址 以“http://”开头),那么建议的操作 应用。当用户点按操作时,URI 会在任何识别出的应用中打开 URI 结构

如果您是应用开发者,使用以 以“http://”开头并指向您拥有的网域,因为 Chrome 会将用户 附加到网页。在网页上,您可以将用户定向到 下载应用或根据需要定向它们,以适合您的用例。

当 URI 使用 Google 无法识别的自定义结构时, 设备上的任何应用,那么推荐的操作将不会在您的 RBM 中呈现 消息

为确保系统始终显示您的建议操作,您可以使用自己拥有的网址并 让网页尝试将浏览器重定向至启动 应用。如果设备上存在该应用,则会按预期启动。否则, 用户留在网页上,您可以根据需要将其转到 这种情况。

以下示例说明了如何使用 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 建议的操作,深层链接到您拥有的应用或 您希望触发哪些应用来帮助吸引用户。通过深层链接,您可以 为您的用户提供丰富且引人入胜的体验 安全性和安全性。

祝您好运,编程愉快!