• 티스토리 홈
  • 프로필사진
    개양반
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
개양반
  • 프로필사진
    개양반
    • Everybody Happyvirus (87)
      • Unity DOTS (19)
        • ECS Sample Projtect (8)
        • Unity.Physics (1)
        • TIP (9)
      • Unity Assets 추천 (6)
        • BG Database (5)
        • I2 Localization - 현지화 (1)
      • Unity 자습서 (15)
        • Addressable (4)
        • 유니티 + 파이어베이스 (0)
        • GamingServices (10)
      • 주식 이야기 (4)
        • 회사 소개 (2)
        • 회사 정보 (1)
        • 실적 발표 (0)
      • 일상 생활 (9)
        • 도서리뷰 (2)
        • 제품리뷰 (6)
      • 게임일기 (2)
        • 리그오브레전드 (2)
      • 게임소개 (4)
      • 게임리뷰 (7)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 유니티 Webgl 파이어베이스(firebase) - 이메일 로그인 #3
        2021년 05월 22일
        • 개양반
        • 작성자
        • 2021.05.22.:20

        가. 오늘 공부할 내용

        https://tv.kakao.com/channel/3265468/cliplink/419304090


        나. 동영상 강좌

        https://tv.kakao.com/channel/3265468/cliplink/419308709


        다. 자바스크립트 라이브러리 수정

        1) firebaseauth.jslib 을 열고 수정합니다. SignInWithEmailAndPassword 함수가 추가되었습니다.

        mergeInto(LibraryManager.library, {
        
        	CreateUserWithEmailAndPassword: function(email, password, objectName, callback, fallback) {
        
        	    var parsedEmail = Pointer_stringify(email);
                var parsedPassword = Pointer_stringify(password);
                var parsedObjectName = Pointer_stringify(objectName);
                var parsedCallback = Pointer_stringify(callback);
                var parsedFallback = Pointer_stringify(fallback);
        
                try {
        
                    firebase.auth().createUserWithEmailAndPassword(parsedEmail, parsedPassword).then(function (unused) {
                        window.unityInstance.SendMessage(parsedObjectName, parsedCallback, "Success: signed up for " + parsedEmail);
                    }).catch(function (error) {
                        window.unityInstance.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error)));
                    });
        
                } catch (error) {
                    window.unityInstance.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error)) );
                }
        	},
        
            SignInWithEmailAndPassword: function (email, password, objectName, callback, fallback) {
        
                var parsedEmail = Pointer_stringify(email);
                var parsedPassword = Pointer_stringify(password);
                var parsedObjectName = Pointer_stringify(objectName);
                var parsedCallback = Pointer_stringify(callback);
                var parsedFallback = Pointer_stringify(fallback);
        
                try {
        
                    firebase.auth().signInWithEmailAndPassword(parsedEmail, parsedPassword).then(function (unused) {
                        window.unityInstance.SendMessage(parsedObjectName, parsedCallback, "Success: signed in for " + parsedEmail);
                    }).catch(function (error) {
                        window.unityInstance.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error)) );
                    });
        
                } catch (error) {
                    window.unityInstance.SendMessage(parsedObjectName, parsedFallback, JSON.stringify(error, Object.getOwnPropertyNames(error)) );
                }
            }
        
        });

        #코드설명

        signInWithEmailAndPassword 는 파이어베이스 자바스크립트 코드입니다. 이메일, 비밀번호 로그인을 할 때 사용됩니다.

         


        라. 유니티 스크립트 수정

        1) Assets\FirebaseWebGL\Scripts 폴더에 있는 FirebaseAuth.cs를 수정합니다.

        using System.Runtime.InteropServices;
        
        namespace FirebaseWebGL.Scripts.FirebaseBridge
        {
            public static class FirebaseAuth
            {
                [DllImport("__Internal")]
                public static extern void CreateUserWithEmailAndPassword(string email, string password, string objectName, string callback, string fallback);
        
                [DllImport("__Internal")]
                public static extern void SignInWithEmailAndPassword(string email, string password, string objectName, string callback, string fallback);
            }
        }

        #코드 설명

        자바스크립트 라이브러리인 signInWithEmailAndPassword 함수를 실행하는 SignInWithEmailAndPassword함수가 추가되었습니다. 

         

        2) \Assets\Scripts 폴더에 있는 AuthHandler.cs 에 아래 함수를 추가합니다.

        public void SignWithEmailAndPassword() =>
                    FirebaseAuth.SignInWithEmailAndPassword(emailInput.text, passwordInput.text, gameObject.name, "DisPlayInfo", "DisplayError");

        #코드 설명

        위에서 만든 FirebaseAuth.SignInWithEmailAndPassword 를 호출하는 함수입니다. 로그인 성공시 DisPlayInfo함수를 호출하고 로그인이 실패하면 DisplayError함수를 실행합니다.


        마. UI 작업

        로그인 버튼을 만들고 클릭이벤트로 위에서 만든 AuthHandler.cs의 SignWithEmailAndPassword함수가 실행되도록 연결합니다.


        바. 빌드 후 Index.html 수정

        1) Webgl빌드를 진행합니다.

        2) Index.html 에 파이어베이스 웹 구성 코드와 Firebase JS SDK 인증 코드를 넣습니다. 어제 메모장에 보관하라고 말씀드린 그 코드입니다. 기억이 안나신 분들은 이전 강좌를 다시 한번 봐주세요.

        [프로그램 강좌/유니티 + 파이어베이스] - 유니티 Webgl 파이어베이스(firebase) - 이메일 가입 #2

         

        유니티 Webgl 파이어베이스(firebase) - 이메일 가입 #2

        가. 오늘 공부할 내용 https://tv.kakao.com/channel/3265468/cliplink/419279136 나. 동영상 강좌 https://tv.kakao.com/channel/3265468/cliplink/419286343 다. 자바스크립트 라이브러리 생성 1) 윈도우에서 As..

        mrbinggrae.tistory.com

         


        사. 웹사이트에 올려서 테스트하기

        1) Webgl 파일이 있는 폴더를 압축합니다. 

        2) https://itch.io/ 로 가서 압축한 파일을 업로드하고 테스트합니다.

         

         

        저작자표시 (새창열림)

        'Unity 자습서 > 유니티 + 파이어베이스' 카테고리의 다른 글

        유니티 Webgl 파이어베이스(firebase) - 페이스북 로그인 #5  (0) 2021.05.27
        유니티 Webgl 파이어베이스(firebase) - 구글로그인 #4  (0) 2021.05.25
        유니티 Webgl 파이어베이스(firebase) - 이메일 가입 #2  (6) 2021.05.21
        유니티 Webgl 파이어베이스(firebase) - 세팅 #1  (0) 2021.05.20
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바