안녕하세요?
현재 카카오싱크를 구현해서 쓰고 있습니다. 그런데 사용자가 페이스북(인앱 브라우저)에서 자사 사이트 게시물을 열어 카카오 간편가입하려고 하면 다소 문제가 있는데 아래 2가지 경우로 나누어 해결법을 여쭤보고자 합니다.
- 아이폰X 페북 인앱브라우저에서 Kakao.Auth.login 함수 호출 시 이미 로그인되어있는 카톡 앱으로 전환되지 않구요. 사용자가 새로이 아이디/비번을 입력하게 만듭니다. 카톡 앱이 설치되어있는지 먼저 체크하고 카톡 앱으로 전환하게 할 수 없을까요?
해당 현상 녹화 파일 보기:
https://www.dropbox.com/s/hzv3ystwf8kysxa/iPhone%20X_Not_Jumping_To_App.MOV?dl=0
- 안드로이드 (S8+ 기종)에서 사용자가 게시물을 열고 카카오 간편가입 링크를 열어 '동의’를 했는데요. 회원가입 등 처리가 모두 끝나기도 전에 곧바로 페북으로 돌아옵니다. 적어둔 코드가 모두 실행되고 돌아오도록 할 수는 없을까요?
해당 현상 녹화파일 보기:
https://www.dropbox.com/s/34vb8ttjka6utld/S8_Returns_Back_After_Agree.mp4?dl=0
구현 로직/코드 구조는 아래와 같습니다. 위 질문도 다시 적어드립니다:
Kakao.init([JS key]);
$('.kakao_join').on("click",function (e) {
//버튼 클릭 시 로그인 과정 실행`
Kakao.Auth.login({
success: function (authObj) {
signup(authObj);
},
fail: function (err) {
//Kakao.Auth.login 실패 처리
}
});
});
//1. iPhoneX 의 경우 이 함수에서 카톡 앱이 실행이 안 되고 새로운 로그인 창이 뜹니다. 카톡앱이 설치되어 있는지 확인부터 하고, 로그인되어있는 카톡앱으로 전환하게 만드는 코드는 없을까요?
}
function signup(authObj) {
//로그인 성공 시 정보제공 동의 요청.
Kakao.API.request({
url: '/v2/user/me',
success: function (kakao_res) {
//회원등록 처리하는 부분.
//2, 안드로이드 S8+ 사실 여기서 이미 중단됐을 수도 있구요...
window.userId.signup('회원등록 처리 중')
.done(function (res) {
if (res.status === "ok") {
//2. 안드로이드 S8+ (혹은 이전 기종에서도 마찬가지로 발생) 회원 등록이 성공하면 사용자에게 추가로 인풋을 받거나 정보를 처리해야 할 일들도 있는데 곧바로 페북 앱으로 돌아가버립니다. 아래 남은 코드도 모두 실행한 후에 돌아가도록 할 수는 없을까요? 삼성 인터넷 브라우저에서는 이러한 문제가 없습니다.
}
})
.fail(function (error) {
//회원등록 실패 시 처리
});
},
fail: function (error) {
//카톡 정보 불러오기 실패 시 처리
},
});
}
그럼 답변 기다리겠습니다.
감사합니다!