안녕하세요. 하이브리드 앱(iOS WKWebView) 내 웹 페이지에서 JavaScript SDK로 카카오톡
피드 공유를 제공하고 있습니다. 카카오톡이 설치된 기기에서 카카오톡이 실행되지 않고
“카카오톡이 실행되지 않나요? / 다운로드” 페이지가 웹뷰에 그대로 노출되는 현상을
확인했습니다.
devtalk 140994, 133698 답변을 먼저 확인했고, 기기에 종속된 유니버설 링크 상태
문제로 이해했습니다. 다만 저희는 일반 사용자를 대상으로 하는 서비스여서 사용자에게
“앱 재설치” 또는 "모든 설정 재설정"을 안내하는 것이 현실적으로 불가능합니다.
서비스 측에서 대응할 수 있는 방법을 문의드리고자 합니다.
먼저 질문에 답하면, 서비스(웹) 쪽에는 카카오 유니버설 링크를 식별해
decisionHandler를 분기하는 로직이 없습니다. 이 서비스는 자체 웹뷰가 아니라
토스 앱의 공용 WKWebView 위에서 동작하는 웹 서비스이고, 웹 코드가 하는 일은
Kakao.Share.sendDefault() 호출뿐입니다.
window.top.location.href = “https://talk-apps.kakao.com” + encodeURIComponent(“kakaolink://send?..”)
로 이동시킵니다.
installTalk은 지정하지 않았습니다(App Store 폴백 미사용).
이에 세 가지 문의드립니다.
WKWebView 기반 하이브리드 앱이 Share.sendDefault의 공식 지원 범위에 포함되는지,
포함된다면 호스트 앱이 decidePolicyFor에서 어떻게 처리해야 하는지 권장 구현을
알려주실 수 있을까요? (분기 대상 도메인 목록도 함께 부탁드립니다)
1회차는 성공하고 2회차부터 실패하는 조건이 무엇인지 알려주실 수 있을까요?
기기/OS의 유니버설 링크 상태가 기록되어 이후 웹 페이지로 처리되는 동작이라면,
그 판단 기준과 talk-apps.kakao.com 페이지의 폴백 동작을 알고 싶습니다.
iOS에서 유니버설 링크를 건너뛰고 kakaolink:// 커스텀 스킴으로 실행하도록 하는
공식 옵션이 있을까요? 커스텀 스킴이면 호스트 앱이 openURL로 확실히 처리할 수 있어
가장 안정적인 경로로 보입니다. SDK 코드상으로는 iOS에서 유니버설 링크가 항상
우선이고 우회 옵션이 없는 것으로 보여 문의드립니다.