본문 바로가기
프로그래밍/안드로이드

[Android] 안드로이드 스튜디오에서 제공하는 앱링크의 문제점

by dev_gyu 2024. 11. 5.
728x90

기존에는 Firebase 를 통해 Dynamic Link 를 구현하고 이를 통해 유저의 앱을 열지, 스토어로 랜딩시킬지 결정하였지만 이것이 2025년부로 지원을 종료하게 되면서 다른 방법을 사용해야했다.

다른 방법으로는 URI스킴 방식, 앱링크 방식, Defferd DeepLink 방식이 있는데 이 중에서 내가 선택한 것은 앱링크 방식이다.

 

앱링크를 선택한 이유는 다음과 같다.

URI 스킴의 경우 다른 앱과의 충돌 우려, Defferd DeepLink 의 경우 타 서비스를 이용해야하고 대부분 유료인 점을 생각하였다.

 

# 앱링크란?

사용자가 웹 URL을 클릭할 때 해당 URL과 연결된 앱이 자동으로 열리도록 하는 기능이며, Android 에서 제공한다. (IOS 에서 이와 비슷한 기능으로는 유니버셜 링크가 존재함)

안드로이드 스튜디오를 통해 쉽게 생성할 수 있지만 개인 도메인이 필요하다는 단점이 존재한다.

단, 도메인이 있는 경우 설정을 끝마치고 해당 설정 링크를 통해 들어오는 유저는 앱이 깔려있는 경우 앱이 열리게 되고, 앱이 열리지 않으면 그대로 링크 주소로 진입한다.

# 앱링크의 문제점

위와 같이 설정을 하고 안드로이드 스튜디오, 플레이스토어에서 앱링크 정상작동 확인 및 개인 테스트도 진행하였으나 추후 문제가 생겼다.

카카오톡 알림톡과 같은 방식 (인앱 브라우저에서 열리는 방식) 에서는 앱링크가 작동하지 않는다는 것이다.

이로 인해 카카오에 문의해본 결과 카카오 뿐만 아닌 타 브라우저 주소창에 입력해도 동일하게 앱링크가 미동작한다는 것을 알게되었고, 이로 인해 앱링크의 한계를 알게 되었다.

 

앱링크 및 유니버셜링크 테스트 참고 주소

 

위의 블로그를 살펴보면 앱링크를 테스트하였을때 위와 같은 결과가 일어난다고 하였다.

실제로 나의 경우에도 동일하게 작동하였고 직접 html 을 만들어서 테스트를 해보았을때도 링크를 클릭하는건 실행이 되고, 자바 스크립트를 통한 Redirect 같은 유저 액션이 아닌 모든 이벤트들은 앱링크가 작동하지 않았다.

 

# 앱링크 한계 해결법

나의 경우에는 위와 같은 앱링크의 한계로 인해서 임시로 URI스킴을 생성하여 처리하였다.

만약 https://www.google.com 이 내 앱링크 도메인이라고 치자. 이 때 이 링크를 클릭 or 주소창에 입력한 유저가 있다면 우선 웹서버에서 URI 스킴을 Open 하게 설정하고 Timeout 이 발생하면 Redirect 를 통해서 플레이스토어로 랜딩시키는 것이다.

 

이 방법을 쓰고 싶지 않다면 Defferd DeepLink 를 쓰는 방법밖에 없다.


엄청 큰 버그는 아니지만, 유저 편의성이 줄어드는 작동 방식으로 인해 유저 이탈이 조금 있었을 것 같다.

기존 많은 링크를 앱링크 방식으로 생성하고 있었는데 .. 추후 Defferd DeepLink 로 바꿔볼지 생각을 해봐야겠다.

728x90