다른 앱에서 카카오tv앱 호출 (딥링크)

현재앱에서 동영상 주소를 통해
해당 앱이 설치되어있는 경우
앱을 실행시켜서 보여주고 있습니다.

유튜브 같은 경우에는 URL을 가지고 다른 앱 호출을 할 수 있는데요

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(“https://www.youtube.com/watch?v=JAy88PDxMIM”));
intent.setPackage(“com.google.android.youtube”);
startActivity(intent);
–> 유튜브 앱으로 해당 영상 재생 가능

카카오 TV 앱의 경우에도 똑같이 진행했는데
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(“https://tv.kakao.com/channel/2993800/cliplink/411163909”));
intent.setPackage(“com.kakao.playball”);
startActivity(intent);
–> 카카오TV 앱 호출 실패 , Webview로 열림

Intent appIntent = getPackageManager().getLaunchIntentForPackage(“com.kakao.playball”);
를 사용하여 앱 실행이 되는것으로 봐서 패키지명에는 문제가 없고
setData(Uri.parse( URL )) 부분에 넘겨주는 URL문제로 보입니다.
URL을 어떤식으로 넘겨야하나요?

intent.setData(Uri.parse(“https://tv.kakao.com/channel/2993800/cliplink/411163909”));
이 부분만 변경하면 될 것 같습니다.

channel
cliplink
2가지 넘겨주는 것 외에 더 필요한것 같아요

자답입니다.

intent.setData(Uri.parse(“https://tv.kakao.com/”));

아무것도 안넘겨주고 기본 주소값을 줘도
android.content.ActivityNotFoundException: No Activity found to handle Intent
오류가 나는것을 보니 넘겨주는 값 문제가 아닌것같아서
더 연구중입니다.
도움 주실 수 있으신분은 알려주세요

cf)
앱만 실행을 원한다면
Intent intent = getPackageManager().getLaunchIntentForPackage("com.kakao.playball”);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
이용하시면 됩니다.
저는 앱 실행 후 해당 영상화면으로 넘어가야해서요

@ip7731
앱실행 시도하고 계신 URL을 어떻게 획득하셨나요?

앱 자체적으로, URL Scheme 을 지원하지 않거나 Deeplink 지원하지 않는다면
URL 로 오픈 불가능하고, 당연히 Deeplink 로 원하는 페이지 또한 오픈 불가능합니다.

유튜브는 Deeplink 및 URL Scheme 을 지원해서 가능하겠지만
카카오TV 가 지원하지 않는다면? 당연히 안되겠죠

1개의 좋아요

사실 앱실행에 시도하는 URL은 유튜브,트위터에도 Document에 나와있지 않습니다.

youtube앱,트위터 앱의 경우에는 해당 동영상 URL(https:///www~~~)
또는 트위터 URL(https:///www~~~)주소를 입력하면 되었고

카카오의 경우는 위와같은 형태로 요청했을때 되지않아서

다른 방법이나 형식이 있는지 궁금하여 질문드렸습니다.

맞습니다
카카오 tv에도 직접 문의드린 결과
아직 미지원하는것으로 판단된다고 답변받았습니다.

1개의 좋아요