Javascript SDK
    • PDF

    Javascript SDK

    • PDF

    Article Summary

    Classic/VPC 환경에서 이용 가능합니다.

    웹에서 게임팟을 연동하기 위한 GAMEPOT Javascript SDK 사용법에 대해 설명합니다. SDK를 설치하고 환경을 구성함으로써 게임과 대시보드를 연동할 수 있습니다.

    Javascript용 GAMEPOT SDK를 사용하기 위한 요구 사양은 다음과 같습니다.

    • 최소 사양: 크롬 4, IE 8, Firefox 3.5, Safari 4, Opera 10.50 등

    SDK 설치 및 환경 구성

    JavaScript SDK를 사용하기 위한 기본 설정 방법은 다음과 같습니다.

    1. gamepot-sdk-javascript-lastest.min.js을 다운로드해 주십시오.
    2. 다운받은 파일을 gamepot-sdk-javascript-lastest.min.js를 head와 head 사이에 추가해 주십시오.
      <head><script src="gamepot-sdk-javascript-lastest.min.js"></script></head>
      
      // 혹은 CDN 링크를 바로 사용해도 됩니다. (추천)    
       <head><script src="https://gamepot.gcdn.ntruss.com/gamepot-sdk-javascript-lastest.min.js"></script></head>
      

    GamePot Javascript SDK 는 npm 패키지로 제공되며 yarn을 통해서도 사용할 수 있습니다.

    # using npm
    npm install gamepot
    
    # using yarn
    yarn add gamepot
    

    소셜 로그인 관련 콘솔 내 설정 가이드: 다운로드

    사용 가능 로그인: 구글/페이스북/애플 로그인

    애플 로그인의 경우 게임팟 대시보드 > 프로젝트 설정 > 일반 > Apple ID Login 항목이 기압되어야 합니다.
    로그인하는 도메인의 주소를 게임팟 대시보드 > 프로젝트 설정 > 일반 > WEB- 허용 도메인에 정보가 기입되어야 합니다.

    초기화

    웹페이지 로딩이 완료될 때 실행할 수 있도록 window.onload = function() {...} 또는 jQuery를 사용하는 경우 $(ducement).ready(function() {...}) 블록 내에서 초기화합니다.

    
    <!-- YOUR WEB HTML CODES -->
    <script>
    window.onload = function () {
        // 프로젝트 ID는 게임팟 대시보드에서 확인할 수 있습니다.
        var project_id = 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxx';
        var gamepotConfig = {
          // 공통
          api_url: "https://gpapps.gamepot.ntruss.com",
          api_key: "XXXXXXXXXXXXX",
          // Google 로그인을 사용하는 경우 아래와 같이 Google API 클라이언트 ID를 입력합니다.
          google_signin_client_id:"XXXXXXXXXX-XXXXXXXXXXX.apps.googleusercontent.com",
          // 페이스북 로그인을 사용하는 경우 아래와 같이 Facebook 앱 ID를 입력합니다.
          facebook_app_id: "XXXXXXXXXX",
          // 애플 로그인을 사용하는 경우 아래와 같이 애플 콘솔의 Services ID 및 로그인을 시도하는 도메인 주소를 입력합니다.(미사용시 빈값으로 설정)
          apple_client_id: "XXXXXXXXXX",
          apple_redirect_uri: "https://XXXXXXXXXX"
    };
    GP.initialize(project_id, gamepotConfig);
    };
    </script>
    
    AttributeDescription
    project_id게임팟 대시보드 프로젝트 아이디
    api_url게임팟 대시보드에 연관된 URL (기본적으로 https://gpapps.gamepot.ntruss.com 이나 매니지드 상품 고객의 경우 해당 주소가 다르기 때문에 게임팟에 문의 필요 )
    api_keyGamePot에서 발급하는 인증 키( 대시보드 > 프로젝트 설정 > API Key)
    google_signin_client_id구글 콘솔 내 웹 애플리케이션 아이디
    facebook_app_id페이스북 앱 아이디
    apple_client_id애플 콘솔에 생성한 Services ID
    apple_redirect_uri로그인 시도하는 도메인 주소

    오류 처리

    오류 처리 방법은 모두 동일하며, function (user, error) { } 과 같이 error 가 있을 경우에는 메시지를 보여주고 에러가 없을 경우에는 성공으로 리턴한다.

    GP.login(GP.ChannelType.EMAIL, function (user, error) { 
            if(error) { // 로그인실패 
                alert(error.message); // 실패 메시지 
                return;
            } 
            alert(user);
    });
    

    로그인, 로그아웃

    구글, 페이스북, 애플ID 로그인 SDK를 통합하여 사용할 수 있습니다.

    로그인

    로그인 UI는 개발사에서 구현하고, 로그인 버튼 클릭 시에 연동합니다.

    소셜 플랫폼 로그인

    // 로그인 타입 정의
    // GP.ChannelType.GOOGLE : 구글
    // GP.ChannelType.FACEBOOK : 페이스북
    // GP.ChannelType.APPLE : 애플ID
    // GP.ChannelType.KAKAO :  카카오
    
    // 페이스북 로그인 버튼을 눌렀을 때 호출
    GP.login(GP.ChannelType.FACEBOOK, function (user, error) {
      if (error) {
        alert(error); // 오류 메세지
        return;
      }
        // 로그인 완료
        alert(user);
    });
    

    소셜 로그인의 자동으로 로그인과 동시에 게임에 가입됩니다. 가입을 원하지 않는 경우 아래 옵션을 추가 하시면 됩니다.

    GP.setAuthSignup(false);
    

    USER Data Class

    IDtypedesc
    idstring회원 아이디
    tokenstring로그인 토큰(JWT)
    nicknamestring닉네임
    providerstring소셜 로그인 종류
    providerIdstring소셜 로그인 ID
    verifystring인증여부
    agreestring약관 동의 여부

    이메일 로그인

    GP.signin("email", username, password, function(user, err) {
      if(err) {
          alert(err.message);
        } else {
          alert(user.id);
        }
    });
    

    이메일 회원가입

    GP.signup("email", username, password, name, function(user, err) {
        if(err) {
          alert(err.message);
        } else {
          alert(user);
        }
    });
    

    로그아웃

    현재 회원 계정을 로그아웃합니다.

    GP.logout(function (result, error) {
         if (error) {
                alert(error.message);
         }
        // 로그 아웃 성공
    });
    

    회원 탈퇴

    GP.withdraw(function (result, error) {
        if (error) {
             alert(error.message);
        }
        // 회원 탈퇴 성공
    });
    

    소셜 계정으로 회원 여부 확인

    로그인을 한 후에 해당 소셜 계정으로 게임팟내 회원 중에 연동되어 있는지를 확인 합니다.

    GP.linkingByUser(channeltype, function( user, error) {
        if(error) {
            alert(`${error.code}-${error.message}`); // 오류 메세지
            return false;
        }
        if(user == null)
            alert('계정 미존재')
       else if(user.member_id.id)
            alert(user.member_id.id);       // 아이디 리턴
    });
    

    USER Data Class

    IDtypedesc
    member_id.idstring게임팟 회원 아이디
    usernamestring소셜 아이디

    4. 플러그인

    게임팟 기본 기능 이외에 다양한 외부 모듈고의 연동 기능 등을 지원합니다.
    지원 가능 모듈

    • 본인 인증(다날)
    • 해외 PG(엑솔라)
    • 국내 PG(다날)

    본인 확인

    휴대폰 본인인증 서비스란 본인 명의로 휴대폰을 이용하여 인증 절차를 거쳐 본인 여부와 확인하는 기능입니다. (한국만 가능)

     GP.Identity('[본인 확인 코드]',{},function(resp) {
      if(resp.success) {
        alert(resp.orderId); 
      } else {
        alert(resp.error);
      }
    });
    

    외부 결제

    엑솔라 혹은 다날과 같은 외부PG 를 사용할때 결제창을 보여주는 함수입니다.

    function Payment(key) {
        GP.Payment(key,
          {
            userId: "[USERID]",
            productId : "[ITEMID]",
            name: "[ITEMNAME]",
            buyer_name: "[구매자명]",
            buyer_email: "[구매자EMAIL]",
        },function(resp) {
            if(resp.success) {
              alert(resp.orderId);
            } else {
              alert(resp.error);
            }
          })
      }
    
    AttributeDescription
    userId게임팟 회원 아이디
    productId상품 코드
    name아이템명
    buyer_name구매자명 (option)
    buyer_email구매자 이메일 (option)
    playerId플레이어 ID (option)
    serverId서버 ID (option)
    userdata사용자 데이터 (option)

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.