Facebook-sdk-for-unity: iOS : "Facebook์—์„œ์ด ํŽ˜์ด์ง€๋ฅผ์—ฌ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?" ํŒ์—… ์ฐจ๋‹จ ๋กœ๊ทธ์ธ

์— ๋งŒ๋“  2020๋…„ 07์›” 13์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: facebook/facebook-sdk-for-unity

์ฒดํฌ๋ฆฌ์ŠคํŠธ

ํ™˜๊ฒฝ

์—ฌ๊ธฐ์— ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค๋ช…ํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”. ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ํฌํ•จํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

  • Unity ์—๋””ํ„ฐ ๋ฒ„์ „ : 2019.3.0f3
  • Unity SDK ๋ฒ„์ „ : 7.19.2
  • ์„ค์น˜ ํ”Œ๋žซํผ ๋ฐ ๋ฒ„์ „ : iOS ๋ฒ„์ „ 13.5.1

๋ชฉํ‘œ

Facebook์œผ๋กœ ๊ฒŒ์ž„์— ๋กœ๊ทธ์ธํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ์ƒ ๊ฒฐ๊ณผ

์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ์ธ ํ๋ฆ„์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ๊ฒฐ๊ณผ

iPhone X์—์„œ ์‹คํ–‰ํ•  ๋•Œ FB.LogInWithReadPermissions ํ˜ธ์ถœํ•˜๊ณ  ํ”„๋กฌํ”„ํŠธ์—์„œ "๊ณ„์†"์„ ํƒญํ•˜๋ฉด ๋‹ค์Œ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

IMG_1972

"Facebook์—์„œ์ด ํŽ˜์ด์ง€๋ฅผ ์—ด๊ฒ ์Šต๋‹ˆ๊นŒ?"๋ฅผ ๋‹ซ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. "์ทจ์†Œ", "์—ด๊ธฐ"๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ํŒ์—… ์™ธ๋ถ€๋ฅผ ๋ˆŒ๋Ÿฌ ํŒ์—…๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์˜ ์™ผ์ชฝ ์ƒ๋‹จ "์ทจ์†Œ"๋ฒ„ํŠผ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. Facebook ์•ฑ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ฉด ํ•œ ๋ฒˆ์˜ ์‹คํ–‰์— ๋Œ€ํ•œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์ง€๋งŒ ํ›„์† ์‹คํ–‰์˜ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐ˜ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” iOS 13.5.1์ด ์„ค์น˜๋œ iPad Pro ๋˜๋Š” iOS 12.4.7์ด ์„ค์น˜๋œ iPad Air์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” ๊ฒŒ์ž„์—์„œ ์—ฐ ์›น ์‚ฌ์ดํŠธ (์˜ˆ : Google ๋กœ๊ทธ์ธ SDK)์—์„œ ํ…์ŠคํŠธ ์ž…๋ ฅ์„ ์œ„ํ•ด ํ‚ค๋ณด๋“œ๊ฐ€ ์—ด๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ์ด ๋ฌธ์ œ๋Š” Facebook ์•ฑ์„ ์ œ๊ฑฐํ•œ ํ›„ iPhone์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค (๋‹ค์‹œ ์„ค์น˜ ํ•œ ํ›„ ์ค‘๋‹จ๋จ)! ๊ทธ๋Ÿฌ๋‚˜์ด ๋ฌธ์ œ๋Š” Facebook ์•ฑ ์„ค์น˜ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด iPad์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„

ํŽธ์ง‘ : ์„ฑ๊ณต์ ์œผ๋กœ ์žฌํ˜„ :

  1. ์ƒˆ Unity ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  SDK 7.19.2๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  2. Play Services Resolver ์ œ๊ฑฐ
  3. Parse and Play Services Resolver์—†์ด Google ๋กœ๊ทธ์ธ 1.0.4 ์ถ”๊ฐ€
  4. ์™ธ๋ถ€ ์ข…์†์„ฑ ๊ด€๋ฆฌ์ž 1.2.156์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  5. ์นด๋ฉ”๋ผ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค๊ณ ์— Start ์ „ํ™” FB.Init ๋‹ค์Œ์„ FB.LoginWithReadPermissions
  6. ์žฅ์น˜ SDK๋กœ iOS ์šฉ ๋นŒ๋“œ
  7. Podfile์—์„œ GoogleSignIn ๋ฒ„์ „์„ < 5.0.0
  8. iOS 13.5.1์ด ์„ค์น˜๋œ iPhone X ๋ฐ Facebook ์•ฑ์—์„œ ์‹คํ–‰ (๋‹ค๋ฅธ iPhone์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Œ)

