android에서 dynamic link로 플레이스토어/앱스토어로 이동하지 않을때
앱 내에서 상품을 공유할 때 해당 링크만 복사해서 넘기는 것 보단 Google Analytics 등에서 referer, 통계분석 등을 위해 firebase의 dynamic link나 appsflyer의 onelink 등의 서비스를 이용하는 경우가 있다.
우리 서비스도 동일한 이유로 dynamic link를 사용하고 있는데 android 앱에서 앱이 설치된 상태로 링크를 타고 들어가면 정상적으로 앱이 열리지만 앱이 설치되지 않은 상태에서 링크를 누르면 해당 상품의 페이지가 열리는 문제가 있었다.
설정이 잘못되었는지, short link를 생성하면서 파라미터를 잘못 넣었는지 등을 체크하며 여러가지를 시도하다가 발견한 문제는 생각보다 사소한 것이였다.
val uri = Uri.parse("상품 URL")
Firebase.dynamicLinks.shortLinkAsync {
link = uri
domainUriPrefix = "domain uri prefix"
androidParameters(context.packageName) {
fallbackUrl = uri
}
iosParameters("ios bundle id") {
appStoreId = "ios appstore id"
setFallbackUrl(uri)
}
}.addOnSuccessListener {
// shortLink 생성 성공
}.addOnFailureListener {
// shortLink 생성 실패
}
이슈가 발생한 코드는 위와 같은 코드였는데 여기서 fallbackUrl을 설정한게 문제였다.
fallbackUrl이 설정이 되어 있으면 해당 앱의 스토어로 이동하는 대신 fallbackUrl에 등록된 URL로 이동한다.
그래서 스토어 대신 상품 페이지(fallbackUrl에 상품링크를 넣음)로 이동했던 거였고, 실패가 무엇에 대한 실패인지 고려하지 않은채 추가한 결과 스토어 대신 상품 페이지가 열리는 이슈가 발생한거였다.
androidParameters, iosParameters에서 각각 fallbackUrl 부분을 주석처리 하면 앱이 설치되지 않은 경우 플레이스토어/앱스토어로 이동한다.
Author And Source
이 문제에 관하여(android에서 dynamic link로 플레이스토어/앱스토어로 이동하지 않을때), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@auesn/android에서-dynamic-link로-플레이스토어앱스토어로-이동하지-않을때저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)