앱케이크_appcake_하이브리드앱제작_Admin.png

1.sns로그인 기능을 위한 준비사항(애플은 제외 : 애플로그인은 필요없음)

2.웹소스 수정코드

웹소스상의 sns 로그인버튼에...
앱이면... 아래처럼 링크가 적용되도록 해주시면 됩니다.
***아래 sns로그인중 소스중 해당하는 로그인기능만 사용하면 됨.**
<script>

function snslogin(snstype){
		var param;
    if(systype.indexOf('facebook') != -1){
        //페북로그인 변수
        param = {
            action: 'facebooklogin',
            callback_fun: 'login_callback', //=> 인증결과 값 받을 javascript 함수명
            callback_url: ''  //인증결과 값을 넘겨받을 url(사용하지 않을경우 값을 비우면 됨)
        }
    }else if(systype.indexOf('google') != -1){
        //구글로그인 변수
        param = {
            action: 'googlelogin',
            callback_fun: 'login_callback', //=> 인증결과 값 받을 javascript 함수명
            callback_url: ''  //인증결과 값을 넘겨받을 url(사용하지 않을경우 값을 비우면 됨)
        }
    }else if(systype.indexOf('naver') != -1){
        //네이버로그인 변수
        param = {
            action: 'naverlogin',
            callback_fun: 'login_callback', //=> 인증결과 값 받을 javascript 함수명
            callback_url: ''  //인증결과 값을 넘겨받을 url(사용하지 않을경우 값을 비우면 됨)
        }
    }else if(systype.indexOf('kakao') != -1){
        //카카오로그인 변수
        param = {
            action: 'kakaologin',
            callback_fun: 'login_callback', //=> 인증결과 값 받을 javascript 함수명
            callback_url: ''  //인증결과 값을 넘겨받을 url(사용하지 않을경우 값을 비우면 됨)
        }
    }else if(systype.indexOf('apple') != -1){
        //애플로그인 변수
        param = {
            action: 'applelogin',
            callback_fun: 'login_callback', //=> 인증결과 값 받을 javascript 함수명
            callback_url: ''  //인증결과 값을 넘겨받을 url(사용하지 않을경우 값을 비우면 됨)
        }
    }
    //앱단 sns로그인 기능호출
    webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify(param));
}

//sns인증결과 값을 받을 함수 정의
function login_callback(val){
    //인증된 결과값 확인하여 필요한 (기존)로그인로직에 사용하면 됨.
    alert(JSON.stringify(val)); //값 확인용 alert
}

</script>
<!-- 페북로그인 버튼등 해당 스타일의 sns로그인버튼을 만들고 아래처럼 링크를 적용함-->
<a href="javascript:snslogin('google')">구글로그인</a>
<a href="javascript:snslogin('facebook')">페북로그인</a>
<a href="javascript:snslogin('naver')">네이버로그인</a>
<a href="javascript:snslogin('kakao')">카카오로그인</a>
<a href="javascript:snslogin('apple')">애플로그인</a>

<!--
*추가적으로 연동 필요한 변수가 있다면 말씀해주세요. 협의하여 정의하면 됩니다.
*웹단에선 네이티브sdk sns로그인 기능이 동작하지 않으므로...
아래처럼 앱인지 웹인지 구분의 ua값을 체크하여 구분하는 소스를 활용하면 됩니다.
-->

<script>
if(navigator.userAgent.toLowerCase().indexOf('mobileapp') != -1){
    //앱인경우

} else {
    //웹인경우

}
</script>

3.SNS인증이후 웹의 로그인/회원가입 처리

**- 실제 서비스 로그인은 웹단에서 처리하셔야 합니다. 앱에선 각 SNS의 로그인인증만을 처리합니다.**
- 앱단에서 SNS로그인인증을 통해 가져온 개인정보로(아래 4번정보 참고)... 실제 로그인인증처리 및 가입화면등에 정보표시는 웹단에서 기존 로직에 적용하여 처리하시면 됩니다.

4.웹URL 및 javascript함수에 넘겨주는 변수정보 연동방법