이번 시간에는 소셜로그인 기능을 구현해보고자 한다.
Setting up PlayFab authentication using Facebook and Unity - PlayFab
Guides you through an example of PlayFab authentication using Facebook and Unity.
learn.microsoft.com
강의에 앞서, 위 문서를 읽고
요 부분 까지는 직접 세팅 해보길 바란다.
직접 세팅을 끝냈다면, 예제 코드가 있는데 이 예제 코드를 우리 코드에 맞춰 조금 개량해볼 예정이다.
필자도 소셜 로그인 기능은 이번에 문서를 보고 처음 만들어보는 거라 불필요한 코드가 있을 수 있다.
해당 부분은 추후 직접 개량 해보도록 하자.
using Facebook.Unity;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LoginWindowView : MonoBehaviour
{
public InputField Username;
public InputField Password;
public InputField ConfirmPassword;
public Button PlayAsGuestButton;
public Button RegisterButton;
public Button PlayAsFaceBookButton;
private void Awake()
{
FB.Init(OnFBInitComplete, (res)=> { });
}
private void OnFBInitComplete()
{
if (AccessToken.CurrentAccessToken != null)
{
PlayFabAuthService.Instance.AuthTicket = AccessToken.CurrentAccessToken.TokenString;
}
}
private void Start()
{
RegisterButton.onClick.AddListener(OnClickRegisterOrLogin);
PlayAsFaceBookButton.onClick.AddListener(OnClickFaceBook);
}
private void OnClickFaceBook()
{
FB.LogInWithReadPermissions(new List<string>() { "public_profile", "email", "user_friends" }, OnHandleFBResult);
}
private void OnHandleFBResult(ILoginResult result)
{
PlayFabAuthService.Instance.AuthTicket = AccessToken.CurrentAccessToken.TokenString;
PlayFabAuthService.Instance.RegisterOrLoginFaceBook();
}
private void OnClickRegisterOrLogin()
{
PlayFabAuthService.Instance.RegisterOrLoginPlayFab(Username.text, Password.text);
}
}
일단 핵심은, FB Init을 반드시 실행 시켜줄 것,그리고 AuthTicket을 얻어야 한다는 것 이다.
이유를 보자면
https://learn.microsoft.com/en-us/rest/api/playfab/client/authentication/login-with-facebook-instant-games-id?view=playfab-rest
Request Body에 반드시 AuthTicket이 들어가야 하기 때문이다.
public void RegisterOrLoginFaceBook()
{
PlayFabClientAPI.LoginWithFacebook(new LoginWithFacebookRequest()
{
TitleId = PlayFabSettings.TitleId,
AccessToken = AuthTicket,
CreateAccount = true
}, (Loginresult) => { Debug.Log($"로그인 성공{Loginresult.LastLoginTime}"); }, (error) => { Debug.Log(error.Error); });
}
이제 해당 코드를 적절히 계정 관리 매니저에 넣어주고 테스트 해보자.
요 화면이 나왔다면 성공이다. Face Book 로그인의 경우 아무래도 PC에선 확인이 불가능하고 빌드 후 직접 APK에서 확인 해봐야 한다. 또 IOS, Android를 설정해주는 방법이 각각 다르니 이 부분도 맨 위에 공식 문서를 참고하자.
여 하튼 공식문서를 보면 알겠지만 UserToken 부분을 복사해서 넣어주고 Send Success를 눌러주면 끝이다.
이후 정상적으로 로그인 성공 메세지가 나왔음을 확인할 수 있으며
플레이 팹 대쉬보드에서 Players 가 정상적으로 추가 되었음을 확인 할 수 있다.
'Unity > Unity&PlayFab' 카테고리의 다른 글
(PlayFab)03.로그인 및 계정 생성 폴리싱 (0) | 2023.09.07 |
---|---|
02. PlayFab 로그인/계정 생성 시작 (0) | 2023.09.05 |
01. PlayFab SDK 설치 (0) | 2023.09.05 |
00. PlayFab 사용법과 강의 목적. (0) | 2023.09.05 |