구글 개발자 등록하기

 

구글 애드몹(Admob)이나 구글에서 제공하는 서비스와 API를 이용하여 프로그래밍을 하기 위해서는 구글에 개발자 등록을 해야한다. 구글에 개발자 등록을 하기 위해서는 우선 구글 플레이 콘솔(Google Play Console)에 접속해야 한다.

 

 

구글 플레이 콘솔에 접속하기 위해서는 구글 검색창에서 구글 플레이 콘솔이라고 검색한 뒤 최상단 홈페이지에 접속하면 된다.

 

 

 

개발자 콘솔에 접속했다면 개발자 등록을 하고자하는 구글 계정으로 로그인을 한다.

 

 

구글의 개발자 등록은 위의 그림과 같은 순서로 이루어진다. 로그인 한 이후에는 개발자 계약을 수락해야 하는데, 개발자의 실수로 인해서 개발자 등록이 해지된다거나 구글의 API를 사용하거나 서비스를 이용하여 게시된 상품의 게시가 중지되는 문제가 발생할 수도 있기 때문에 계약서를 꼼꼼히 읽고 주의를 하는 것이 좋다.

 

 

계약을 수락하면 개발자 등록 수수료를 결제해야 하는데 25달러가 든다. 어떤 개발자 등록처럼 연회비 개념으로 내야하는 것이 아니라 등록할 때 최초 1회만 결제하면 되기 때문에 개발자 등록을 함으로서 얻을 이익에 비하면 부담이 적은 편이다.

 

 

구글은 별도의 공인인증서나 키보드 보안 프로그램을 강제하기 않기 때문에, 격렬한 발암 없이도 간단하게 수수료 결제를 끝낼 수 있다.

 

 

마지막으로 세부정보를 간단하게 입력하고 등록 완료를 누르면 구글 개발자 등록을 마치게 된다.

 

 

이제부터 구글에서 제공하는 개발자용 API와 서비스를 이용할 수 있고 구글 플레이 스토어를 통해 앱을 출시할 수도 있게 되었다.

 

 

[유니티 어필리에이트 프로그램]

아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Create 2D & 3D Experiences With Unity's Game Engine | Unity Pro - Unity Store

Unity Pro software is a real-time 3D platform for teams who want to design cross-platform, 2D, 3D, VR, AR & mobile experiences with a full suite of advanced tools.

store.unity.com

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

유니티에서 파이어베이스 인증(Auth) 기능 이용하기

 

 

 

네트워크 게임을 제작할 때, 중요한 부분 중의 하나가 회원가입, 로그인, 로그아웃 등의 기능을 제공하는 것이다. 이 인증 기능들을 제공하고 관리하는 것을 직접 구현하기 위해서는 해야할 일이 많다. 회원들의 목록과 정보를 관리하는 데이터베이스도 만들어야 하고 서버에 유저들이 회원가입이 로그인을 위해서 입력한 정보를 보내고 그 결과를 돌려주는 기능들 역시 직접 구현해야만 한다. 하지만 구글의 파이어베이스에서는 사용자들이 필요로 하는 기능들을 이미 제공하고 있다.

 

지난 섹션에서 우리는 파이어베이스에서 테스트 프로젝트를 생성하고 유니티와 연결하는 작업을 진행했다. 이번 섹션의 예시는 지난 섹션 이후에서 부터 시작하도록 하겠다.

 

 

파이어베이스 시작하기로 제일 첫 화면으로 들어가면 지난 섹션에서 만든 테스트 프로젝트가 보일 것이다. 그 프로젝트를 선택하면 해당 프로젝트의 설정가능한 기능들의 목록을 볼 수 있다.

 

 

이 중에서 우리가 사용할 기능을 Authentication(인증)이다. 이 기능을 이용하면 별도의 회원정보를 위한 데이터베이스 구축이나 기능 구현없이 회원가입, 로그인, 로그아웃 등의 기능을 만들 수 있다. 이 authentication 메뉴를 선택해서 들어가보면 다음과 같은 화면을 볼 수 있다.

 

 

사용자 탭에서는 현재 제공하는 프로젝트에 가입된 사용자들의 목록을 보여주는데 현재는 가입된 유저가 없기 때문에 아무런 사용자도 나오지 않는다.

 

 

그 옆의 로그인 방법 탭에서는 로그인에 사용할 방법들을 설정할 수 있다. 단순하게 이메일과 비밀번호를 이용해서 로그인 하는 방법도 제공하지만 구글 아이디나 페이스북, 트위터등의 아이디를 통해서도 가입이 가능하도록 기능을 제공하고 있다. 현재는 프로젝트가 처음으로 만들어졌기 때문에 모든 로그인 방법에 대해서 "중지됨"이라고 표시되어 있다. 이번 섹션의 예제에서는 이메일을 통한 로그인 방법을 사용해보겠다.

 

 

