요새 뉴스에 카카오에 대한 문제가 많이 나오지만,
개발을 하면서 느낀 카카오 문서와 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
나머지는 모두 카카오 공식 문서의 내용을 참고하면 충분히 정상 동작이 된다.
본인이 모두 그대로 했는데도 안된다면 그것은 오타가 있거나 놓친 부분이 있다.(또 나에게.._)
'dev > aos' 카테고리의 다른 글
[AOS] Android Studio(개발용 단축키&설정) Basic for Dev (0) | 2023.12.07 |
---|---|
[AOS] 로그필터(Logcat Filter) (0) | 2023.12.04 |
[AOS] asset폴더 만들기/생성 (0) | 2023.12.01 |
[AOS] SigningKey 글자 명시(gradle.properties) (0) | 2023.11.30 |
[AOS] 라이브러리 Github, JitPack연결 (0) | 2023.11.28 |