Sdk 사용시 카톡앱이 아닌 해당 스토어가 뜹니다

Javascript SDK 를 이용하여 Kakao.Link.sendTalkLink 메소드로 카카오톡 앱을 실행하고 있습니다.

카톡앱이 설치되어있고 안드로이드인 경우
카톡앱이 백그라운드로도 실행되어있지 않은 상황에서 호출하면
앱이 실행되지 않고 스토어로 이동합니다.
바로 카톡앱 실행이 안되는 이유가 뭘까요? 명쾌한 답변 부탁드립니다.

    Kakao.Link.sendTalkLink({
	label : 내용
	, image : {
		src : 이미지경로
	      , width : "179"
	      , height : "80"
	}
	, webButton: {
	    text: 웹버튼명
	    , url: 경로
	}
	, fail : function() {
	    alert("카카오 링크를 지원하지 않는 플랫폼(iOS/Android 외)입니다.");
	}
    });

※ 아이폰은 동일 이상 현상 없습니다.

@112159

  • 개발자 사이트의 데모 페이지에서도 동일 현상이 발생하는지 확인 부탁드립니다.

  • 데모 페이지에서도 발생한다면, 사용한 디바이스와 브라우저 전달 부탁드려요.

데모페이지에서는 동일현상 없습니다.
다시 재현을 하려고 해도 현재는 제대로 앱이 실행됩니다.
직접 sdk 소스를 분석해본 결과 waitTime , 타이머와 관련한 현상으로 추측만 해봅니다. ㅋ

그런데 다른 문제가 생겼습니다.
아이폰&페이스북앱에서 링크를 눌러 페북앱 내의 브라우저에서 카톡앱을 실행을 하려고 하니 또 스토어로 이동합니다.
createHiddenIframe => iframe 을 생성하여 카톡앱을 실행하려고 하던데
페이스북앱내 브라우저?? 에서 iframe 생성 실패로 앱을 실행시키지 못해 나타나는 현상이었습니다.

현재 제공하시는 iframe 동적생성 방식으로는 페이스북앱에서는 카톡API 사용이 불가능합니다.
어떻게 해야할지 다시 한번 명쾌한 답변 부탁드립니다.
감사합니다.

※ 페이스북앱 뿐 아니라 다른 인앱 브라우저에서의 테스트가 이뤄졌는지도 궁금합니다.

@112159

  • 카카오톡 앱을 기기에 설치하면, kakaolink://send..형태의 커스톰 URL을 호출할 때마다 카카오링크 기능이 실행됩니다.
  • 카카오톡 앱이 설치되지 않은 경우에 이 URL로 이동하면 오류창이 나오게 됩니다. 이 경우에 오류창으로 이동하는 대신 사용자를 마켓으로 보내기 위하여, 내부적으로 iframe을 생성하여 커스톰 URL로 이동을 시도해 본 후, 실패한 경우 마켓으로 이동합니다. 카카오톡 외에도 커스톰 URL을 이용한 공유 기능을 제공하는 타 서비스들도 이와 유사한 방식을 사용하고 있습니다.
  • 페이스북 앱 내 브라우저와 같은 웹뷰의 경우는 웹뷰를 사용한 앱에 따라서 위와 같은 방식이 동작하도록 구현되어 있을 수도 있고, 그렇지 않을 수도 있습니다. 네이버/다음 앱의 인앱 브라우저에서는 위와 같은 방식이 동작하지만, 페이스북 앱의 경우는 동작하지 않습니다.

위와 같은 이유로, 웹뷰의 경우 커스톰하게 변경할 수 있는 요소들이 있어서 공식 지원 대상에 포함되지 않고 있습니다. 혹시 좀더 넓은 범위의 브라우저에서 커스톰 URL을 사용할 수 있는 방식을 알려 주신다면, SDK에 적극 반영하도록 하겠습니다.