dev/aos

[AOS] 카카오 공유하기( Kakao Message Share) 4011 Error

캄춰 2023. 12. 1. 15:10
728x90
반응형

요새 뉴스에 카카오에 대한 문제가 많이 나오지만,

개발을 하면서 느낀 카카오 문서와 Q&A는 역시 훌륭한 개발자들이 모여 있는 곳 같다.

 

카카오 공유하기 기능이 디바이스마다 차이를 보여 주었다.

잘되는가 싶더니 '4011 Error'를 유발하였다.

분명, 앱 키도 잘 넣었고, 문서대로 하였고, QnA에 있는 내용을 검토하여 Kakao.cleanup()을 하고 init하였는데도

'4011 Error'가 계속해서 발생하였다.

 

지금 이 글을 찾은 이도 돌고 돌아 산을 넘고 넘어 나의 게시글에 당도 했을 것이라 생각한다.

 

카카오 문서는 읽을 때 한 글자, 한 글자 놓치지 말고 잘 읽길 바란다 (나에게 하는 말)

 

Manifest에서 intent-filter내부 데이터에 

android:host="kakaolink" 로 기입해야할 것을 내 무의식이 android:host="kakaotalk"을 해놓고,

작업을 하기도 하였다. 이렇듯 문서를 꼼꼼히 그리고 더욱더 겸손히 개발할 것.

 

 

카카오 하이브리드 앱 가이드 링크 : https://developers.kakao.com/docs/latest/ko/javascript/hybrid

 

문서에서는 WebViewClient쪽에서 'shouldOverridingUrlLoading'부분에서 intent를 scheme형태로 받아서

startActivity(intent) 하여 카카오톡 공유하기 기능이 설명되어 있을 것이다.

 

하지만, 여기서 문제인 것이 웹에서 공유하기 기능을 요청했는데 앱 쪽 WebViewClient에서 'shouldOverridingUrlLoading' 메서드를 타지 않아서일 것이다.

여기서부터 헤매이길 시작한다.

 

분명, 카카오팀에서 문서에 잘 설명 해놓았다.

- 팝업 웹뷰 처리 << 

팝업 웹뷰로 호출이 되면, 바로 앱 쪽의 'shouldOverridingUrlLoading' 메서드를 타지 않는다.

Window.open()이 되어 WebChromeClient의 오버라이드 함수인 'onCreateWindow'함수를 타게 된다.

 

 

isDialog를 보고 새로운 팝업 형태라면,

해당 Dialog에 웹뷰를 띄우는 방식으로 보여주는 방법도 있다.

참고 링크 : https://hyedu.tistory.com/15

 

나머지는 모두 카카오 공식 문서의 내용을 참고하면 충분히 정상 동작이 된다.

본인이 모두 그대로 했는데도 안된다면 그것은 오타가 있거나 놓친 부분이 있다.(또 나에게.._)

728x90
반응형