이메일/비밀번호 항목을 선택해서 사용설정을 켜주고 저장한다. 다만 이 부분에서 주의할 점이 하나 있다. 파이어베이스 프로젝트에서 기능 옵션을 변경하였다면 google-services.json 파일의 내용이 유니티 프로젝트에 넣어줬던 파일과 다르게 변경되기 때문에 새롭게 다운받아서 넣어주어야 한다는 것이다. 그렇게 하지 않는다면 기존의 google-services.json 파일을 사용하고 있는 프로젝트는 변경된 파이어베이스 서버에 제대로 접속할 수 없게 된다.

 

파이어베이스 프로젝트의 기능 옵션을 변경해서 google-services.json 파일을 새로 다운로드 받아야 한다면 다음의 경로를 따르면 된다.

 

 

그 다음의 작업은 유니티 프로젝트에서 이루어질 것이다. 이전 섹션에서 걸어줬던 작업에 필요한 파이어베이스 유니티 SDK를 다운로드 받을 수 있는 링크를 다시 걸겠다.

 

https://firebase.google.com/docs/unity/setup

 

다운로드 받은 SDK의 압축을 풀어보면 필요한 SDK들이 기능별로 유니티 패키지로 묶어있는 것을 볼 수 있다. 우리는 이 중에서 FirebaseAuth.unitypackage를 유니티 프로젝트에 임포트해야 한다.

 

 

유니티 에디터의 프로젝트 뷰에서 우클릭한 이후에 Import Package > Custom Package를 선택한다.

 

 

아까 받은 SDK 중에서 FirebaseAuth.unitypackage를 임포트한다.

 

 

필요한 SDK를 임포트하고 나면 프로젝트 창이 다음처럼 될 것이다.

 

 

이렇게 되면 파이어베이스의 인증 기능을 사용하기 위한 준비가 모두 끝난 것이다.

 

 

1. 회원가입기능 만들기

우선은 이메일과 비밀번호를 이용한 회원가입 기능을 제작해보겠다. 다음과 같이 UGUI를 이용해서 화면을 구성해보자.

 

 

이메일과 비밀번호를 입력할 수 있는 InputField와 회원가입, 로그인을 할 수 있는 버튼과 마지막에 결과를 알려줄 텍스트를 만들었다. 다음 과정은 인증 과정을 관리할 오브젝트를 만드는 것이다. 씬에 AuthObject를 만들고 그 오브젝트에 FirebaseManager라는 스크립트를 만들어서 붙여준다.

 

 

FirebaseManager의 코드 내용은 다음과 같다 :

 

using UnityEngine;
using UnityEngine.UI;

public class FirebaseManager : MonoBehaviour
{
    // 이메일 InputField
    [SerializeField]
    InputField emailInput;
    // 비밀번호 InputField
    [SerializeField]
    InputField passInput;
    // 결과를 알려줄 텍스트
    [SerializeField]
    Text resultText;

    // 인증을 관리할 객체
    Firebase.Auth.FirebaseAuth auth;

    // Use this for initialization
    void Awake ()
    {
        // 인증을 관리할 객체를 초기화 한다.
        auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
    }
   
    // 회원가입 버튼을 눌렀을 때 작동할 함수
    public void SignUp()
    {
        // 회원가입 버튼은 인풋 필드가 비어있지 않을 때 작동한다.
        if(emailInput.text.Length != 0 && passInput.text.Length != 0)
        {
            auth.CreateUserWithEmailAndPasswordAsync(emailInput.text, passInput.text).ContinueWith(
                task =>
                {
                    if(!task.IsCanceled && !task.IsFaulted)
                    {
                        resultText.text = "회원가입 성공";
                    }
                    else
                    {
                        resultText.text = "회원가입 실패";
                    }
                });
        }
    }

    // 로그인 버튼을 눌렀을 때 작동할 함수
    public void SignIn()
    {
        // 로그인 버튼은 인풋 필드가 비어있지 않을 때 작동한다.
        if (emailInput.text.Length != 0 && passInput.text.Length != 0)
        {
            auth.SignInWithEmailAndPasswordAsync(emailInput.text, passInput.text).ContinueWith(
                task =>
                {
                    if (task.IsCompleted && !task.IsCanceled && !task.IsFaulted)
                    {
                        Firebase.Auth.FirebaseUser newUser = task.Result;
                        resultText.text = "로그인 성공";
                    }
                    else
                    {
                        resultText.text = "로그인 실패";
                    }
                });
        }
    }
}

 

코드의 작성을 마쳤다면 유니티 에디터의 오브젝트에 필요한 오브젝트를 넣어주어야 한다. FirebaseManager에는 각 Input Field와 결과 텍스트를 넣어주고 회원가입 버튼과 로그인 버튼의 OnClick 이벤트에 AuthObject를 끼워넣고 각자 호출해야하는 함수를 설정해주어야 한다.

 

 

이상으로 유니티에서 인증 기능에 필요한 모든 것을 만들었다.

 

 

