안녕하세요 카카오톡 공유하기 API 를 서비스에 연동하는 개발자입니다.
이브리드 앱(웹뷰)에서의 카카오톡 공유하기 기능에 대해 문의사항이 있습니다.
1. 개발 환경
개발환경은 다음과 같습니다.
- 하이브리드 앱 - iOS, Android 웹뷰에서 Web App을 연동
- 사용중인 sdk: JavaScriptSDK
- 사용중인 함수: sendCustom 함수로 templateId를 지정하여 사용자 정의 템플릿 전송
function shareLinkByKakaoTemplateId() {
Kakao.Link.sendCustom({
templateId: 11111,
});
}
- 동작 결과
- 모바일 브라우저(safari, chrome): O
- 하이브리드 앱(웹뷰): X
2. 상황
-
하이브리앱 가이드
JavaScriptSDK를 통해 모바일 브라우저에서 잘 동작하는 카카오 공유하기 기능이 하이브리드 앱(웹뷰)에서는 전혀 동작하지 않아 가이드 문서를 검색했고 하이브리드앱 가이드를 을 통해 네이티브 앱의 수정이 필요함을 확인했습니다.
-
네이티브 수정 없이 url scheme 시도
다만, 네이티브 앱의 수정이 필요하여, 네이티브 앱 수정없이 다음과 같이 url scheme 방식을 적용해보았습니다만, 모바일 브라우저에서는 동작해도 하이브리드 앱(웹뷰)에서는 동작하지 않았습니다.
kakaolink://send?appkey=asdfjk234jkl423kl4j1lk2357asfklasfasff&appver=1.0&linkver=4.0&extras=%7B%22KA%22%3A%22sdk%2F1.39.14
...생략
3. 질문 정리
-
네이티브 수정없이 가능한지 알고싶어서요, 혹시 하이브리드 앱(웹뷰) 에서 JavaScriptSDK를 사용하는 경우 네이티브 앱의 수정 없이 카카오 공유하기 기능을 사용하는 방법이 있을까요?
-
수정 범위를 알고 싶어서요, 혹시 하이브리드앱 가이드에 나온 내용대로 ios, aos의 스킴을 추가하고 메서드를 오버라이딩 하면 바로 해결이 가능한지 알려주실 수 있으신가요?
tim.l
2
안녕하세요.
카카오톡 공유하기는 모바일에서 카카오톡 앱을 호출하여 사용하기때문에 네이티브 수정없이 불가능합니다.
앱 호출부 구현을 해주셔야합니다.
수정 범위를 알고 싶어서요
네, 가이드대로 톡호출 할 수 있게 AndroidManifest.xml 에 톡패키지명 설정해주시고 shouldOverrideUrlLoading에 인텐트 스킴으로 톡 실행할 수 있게 해주시면됩니다.
1개의 좋아요
넵 Android의 경우 다음과 수정하여 카카오톡 공유하기 기능을 사용하겠습니다.
- AndroidManifest.xml 톡패키지명 설정
- shouldOverrideUrlLoading 에 인텐트 스킴으로 톡 실행할 수 있도록 수정
그리고, ios의 경우 다음과 같이 가이드가 작성되어 있는데요
유니버셜 링크로를 사용하면 네이티브 앱 수정 없이 가능한것으로 파악되어서요
카카오톡 공유하기 - 개발 가이드: iOS 링크
iOS 앱의 경우, 유니버셜 링크가 호출되었을 때는 별도 처리 없이 앱 실행이 가능하지만, 커스텀 URL 스킴이 호출된 경우 해당 URL을 웹뷰에서 open(_ url:)
메서드를 호출하여 앱을 실행해야 합니다.
혹시, 네이티브 앱 수정없이 유니버셜 링크를 통해 카카오톡 공유하기를 사용하는 방법이 있을까요?
tim.l
4
아!! JS SDK V2가 어제 배포되었는데요.
V1과 달리 V2에서는 카카오톡 공유 기능의 사용자 동선 개선을 위한 iOS Universal Links 도입되었습니다.
한번 사용해보시겠어요?
Kakao Developers
안녕하세요 JS SDK V2 를 적용해보았습니다만 유니버셜 링크를 통한 공유가 제대로 작동하지 않는것 같아서요.
혹시, JS SDK V1을 사용하는 경우 iOS는 네이티브 앱의 어느부분을 수정하면 되는지 혹시 가이드를 주실 수 있으신가요?
tim.l
6
JS SDK V2 는 저도 하이브리드앱 테스트를 좀 해보겠습니다.
JS SDK V1 카카오톡 공유하기에서 카카오톡 앱 호출은 아래내용 참고 부탁드려요.
Kakao Developers
tim.l
7
@haruholic cc. @woody.ho @holden.joo
안녕하세요.
테스트용 iOS 하이브리드앱을 만들어 디벨로퍼스 데모페이지의 JS SDK V2 카카오톡 공유하기 실행해봤는데요.
별도의 하이브리드앱내 코드 추가없이 카카오톡을 띄워 공유하는 부분 잘 처리되는 것을 확인했습니다.
JS SDK V2 를 적용해보았습니다만 유니버셜 링크를 통한 공유가 제대로 작동하지 않는것 같아서요.
혹시, 제대로 작동하지 않는 어떤 증상이 있었는지 알 수 있을까요?
1개의 좋아요