Ios universal link가 카카오톡 대화창에서는 열리지 않아요

ios universal link의 경우 카카오 대화창에서 링크 공유할 시 앱이 열리지 않습니다.
다른 메모장에 링크를 클릭하면 앱이 잘 열리는걸로 보아 앱 설정 자체는 문제가 없어 보여요.
https://hayatshin.github.io/

같은 링크인데 카카오톡에서만 열리지 않는 이유가 무엇인가요?

카카오톡에서 링크 선택 시, 인앱브라우저를 띄우고 주소창에 URL을 실행합니다.
크롬, 사파리 모두 주소창에 유니버셜링크를 직접입력하면 앱실행안됩니다.

페이지내 링크로 제공할때 앱실행가능합니다.

확인 부탁드려요.

페이지 내 링크 삽입이 어떤것인지 더 여쭤봐도 될까요?

2일동안 찾아본 결과 모두 플러터 url_launcher 패키지를 이용해서 링크를 여는 방식인데요.

Future<void> _launchURL() async {
    final domain = "https://hayatshin.github.io/${widget.sendUserId}";
    final Uri url = Uri.parse(domain);
    if (!await launchUrl(url)) {
      await launchUrl(url);
    }
  }

위와 같이 [다운로드 하기]를 누르면 deep link를 통해 앱이 열리게 하고 싶은데요.
카카오톡에서는 deep link로 연결한 링크가 열리지 않고 웹으로 랜딩되는 문제가 있어요.

말씀 주신대로 카카오에서 링크를 클릭하면 별도의 페이지로 가게 해서 페이지의 버튼을 클릭하면 위와 같이
await launchUrl(url); 를 통해 앱을 열게 했는데 여전히 웹으로 랜딩되는건 마찬가지입니다.

gmail에 링크를 삽입해서 확인했을 때는 링크가 잘 열리는 것으로 보아 카카오톡에서 다르게 구현해줘야 할 것 같은데
'페이지 내 링크로 제공한다’는게 무엇인지 정확하게 모르겠습니다.

별도의 페이지도 카카오톡에서 [다운로드 하기]를 누르지 않고 별도의 앱으로 실행해서 딥링크를 실행시키면 되는데
별도의 페이지를 카카오톡에서 여니까 마찬가지로 안되는 것 같습니다.

카카오톡으로 저렇게 딥링크를 많이 공유 하고 있는 것 같은데… 조금만 더 알려주실 수 있을까요?
(위의 문제는 안드로이드 app link, ios universal link 모두 마찬가지입니다.)

url_launcher 도 브라우저를 띄우고 URL을 실행하는 방식인 것 같네요.
유니버셜링크는 브라우저에 주소 직접 실행으로는 앱을 실행할 수 없습니다.

iOS 보안 정책에 따라 정해진 상황에서만 iOS에의해 앱으로 리디렉션 합니다.

  1. 웹브라우저 주소창에서 직접 유니버셜링크 입력시 앱을 실행할 수 없습니다.
  2. 브라우저(웹뷰 또는 웹브라우저)가 아닌 곳에서 발생한 클릭이 브라우저를 시작하도록 트리거하여 앱을 실행할 수 없습니다. (1과 동일)
  3. 브라우저에 띄운 웹페이지에서 로딩하자마자 사용자 액션 없이 스크립트를 실행해 외부 앱을 실행할 수 없습니다.
  4. 외부 앱을 최초 실행시, iOS에서 실행여부를 물어보는 confirm 창이 뜨고 이때 취소를 선택하면 앱을 띄울 수 없습니다.

그래서

  1. 브라우저에 띄운 웹페이지내 a href 와 같은 태그로 링크를 사용자가 선택해 유니버셜링크를 실행하거나
  2. 브릿지 페이지에서 앱실행 버튼 클릭을 유도 하는 형태로 사용합니다.


3. 또는 커스텀 스킴 적용하시고 브랜치 딥링크 적용하셔서 범용적으로 사용하시는 것도 좋을 것 같습니다.
4. 카카오톡 공유하기 버튼에서 링크 사용하시는 거라면, 디벨로퍼스 플랫폼 설정을 이용하여 커스텀 URL 스킴 설정 버튼 설정하셔도 좋을 것 같습니다.