어제는 카카오톡 로그인을 하였다.
이번에는 페이스북 로그인을 할 것
유니티에서 새 프로젝트를 만들어준다.
https://developers.facebook.com/docs/unity/gettingstarted
컨트롤 클릭으로 새창으로 열기
이 페이지로 들어와 진다.
위에 내앱 클릭
앱 만들기 클릭 게임으로
앱 이름 적기
fb 는 들어가면 안된다.
만들어준다.
만들면 이런 대쉬보드로 오게 된다.
설정 - 기본 설정
앱 ID 와 시크릿 코드를 사용 할 것이다.
https://developers.facebook.com/docs/unity
유니티 sdk 를 다운 받아준다.
유니티에서 새로운 프로젝트를 만들어준다.
만들면 안드로이드 플랫폼 변경하기
다운 받은 페이스북 패키지를 임포트 해준다.
다 되면 페이스북 SDK의 이그젬플 - Main menu 열기
리졸빙 끝
메인 메뉴 열어서 플레이를 하면
이러한 화면이 뜬다.
페이스북은 빌드를 하지않아도 테스트를 할 수 있는 환경을 만들어 주었다.
FB init 를 눌르주면 밑에 버튼들이 활성화된다.
클래식 로그인 버튼 클릭
이 창이 뜬다.
Find 에세스 토큰 누르면
이 앱 토큰 저장하기
권한을 부여해야합니다. 클릭하기
저 페이지는 도구 - 그래프 API 탐색기로 들어갈수있다.
내 앱 선택 후
제네레이트 에세스 토큰 눌르면 토큰이 생긴다.
둘 다 메모장에 저장해주기
유니티에서 그 토큰을 넣어주기
샌드 서섹스 눌러주기
--------
로그 뷰 떄문에 다시 한다..
플레이 끄고, 빌드 세팅에서 두 개 넣어주기
다시 플레이 누르고
Log 버튼을 누르면
이런게 뜬 것이다.
로그가 찍힌다.
여기가지하면 로그인은 된것이다.
------
도큐먼터리를 본다.
유니티
페이스북 - 에디터 세팅 -
이런 게 뜬다.
위의 앱 ID 를
유니티 에 넣어준다.
기존거 지워주고, 빌드세팅에 모든 씬 넣고
플레이어 세팅 가서
패키지 이름 내껄로 바꾸고
민 레벨은 15렙 이상으로 하기
그러면 핸들러가 돌아감
플랫폼 추가
패키지 이름에 패키지 네임
클래스 에 클래스 네임 넣기
캐 해쉬를 넣어야하는데 제레네이트 해도 안된다.
SDK 가 기본 유니티로 되어있다.
안드로이드 스튜디오를 연다.
SDK 체크 해제해주기
위의 경로로 유니티 SDK 바꾸주고,
레벨을 맞춰서 체크하고 어플라이 해준다.
없으면 설치를 해야할 것이다.
설치하고 유니티 SDK 경로 변경해주기
그래도
OpenSSL 설치를 해야한다.
그리고 환경변수를 바꿔줘야한다.
https://code.google.com/archive/p/openssl-for-windows/downloads
이 링크로 가서
두번쨰거 다운 받기
C 드라이브에 넣기
편집
빈 폴더 추가해주기
이번에는 키툴이 없다
위에 환경 변수 넣은 것 처럼
자바 환경변수를 넣어주고, 재부팅해준다.
정상적으로 뜬다.
이어서 플랫폼에 위에 키를 넣어준다.
위에서 카테고리를 선택해주고 변경내용저장해야한다.
우리는 구글 플레이에 저장 안되서 그냥 이 이름으로 사용하기 해야함
메인메뉴가 제일 위로가게 해서 빌드해준다.
이런식으로 빌드를 하면된다.
https://developers.facebook.com/docs/unity/examples
예제를 보자
이제 로그인 코딩을 칠 것이다
원래 우리 씬으로 돌아와서
UI 만들어 준다.
버튼 하나 만들어주고
App 스크립터 만들기
그냥 app 에 버튼 클릭하면 로그 나오게하기
app 스크립터 수정
https://developers.facebook.com/docs/unity/examples
이거 기반으로
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Facebook.Unity;
public class App : MonoBehaviour
{
public Button btnFacebook;
private List<string> perms = new List<string>() { "public_profile", "email" };
private void Awake()
{
if (!FB.IsInitialized)
{
// Initialize the Facebook SDK
FB.Init(InitCallback, OnHideUnity);
}
else
{
// Already initialized, signal an app activation App Event
FB.ActivateApp();
}
}
void Start()
{
this.btnFacebook.onClick.AddListener(() => {
Debug.Log("facebook login");
FB.LogInWithReadPermissions(perms, AuthCallback);
});
}
private void InitCallback()
{
if (FB.IsInitialized)
{
// Signal an app activation App Event
FB.ActivateApp();
// Continue with Facebook SDK
// ...
}
else
{
Debug.Log("Failed to Initialize the Facebook SDK");
}
}
private void OnHideUnity(bool isGameShown)
{
if (!isGameShown)
{
// Pause the game - we will need to hide
Time.timeScale = 0;
}
else
{
// Resume the game - we're getting focus again
Time.timeScale = 1;
}
}
private void AuthCallback(ILoginResult result)
{
if (FB.IsLoggedIn)
{
// AccessToken class will have session details
var aToken = Facebook.Unity.AccessToken.CurrentAccessToken;
// Print current access token's User ID
Debug.Log(aToken.UserId);
// Print current access token's granted permissions
foreach (string perm in aToken.Permissions)
{
Debug.Log(perm);
}
}
else
{
Debug.Log("User cancelled login");
}
}
}
이 코드 넣고, 빌드해보기
샘플 씬만 넣어서 빌드하기
녹스에 오면 이런게 로그인 창이 뜬다.
녹스에서 렉이 너무 심한데 눕혓다가 다시 세우면된다.
근데 나는 로그인 횟수 시도가 많아서 차단됌
어쨋든 이걸로 로그인 되는 걸 확인했다
이제 페이스북 id를 가져와서 쓰면 된다.
'Unity > 서버' 카테고리의 다른 글
210713_ 데이터베이스 프로그래밍 (복습 및 시험) (0) | 2021.07.13 |
---|---|
210712_ 웹프로그래밍 서버 api 만들기(복습) (0) | 2021.07.12 |
0708_ 카카오로그인 ( 유니티에서 WebView_OnMessageReceived 데이터 받아서 유니티에서 띄우기) (0) | 2021.07.08 |
0708_ 서버 (firebase_구글 아날리틱스) (0) | 2021.07.08 |
0630_ 서버(FireBase) (0) | 2021.06.30 |