๐ŸŽฎ Unity Study/Unity

[Facebook Unity SDK] Social Login ๊ธฐ๋Šฅ ๊ตฌํ˜„

ibelieveinme 2022. 3. 24. 14:26
728x90

Chapter1. ์‚ฌ์ „ ์ค€๋น„๋ฌผ ์…‹ํŒ…

 

1. Facebook ๊ฐœ๋ฐœ์ž ๊ณ„์ •

2. ์‚ฌ์šฉํ•  ์•ฑ ๋“ฑ๋ก

3. Facebook Unity SDK ๋‹ค์šด๋กœ๋“œ


1. Facebook ๊ฐœ๋ฐœ์ž ๊ณ„์ •

: https://developers.facebook.com/docs/development/register์—์„œ Facebook ๊ฐœ๋ฐœ์ž ๊ณ„์ •์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

์œ„ ์‚ฌ์ดํŠธ์—์„œ Get Started ๋ฅผ ๋ˆ„๋ฅด๊ณ  facebook ๊ณ„์ •์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋กœ๊ทธ์ธ ํ•œ ๋’ค, ๊ณ„์ •์„ ๊ฐœ๋ฐœ์ž๋กœ ์„ ํƒ(๋“ฑ๋ก)ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

* ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ฐธ๊ณ (https://developers.facebook.com/docs/development/register)

 

2. ์‚ฌ์šฉํ•  ์•ฑ ๋“ฑ๋ก

: ์‚ฌ์šฉํ•  ์•ฑ์„ ๋งŒ๋“ค๊ณ  ์œ„์—์„œ ๋งŒ๋“  ๊ณ„์ •์— ๋“ฑ๋กํ•ด์ค˜์•ผ ํ•œ๋‹ค.(https://developers.facebook.com/apps/)

* ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ฐธ๊ณ (https://developers.facebook.com/docs/development/create-an-app)

 

์ด ๋•Œ, ์•ฑ ์œ ํ˜•์„ ์„ค์ •ํ•˜๊ฒŒ ๋˜์–ด ์žˆ๋Š”๋ฐ ์•ฑ ์œ ํ˜•์€ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ๋Šฅ(๊ถŒํ•œ)์— ๋”ฐ๋ผ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "์†Œ๋น„์ž" ์œ ํ˜•๊ณผ "๊ฒŒ์ด๋ฐ ์„œ๋น„์Šค" ์œ ํ˜•์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ œํ’ˆ๊ณผ ๊ถŒํ•œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ž์„ธํ•œ๊ฑด ํ•˜๋‹จ ์ฐธ๊ณ ๋ฌธ์„œ ๋งํฌ ์ฐธ์กฐ ~!

 

์ฐธ๊ณ  ๋ฌธ์„œ(https://developers.facebook.com/docs/development/create-an-app/app-dashboard/app-types)

 

๋˜ํ•œ, ์•ฑ ์ด๋ฆ„์„ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”๋ฐ, facebook ์™€ ๊ฐ™์€ ๋‹จ์–ด๋Š” ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ถ”ํ›„์— ๋ณ€๊ฒฝ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์•ฑ์„ ๋งŒ๋“ค์—ˆ์œผ๋ฉด ์•ฑ ์•„์ด๋””๊ฐ€ ์ƒ์„ฑ์ด ๋œ๋‹ค.

 

3. Facebook Unity SDK ๋‹ค์šด๋กœ๋“œ

: https://developers.facebook.com/docs/unity ์—์„œ Facebook Unity SDK๋ฅผ ๋‹ค์šด๋ฐ›๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  Unity Project์— import ํ•œ ๋’ค, ์œ„์—์„œ ์ƒ์„ฑ๋œ App Id์™€ App Name์„ Facebook SDK์˜ FacebookSettings ์—์„œ App Name๊ณผ App Id๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค. 

* Facebook Unity SDK ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ฐธ๊ณ (https://developers.facebook.com/docs/unity/gettingstarted )

 

 

Chapter2. ์ฝ”๋“œ ์ž…๋ ฅ ๋ฐ ์‹คํ–‰

: FacebookScript ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ Facebook SDK ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ถ€๋ถ„, ๊ถŒํ•œ ๋ถ€์—ฌํ•˜๋Š” ๋ถ€๋ถ„, ๊ธฐ๋Šฅ ์‹คํ–‰ํ•˜๋Š” ๋ถ€๋ถ„ ์ ๊ณ  ์‹คํ–‰~!

using UnityEngine;
using Facebook.Unity;
using System.Collections.Generic;

public class FacebookScript : MonoBehaviour{

    void Awake(){
        if (!FB.IsInitialized) {
            FB.Init(() => {
                if (FB.IsInitialized)
                    FB.ActivateApp();
                else Debug.LogError("Couldn't initialize");
            },
            isGameShown => {
                Time.timeScale = (isGameShown) ? 1 : 0;
            });
        }
        else FB.ActivateApp();
    }

    #region Login / Logout
    public void FacebookLogin() {
        var permissions = new List<string>() { "public_profile", "email", "user_friends" };
        FB.LogInWithReadPermissions(permissions, AuthCallback);
    }
    public void FacebookLogout() {
        FB.LogOut();
    }
    private void AuthCallback(ILoginResult result) {
        if (FB.IsLoggedIn) {
            var acessToken = AccessToken.CurrentAccessToken;
            Debug.Log(acessToken.UserId);
            foreach (string permission in acessToken.Permissions) {
                Debug.Log(permission);
            }
        }
        else {
            Debug.Log("User cancelled login");
        }
    }
    #endregion
}

 

728x90