유니버설 링크(Universal Links)란?
유니버설 링크(이하 Universal Links)는 애플이 웹사이트를 거쳐 iOS 앱을 열 수 있게 하는 방식으로 웹뷰라고도 알려져 있어요. 앱이나 웹사이트 내의 콘텐츠로 바로 연결되기 때문에 iOS 사용자들은 통합된 모바일 경험을 제공받을 수 있습니다. 대체로 유니버설 링크와 기존의 딥링크(이하 Deep Links)는 유사합니다. 그러나 전자는 애플 기기를 위한 전용 방식이며, 앱을 통해서 웹 페이지를 여는 기능을 제공한다는 점에서 차이가 있습니다. Universal Links와 Deep Links의 차이를 알아보기 위해 각각의 작동 방식을 자세히 살펴볼게요.
유니버설 링크 작동 방식
Universal Links의 기능은 기본적인 딥링크와 유사한데요. 그러나 Universal Links의 경우 커스텀 URL 스킴을 정의하지 않고 일련의 웹페이지를 앱과 연결한다는 차이점이 있습니다. 따라서 사용자가 이러한 웹 페이지를 열면 iOS는 사용자를 앱으로 리디렉션 합니다. 유니버설 링크는 iOS 9 버전 이상에서만 제공되는 기능으로, 앱이 사용자 기기에 설치되어 있지 않더라도 작동합니다. 앱이 설치되지 않았을 때 웹사이트로의 링크를 클릭하게 되는 경우, 사파리를 통해서 웹사이트에 연결됩니다. 즉 하나의 URL로 웹사이트와 앱에 연결될 수 있어요. 유니버설 링크는 웹사이트 링크를 클릭했을 때 사용자를 앱으로 바로 유도할 수 있기 때문에 앱 인게이지먼트를 높이고 사용자 경험을 간편하게 할 수 있는 방법입니다.
애플이 유니버설 링크를 도입한 이유
Universal Links를 도입하기로 한 것은 전적으로 애플의 결정이었어요. 애플 개발자 페이지 내용을 참고해보면, 애플이 보다 나은 보안과 개인 정보 보호 및 유연성을 제공하고자 Universal Links를 내놓은 것으로 보입니다. 애플이 고유의 Deep Links 경험을 제공하고, iOS를 위한 보다 안정적인 시스템을 만들기 위함이라고 하는데요. 이유가 무엇이든 애플은 상당수의 사용자들을 위해 그들이 이용하는 딥링킹 생태계를 소유하고 형성하고 있습니다.
유니버설 링크에서 일어날 수 있는 기술적 문제들
Universal Links를 사용하면 ‘오른쪽 상단 모서리 오류(the right corner evil)’나 링크 깨짐 등 몇 가지 기술적인 문제가 발생할 수 있는데요. 아래에서 더 자세히 설명해 볼게요.
오른쪽 상단 모서리 오류
오른쪽 상단 모서리 오류는 아이폰이나 아이패드의 오른쪽 상단의 ‘breadcrumb(사이트 이동 경로)’과 관련된 이슈로, 사용자는 앱에서 웹뷰로 혹은 그 반대로 이동하고자 할 때 이 부분을 클릭하게 됩니다. 사용자가 Universal Links를 클릭하면 iOS는 사용자의 최근 행동을 바탕으로 앱을 실행할 것인지 혹은 웹 페이지를 열 것인지를 결정하는데요. 사용자가 여러분의 앱으로 연결되는 Universal Links를 클릭한 다음 breadcrumb 버튼을 클릭해 사파리에서 웹 사이트를 열었다면, iOS는 이 과정을 기억하여 사용자가 앱으로 다시 돌아가고 싶어 하더라도 계속해서 이 사이트를 사파리에서 열게 됩니다. 이로써 사용자는 사실상 웹뷰에 갇혀 있게 되는 것이죠. iOS는 사용자가 웹 페이지의 스마트 앱 배너(앱을 바로 오픈할 수 있는 배너)를 클릭할 때까지 앱을 다시 실행하지 않으며, 이 과정을 개발자가 수정할 수 없습니다. 오로지 사용자만이 배너를 이용하거나 링크를 길게 눌러 옵션을 누른 다음 ‘앱으로 열기’를 클릭하여 앱으로 돌아갈 수 있습니다. 이 경우 사용자들은 앱에 오류가 생긴 것으로 생각하기 마련이지만, 실제로는 잘못된 딥링킹 과정이 앱을 사용하지 못하도록 하고 있는 것이죠.
링크 깨짐
앱은 용량을 줄이기 위해서나 새로운 기능 출시 및 경험 향상 등을 위해서 지속적으로 업데이트 되죠. 그런데 종종 딥링크가 버전 1에서는 제대로 작동하는데 비해 새로 업데이트 된 버전에서는 앱 및 인앱 웹뷰가 다르게 작동하는 경우가 있어요. 즉, 어떤 앱 버전이 설치되어 있느냐에 따라 링크의 작동 여부가 달라집니다. 만일 Universal Links만을 사용하는 경우 큰 영향을 받을 수 있으며, 또한 이러한 문제가 발생할 경우 사용자는 OS가 아니라 앱에서 오류가 생겼다고 생각하며 사용자 경험에 대해 부정적으로 생각할 수 있습니다. 혹은 오른쪽 상단 모서리 오류의 경우와 같이 사용자들은 앱 자체에 문제가 있는 것으로 생각할 가능성도 크죠.
클릭으로 인한 웹 뷰에서의 사용자 플로우 끊김
Universal Links는 종종 사용자 플로우를 방해하는 경우가 있습니다. 웹뷰가 Universal Links를 지원하지 않는 경우나 스킴 기반의 딥링킹이 사용된 경우, Deep Links는 앱으로 다시 돌아가지 못합니다. 또한 앞서 언급된 것과 같이 Universal Links를 처리하기 위해 SFSafariViewController, WKWebView 또는 UIWebView 개체를 인스턴스화하면 iOS는 앱을 실행하는 대신 사파리에서 웹 사이트를 열도록 할 수 있는데, 이는 웹뷰가 유니버설 링크를 지원하더라도 웹뷰가 아닌 곳에서 발생한 클릭이 웹뷰를 시작하도록 트리거하여 Universal Links가 작동하지 않을 수 있다는 것을 뜻합니다. 이렇게 되면 사용자 여정이 훼손되어 리텐션이 떨어지고, 사용자의 불만을 일으킬 수 있습니다.