RBM 에이전트에서 앱으로 딥 링크하는 방법

모바일 앱에서 딥 링크를 사용하면 사용자가 앱 내 콘텐츠로 바로 이동할 수 있습니다. 딥 링크가 없으면 소매업체 앱에서 찾은 셔츠를 친구와 공유할 때 보낸 링크로 인해 친구가 브라우저로 이동하거나 Play 스토어로 이동하게 되며, 이 경우 앱을 설치하거나 열고 콘텐츠를 검색해야 합니다. 두 상황 모두 만족스러운 사용자 경험이 아닙니다. 딥 링크를 사용하면 링크가 소매 앱에서 찾은 정확한 셔츠로 친구를 연결합니다.

이 문서에서는 딥 링크를 사용하여 RBM 사용자를 위해 풍부하고 매력적인 환경을 만드는 방법을 알아봅니다.

RBM 사용자를 앱으로 유도

딥 링크는 앱으로 연결되는 링크일 뿐입니다. RBM 상담사는 OpenUrlAction을 사용하여 사용자의 휴대전화에 설치된 앱을 열 수 있습니다. 여기서 URL은 호출하려는 앱에 구성된 딥 링크입니다. 자세한 내용은 앱 콘텐츠 딥 링크 만들기를 참고하세요.

아래 예시를 참조하세요. Google 팟캐스트 앱 내에서 Google Cloud 팟캐스트를 열려면 다음 URI로 OpenUrlAction을 만들 수 있습니다.

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

YouTube 및 Google 지도를 비롯한 많은 Google 제품은 웹 URL로도 작동하는 딥 링크를 지원하도록 구성되어 있습니다.

상담사로부터 이러한 앱을 트리거하려면 OpenUrlAction에서 이 값을 URL로 지정해야 합니다. 다음 샘플 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에 인코딩된 콘텐츠로 바로 연결되는 해당 앱이 실행됩니다.

앱 아이콘이 있는 추천 URL

왜 이 기능을 원하나요?

앱에 딥 링크가 필요한 몇 가지 이유가 있습니다.

인증

상담사가 민감한 정보를 다루는 경우 상담사를 보호하는 한 가지 방법은 앱에 딥 링크하여 지문, 로그인 또는 기타 수단을 사용하여 사용자를 인증하는 것입니다. 사용자가 성공적으로 인증되면 서버 측에서 인증을 추적하고 새 RBM 메시지를 트리거하여 사용자를 에이전트로 다시 연결할 수 있습니다. 민감할 수 있는 후속 메시지를 보내는 경우 서버 측에서 사용자가 인증되었는지 확인할 수 있습니다. 그렇지 않은 경우 다시 앱으로 전송하여 인증 토큰을 갱신할 수 있습니다.

복잡한 사용 사례 지원

RBM 에이전트는 대화형 상호작용에 적합하지만 앱이 일부 사용 사례에 더 적합할 수 있습니다. 예를 들어 가구 회사에서 사용자가 집에서 가구를 사용해 볼 수 있도록 증강 현실 환경을 만든 경우(다음 이미지 참고) 사용 사례는 앱에서만 지원할 수 있습니다.

이러한 상황에서는 RBM 사용자를 앱으로 안내하여 일부 기능을 실행하는 것이 좋습니다. 앱은 언제든지 새 상담사 메시지를 트리거하여 사용자를 RBM 대화로 다시 연결할 수 있습니다.

앱 딥 링크 딥 링크된 앱

결제 처리

딥 링크를 사용하여 서드 파티 앱을 통한 결제를 지원할 수 있습니다.

예를 들어 가상의 결제 회사인 AcmePay를 통해 송금을 지원하려고 한다고 가정해 보겠습니다. 온라인에서 조사한 결과, AcmePay는 쿼리 문자열 매개변수를 사용하여 수신자 값, 금액, 메모를 전달할 수 있는 고유한 URI 구조를 사용하여 딥 링크를 지원한다는 사실을 알게 되었습니다.

이 정보를 바탕으로 상담사는 추천 작업의 URL 부분에 지정된 매개변수화된 AcmePay URI가 포함된 OpenUrlAction을 만들어야 합니다.

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

RBM 메시지 수신자가 추천 작업을 탭하면 AcmePay 앱이 전달된 값이 이미 입력된 상태로 거래 화면으로 바로 실행됩니다.

앱이 설치되어 있지 않으면 어떻게 되나요?

앱이 사용자의 기기에 설치되어 있지 않은 경우 딥 링크 동작은 OpenUrlAction에 전달된 URI의 구조에 따라 다릅니다. 기기의 앱에서 하나 이상 URI를 인식할 수 있는 경우(예: Chrome이 'http://'로 시작하는 URL을 인식함) 추천 작업이 해당 앱에 정상적으로 표시됩니다. 사용자가 작업을 탭하면 URI 구조를 인식하는 앱에서 URI가 열립니다.

앱 개발자라면 'http://'로 시작하고 개발자가 소유한 도메인을 가리키는 URI가 포함된 딥 링크를 사용하는 것이 유리합니다. 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 추천 작업을 사용하여 소유한 앱 또는 트리거하려는 앱으로 사용자의 참여를 유도할 수 있습니다. 딥 링크를 사용하면 사용자에게 풍부하고 매력적인 환경을 제공하고 민감한 콘텐츠 공유를 위한 보안을 강화할 수 있습니다.

행운을 빕니다. 즐겁게 코딩해 보세요.