카카오톡 공유하기 기능

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.

SDK 버전 : 1.43.5

카카오톡 공유하기 기능을 서비스 하고 있습니다.
이슈 사항은 사용자 휴대폰에 카카오톡이 설치되지 않았을 경우에 fallback 정책이 없는지 에러가 나서요.

현재 Kakao.Link를 사용하고 있는데 Kakao.Share로 변경하면 SNS 공유하기시 APP이 미설치된 사용자에게는 스토어로 자동 이관이 될까요?

관련해서 테스트 방법도 있다면 문의 드립니다.

안녕하세요.

확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/ 의 내 애플리케이션에 표시되는 ID 값 입니다.
숫자로된 ID 입니다
ex) 123456

[@tim.l @woody.ho]

483289 입니다.

안녕하세요.

Kakao.Share 사용하시면, 톡 미설치 시 설치 페이지로 이동합니다.

이슈 사항은 사용자 휴대폰에 카카오톡이 설치되지 않았을 경우에 fallback 정책이 없는지 에러가 나서요.

어떻게 테스트 하셨나요? 재현가능한 URL 알려주시겠어요?

관련해서 테스트 방법도 있다면 문의 드립니다.

별도 테스트 방법이 따로 없고 카카오톡 설치안된 모바일 기기에서 테스트 하실 수 있습니다.

작업 방식은 아래와 같습니다.
sdk 버전 링크 정보 변경 후 Link를 Share로 변경하였습니다.

AS-IS

  1. https://developers.kakao.com/sdk/js/kakao.min.js incule
  2. Kakao.init()
  3. Kakao.Link.sendDefault()
  4. Kakao.Link.cleanup()

TO-BE
1.https://t1.kakaocdn.net/kakao_js_sdk/2.7.4/kakao.min.js
2. Kakao.init()
3. Kakao.Share.sendDefault()
4. Kakao.Share.cleanup()

위와 같이 작업을 하였습니다. ( 인앱입니다. )

일반 모바일 브라우저에서는 정상 작동하지요?

유추해볼만한 상황은

(1) 인앱브라우저 또는 팝업에서 사용자 액션없이 스크립트 실행으로 외부 앱 실행하거나 설치하려는 경우, 브라우저에서 차단
(2) 카카오톡 설치 후, 접근권한 동의만하고 로그인 안한경우 / 직장프로필에서 일반프로필 앱 실행하려고하는 경우
ㄴ 카카오톡에서 Activity간통신으로 NotSupportedError에러를 전달하는데요.
iOS와 달리 Android에서는 브라우저에서 응답을 못받는 알려진 이슈가 있습니다.

에러가 발생한다고 하셨는데 어떤 에러가 발생하나요?

모바일 브라우저에서도 작동은 안하고 있습니다.
PC 버전은 팝업으로 아이디/ 패스워드 입력 후 공유 하는 것으로 처리가 되는데
크롬 모바일 버전에서는 동일하게 에러가 발생하고 있습니다.

AS-IS

TO-BE

네, 크롬 모바일 개발자 모드로는 테스트 하실 수 없습니다.

카카오톡 실행을 위한 모바일 인텐트 스킴이 호출되나 PC에서 인텐트 스킴은 작동하지 않습니다.
모바일 기기에서 테스트 부탁드려요~

TO-BE 캡쳐화면은 스킴과 무관한 코드 문제로 보이네요. 작성하신 코드 블럭도 공유 부탁드려요.

linkurl: 공유하고자 하는 URL 정보 입니다.

init() 후 아래 함수를 호출하고 있습니다.

Kakao.Share.sendDefault({
                    objectType: 'feed',
                    content: 
                    {
                      title: mainTitle, 
                      description: p.description,
                      imageUrl: p.img_path,
                      link: {
                        mobileWebUrl: linkUrl,
                        webUrl: linkUrl
                      }
                    },
                    buttons: [
                      {
                        title: '웹으로 보기',
                        link: {
                          mobileWebUrl: linkUrl,
                          webUrl: linkUrl
                        }
                      },
                      {
                        title: '앱으로 보기',
                        link: {
                          androidExecParams: 'url=' + linkUrl,
                          iosExecParams: 'url=' + linkUrl
                        }
                      }
                    ]
                }); 
                Kakao.Share.cleanup();

Share - Kakao JavaScript SDK

v1은 1.40.0 버전 부터 androidExecutionParams 과 같이 서버 명과 통일 되었고 기존 사용자를 위해 androidExecParams 혼용 하도록 허용했으나

v2는 androidExecutionParams, iosExecutionParams 만 사용됩니다.

변경해보시겠어요?

감사합니다.
해결 되었습니다.

1개의 좋아요