์ฝ”๋“œ ์ƒ˜ํ”Œ ๋ฐ ์„ธ๋ถ€ ์ •๋ณด

์žฌ์ƒ์‚ฐ์œผ๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์•”ํ˜ธ:

public class TestScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        FB.Init(() => {
            FB.LogInWithReadPermissions(
                new List<string>() { "public_profile", "email", "user_friends", "user_posts" }, 
                loginResult => {

                }
            );
        });
    }

    // Update is called once per frame
    void Update()
    {

    }
}

์‚ฐ์ถœ:

2020-07-13 10:45:05.042142-0400 FacebookSandbox[11263:4698992] Built from '2019.3/staging' branch, Version '2019.3.0f3 (6c9e2bfd6f81)', Build type 'Release', Scripting Backend 'il2cpp'
-> applicationDidFinishLaunching()
2020-07-13 10:45:05.608167-0400 FacebookSandbox[11263:4698992] FBSDKLog: starting with Graph API v2.4, GET requests for /1184331378431008/model_asset should contain an explicit "fields" parameter
-> applicationDidBecomeActive()
GfxDevice: creating device client; threaded=1
Initializing Metal device caps: Apple A11 GPU
Initialize engine version: 2019.3.0f3 (6c9e2bfd6f81)
2020-07-13 10:45:05.630826-0400 FacebookSandbox[11263:4699191] [] tcp_input [C2.1:3] flags=[R] seq=4067646681, ack=0, win=0 state=CLOSED rcv_nxt=4067646681, snd_una=952914416
2020-07-13 10:45:05.631434-0400 FacebookSandbox[11263:4699191] [] tcp_input [C2.1:3] flags=[R] seq=4067646681, ack=0, win=0 state=CLOSED rcv_nxt=4067646681, snd_una=952914416
2020-07-13 10:45:05.633674-0400 FacebookSandbox[11263:4699191] [] tcp_input [C1.1:3] flags=[R] seq=1622058020, ack=0, win=0 state=CLOSED rcv_nxt=1622058020, snd_una=3506061178
2020-07-13 10:45:05.633732-0400 FacebookSandbox[11263:4699191] [] tcp_input [C1.1:3] flags=[R] seq=1622058020, ack=0, win=0 state=CLOSED rcv_nxt=1622058020, snd_una=3506061178
2020-07-13 10:45:06.342714-0400 FacebookSandbox[11263:4698992] Unbalanced calls to begin/end appearance transitions for <SplashScreenController: 0x15dd05b40>.
2020-07-13 10:45:06.359559-0400 FacebookSandbox[11263:4699195] [] tcp_input [C3.1:3] flags=[R] seq=2077033276, ack=0, win=0 state=CLOSED rcv_nxt=2077033276, snd_una=616266740
2020-07-13 10:45:06.361976-0400 FacebookSandbox[11263:4699195] [] tcp_input [C3.1:3] flags=[R] seq=2077033276, ack=0, win=0 state=CLOSED rcv_nxt=2077033276, snd_una=616266740
2020-07-13 10:45:06.365490-0400 FacebookSandbox[11263:4699195] [] tcp_input [C6.1:3] flags=[R] seq=2625008296, ack=0, win=0 state=CLOSED rcv_nxt=2625008296, snd_una=1507674903
2020-07-13 10:45:06.365527-0400 FacebookSandbox[11263:4699195] [] tcp_input [C6.1:3] flags=[R] seq=2625008296, ack=0, win=0 state=CLOSED rcv_nxt=2625008296, snd_una=1507674903
2020-07-13 10:45:06.901348-0400 FacebookSandbox[11263:4699192] [] tcp_input [C5.1:3] flags=[R] seq=1080860623, ack=0, win=0 state=CLOSED rcv_nxt=1080860623, snd_una=3380130027
2020-07-13 10:45:06.905260-0400 FacebookSandbox[11263:4699192] [] tcp_input [C5.1:3] flags=[R] seq=1080860623, ack=0, win=0 state=CLOSED rcv_nxt=1080860623, snd_una=3380130027
UnloadTime: 0.302667 ms
Using Facebook Unity SDK v7.19.2 with FBiOSSDK/6.5.2
Facebook.Unity.CompiledFacebookLoader:Start()