하지만 여기서 테스트할 때 주의해야 할 점은 유니티 에디터 상에서 테스트하는 경우에는 모든 통신의 결과가 성공했다고 가정했다고 진행되기 때문에 제대로된 성공이나 실패 여부를 알고자 한다면 안드로이드로 빌드하여 모바일 상에서 테스트하는 것이 좋다. 또한 유니티 에디터 상에서 테스트된 것은 파이어베이스에 등록되지 않기 때문에 여기서 회원가입에 성공했다고 하더라도 Authentication의 사용자 목록에서는 나오지 않을 것이다. 또한 주의할 점은 만약 제대로된 이메일 주소가 아니거나 비밀번호의 길이가 너무 짧다면 회원가입에 실패할 수도 있다.

 

모바일 상에서 테스트하여 성공적으로 회원가입이 된다면 Authentication의 사용자 목록에 다음과 같이 출력될 것이다.

 

 

로그인에 성공한 유저를 로그아웃 시키고자 한다면 다음의 코드를 활용하면 된다.

 

auth.SignOut();

 

 

 

 

[유니티 어필리에이트 프로그램]

아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Create 2D & 3D Experiences With Unity's Game Engine | Unity Pro - Unity Store

Unity Pro software is a real-time 3D platform for teams who want to design cross-platform, 2D, 3D, VR, AR & mobile experiences with a full suite of advanced tools.

store.unity.com

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

Unity3D 프로젝트와 Firebase 연결하기

 

개요

구글에서 Firebase라는 새로운 서비스가 나왔다. 이 서비스는 구글이 가지고 있는 인프라를 이용해서 별도의 서버실이나 장비 없이도 네트워크를 구축할 수 있도록 도와줄 뿐만 아니라 구글이 제공하는 기능들과 서비스를 이용해서 빠르고 쉽게 개발할 수 있도록 도와준다.

 

 

대표적으로 지원하는 기능은 회원가입, 로그인등을 처리할 수 있는 인증 기능과 NoSQL 기반의 실시간 데이터베이스 등이 있다. 이 구글의 Firebase를 이용해서 간단한 게임 네트워크를 구현할 수 있다.

 

 

연결하기

 

 

https://console.firebase.google.com/?hl=ko

위 주소로 들어가면 Firebase에 프로젝트를 추가할 수 있게 된다.

 

1. 프로젝트 추가를 선택한다.

 

2. 프로젝트 이름을 입력하고 국가를 선택하고 프로젝트 만들기를 누른다.

 

3. 타겟으로 하는 플랫폼을 기반으로 Firebase를 추가해야 한다. 여기서는 Android를 대상으로 Firebase를 추가할 것이다. 위 화면에서 Android 앱에 Firebase 추가를 선택한다.

 

3. Android 패키지 이름을 입력하고 앱 등록을 누른다. 이 이름은 나중에 유니티에도 입력해주어야 한다.

 

4. google-services.json 파일을 다운로드받는다.

 

여기까지 하면 우선 Firebase에서 설정할 작업은 끝났다. 이후의 작업은 유니티에서 해야하는 작업이다. 구글은 유니티에서 사용할 수 있는 파이어베이스 유니티 SDK를 제공하고 있다. 그것은 다음 링크에서 다운로드 받을 수 있다.

 

https://firebase.google.com/docs/unity/setup

 

파이어베이스 유니티 SDK를 다운로드 받았다면 새 유니티 프로젝트를 생성해야한다. 프로젝트가 생성된 이후에는 아까전에 다운로드 받은 google-services.json 파일을 프로젝트에 포함시켜 준다.

 

 

그리고 Edit > Project Settings > Player 에 들어가서 Package Name에 아까 전에 파이어베이스 프로젝트를 생성하면서 입력했던 Android 패키지 이름을 넣어준다.(이 예제에서는 com.firebase.test 이다.)

 

 

그리고 난 이후에 아까전에 받은 파이어베이스 유니티 apk의 압축을 풀어서 그 중에 필요로 하는 기능을 유니티에서 임포트해야 한다.

 

 

이상의 과정이 모두 끝난다면 파이어베이스와 유니티를 연결하는 과정은 모두 끝이 난다. 이후의 섹션에서는 파이어베이스의 각 기능을 활용하는 법에 대해서 알아볼 것이다.

 

추가적으로 이야기해야할 점은, 이번 예시에서 파이어베이스 프로젝트에 등록된 앱은 안드로이드 앱이기 때문에, 유니티로 만든 게임이 파이어베이스 서버에 접속하기 위해서는, 게임을 안드로이드로 빌드해서 모바일에 넣어주어야 한다는 것이다.

 

 

 

[유니티 어필리에이트 프로그램]

아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Create 2D & 3D Experiences With Unity's Game Engine | Unity Pro - Unity Store

Unity Pro software is a real-time 3D platform for teams who want to design cross-platform, 2D, 3D, VR, AR & mobile experiences with a full suite of advanced tools.

store.unity.com

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형

+ Recent posts