(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

-> applicationWillResignActive()
-> applicationDidBecomeActive()

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

iOS 13์„ ์‹คํ–‰ํ•˜๋Š” ๋งŽ์€ iPhone ์žฅ์น˜์—์„œ ๋™์ผํ•œ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋‚ด ์ฝ”๋“œ๋Š” @michelleran ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํŒ์—… ๋Œ€ํ™” ์ƒ์ž์—์„œ "์—ด๊ธฐ"๋ฐ "์ทจ์†Œ"๋ฅผ ํด๋ฆญ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค (์ด ๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•˜๋ ค๋ฉด ๋จผ์ € safari์—์„œ Facebook์—์„œ ๋กœ๊ทธ ์•„์›ƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค).
์ œ ๊ฒŒ์ž„์€ Cooking Marina์ด๋ฉฐ Apple Store์—์„œ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Xcode 10์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ปดํŒŒ์ผํ•˜๋ฉด ๋กœ๊ทธ์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์„ฑ๊ณตํ•˜์ง€๋งŒ Xcode 10์œผ๋กœ App Store์— ๋นŒ๋“œ๋ฅผ ์—…๋กœ๋“œ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
iPad์—์„œ ๋กœ๊ทธ์ธ ํ๋ฆ„์„ ํ…Œ์ŠคํŠธํ•˜๋ฉด ๋กœ๊ทธ์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•ญ์ƒ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฒ„๊ทธ๋Š” iOS 13์ด ์„ค์น˜๋œ iPhone์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๊ณง ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ชจ๋“  6 ๋Œ“๊ธ€

์žฌํ˜„ ๋‹จ๊ณ„๋กœ ํŽธ์ง‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@michelleran ๋‹˜ ,์ด ๋ฌธ์ œ๋ฅผ ์‹ ๊ณ  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์•ฑ ์ด๋ฆ„์„ ์•Œ๋ ค์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

Facebook ๊ฐœ๋ฐœ์ž ๋Œ€์‹œ ๋ณด๋“œ์—์žˆ๋Š” ์ด๋ฆ„์„ ์–ธ๊ธ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด "์ผ€์ดํฌ ๊ฒŒ์ž„"์ž…๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ๊ฒŒ์‹œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

iOS 13์„ ์‹คํ–‰ํ•˜๋Š” ๋งŽ์€ iPhone ์žฅ์น˜์—์„œ ๋™์ผํ•œ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๋‚ด ์ฝ”๋“œ๋Š” @michelleran ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํŒ์—… ๋Œ€ํ™” ์ƒ์ž์—์„œ "์—ด๊ธฐ"๋ฐ "์ทจ์†Œ"๋ฅผ ํด๋ฆญ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค (์ด ๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•˜๋ ค๋ฉด ๋จผ์ € safari์—์„œ Facebook์—์„œ ๋กœ๊ทธ ์•„์›ƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค).
์ œ ๊ฒŒ์ž„์€ Cooking Marina์ด๋ฉฐ Apple Store์—์„œ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Xcode 10์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ปดํŒŒ์ผํ•˜๋ฉด ๋กœ๊ทธ์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์„ฑ๊ณตํ•˜์ง€๋งŒ Xcode 10์œผ๋กœ App Store์— ๋นŒ๋“œ๋ฅผ ์—…๋กœ๋“œ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
iPad์—์„œ ๋กœ๊ทธ์ธ ํ๋ฆ„์„ ํ…Œ์ŠคํŠธํ•˜๋ฉด ๋กœ๊ทธ์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•ญ์ƒ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฒ„๊ทธ๋Š” iOS 13์ด ์„ค์น˜๋œ iPhone์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๊ณง ํ•ด๊ฒฐ์ฑ…์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@michelleran ๋‹ต์žฅ์„

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ๋ฆ„์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์Šต๋‹ˆ๊นŒ?

Unity ์—๋””ํ„ฐ ๋ฒ„์ „ : 2019.4.23f1
Unity SDK ๋ฒ„์ „ : 9.1.0
์„ค์น˜ ํ”Œ๋žซํผ ๋ฐ ๋ฒ„์ „ : iOS ๋ฒ„์ „ 14.4.2

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