Facebook-sdk-for-unity: Android - ์ข…์†์„ฑ์˜ ๋น„ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธํ•œ ์‹œ์ž‘ ์‹œ ์ถฉ๋Œ

์— ๋งŒ๋“  2019๋…„ 08์›” 03์ผ  ยท  25์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: facebook/facebook-sdk-for-unity

์•ˆ๋…•ํ•˜์„ธ์š”,

์šฐ๋ฆฌ๋Š” Firebase SDK์™€ ํ•จ๊ป˜ Facebook SDK๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ Unity 2019.2๋กœ ์—…๋ฐ์ดํŠธํ•œ ํ›„ (Unity ํŽธ์ง‘๊ธฐ์˜ ์˜ค๋ฅ˜๋กœ ์ธํ•ด) Firebase SDK๋ฅผ ๋ฒ„์ „ 6.2.2๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ–ˆ์œผ๋ฉฐ ์ด์ œ ๋ฌธ์ œ๋กœ ์ธํ•ด Facebook SDK์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ข…์†์„ฑ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋™์•ˆ Play Services Resolver์—์„œ ๋ฐ›์€ ๊ฒฝ๊ณ ์ž…๋‹ˆ๋‹ค.

์ผ๋ถ€ ์ถฉ๋Œํ•˜๋Š” ์ข…์†์„ฑ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ ์ข…์†์„ฑ ๋ฒ„์ „์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
com.android.support:appcompat-v7:25.3.1 --> androidx.appcompat:appcompat:1.0.0
com.android.support:cardview-v7:25.3.1 --> androidx.cardview:cardview:1.0.0
com.android.support:customtabs:25.3.1 --> androidx.browser:browser:1.0.0
com.android.support:support-v4:25.3.1 --> androidx. ๋ ˆ๊ฑฐ์‹œ:legacy-support-v4 :1.0.0

Android์—์„œ ์‹œ์ž‘ ์‹œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋งŽ์ด ํŒŒ๊ณ  ๋“ค์ง€๋Š” ์•Š์•˜์ง€๋งŒ Play Services Resolver๋ฅผ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์—ฌ๊ธฐ์—์„œ ์ข…์†์„ฑ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://github.com/facebook/facebook-sdk-for-unity/blob/master/Facebook.Unity .Editor/android/AndroidSupportLibraryResolver.cs ๊ฐ€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์•„๋ณด์‹ญ์‹œ์˜ค:
https://github.com/googlesamples/unity-jar-resolver/blob/master/CHANGELOG.md#version -12118---jun-18-2019
ํ•ด๊ฒฐ์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BTW, Firebase๋Š” ์ด์ œ Play Services Resolver 1.2.122๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์Šค๋ถ SDK์šฉ์œผ๋กœ๋„ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Unity 2019.2์—์„œ ๊ณต์‹ Facebook SDK๋ฅผ Firebase์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ์ •๋ง ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Unity ๋ฒ„์ „๋„ ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ๊ผผ์ง ๋ชปํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ๊ฒŒ์ž„์—์„œ Facebook ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

https://github.com/facebook/facebook-sdk-for-unity/issues/281 ๋Œ“๊ธ€ ์ค‘ ํ•˜๋‚˜์— ์„ค๋ช…๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

@KylinChang - ์˜ˆ, ํ˜„์žฌ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ @michael-looply๊ฐ€ ๋งŒ๋“  ํฌํฌ ๋•๋ถ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ฃผ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ž„์‹œ ์ˆ˜์ •์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ณ ๋งˆ์›Œ.

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

@andnoonesthere ์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ์–ด์ œ 2019.2.0f1 ๋ฐ Firebase์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ํฌํฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. Android์™€ iOS์—์„œ ๋‘ SDK์˜ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฒฝ๊ณ ๋กœ, ๋‚ด ํฌํฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ 2019.2.0f1 ์ด์ „ Unity ๋ฒ„์ „์œผ๋กœ ์ œ๊ณต๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด SDK๋ฅผ ๋นŒ๋“œํ•  ๋•Œ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

SDK๋ฅผ ๋กœ์ปฌ๋กœ ๋นŒ๋“œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ Hub ๊ธฐ๋ฐ˜ Unity ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ตฌ์„ฑ์„ ์š”๊ตฌํ•˜๋„๋ก ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค( .csproj ํŒŒ์ผ ๋ฐ ์…ธ ์Šคํฌ๋ฆฝํŠธ์—๋Š” ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ๊ฒฝ๋กœ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ Unity์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋จธ์‹ ์—์„œ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋ณ€๊ฒฝํ•œ ์‚ฌํ•ญ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ด€๋ จ diff๊ฐ€ ์—ฌ๊ธฐ ์— ์—ฌ๊ธฐ ์—

์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.


์ด๋ฒˆ์— ์˜ฌ๋ฐ”๋ฅธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ฒŒ์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ํŠน์ • ๋ฌธ์ œ์™€ ๊ด€๋ จ๋œ ์ถ”๊ฐ€ ์ฐธ๊ณ  ์‚ฌํ•ญ: ๊ท€ํ•˜์˜ ์˜๊ฒฌ์—์„œ ์ฐธ์กฐํ•œ ํ•ด์„๊ธฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ข…์†์„ฑ์„ Dependencies.xml ํŒŒ์ผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ํ•ด์„๊ธฐ ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์ข…์†์„ฑ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ฒช๊ณ  ์žˆ๋˜ ๋ฌธ์ œ; ์ž˜ํ•˜๋ฉด ๋‹น์‹ ๋„ ๊ทธ๋“ค์„ ๊ณ ์น  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ๋งˆ์ดํด,

๋ฐฉ๊ธˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ(Android๋งŒ ํ•ด๋‹น) ์ €์—๊ฒŒ๋„ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ž˜ ํ–ˆ์–ด! :)
๋‚˜๋Š” ๋˜ํ•œ ์˜์กด์„ฑ์„ Dependencies.xml ํŒŒ์ผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•œ ์ผ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‚ดํŽด๋ณด๋ฉด ์ข…์†์„ฑ ๋ฐ ์†”๋ฃจ์…˜ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ๋ชจ๋‘ ๊ฐœ๋ฐœ์ž๊ฐ€ SDK์— ํฌํ•จํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํ–ฅํ›„ ์ž์ฒด ์ˆ˜์ •์ด ๋” ์‰ฌ์›Œ์ ธ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—…์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ณต์‹ ํŒจ์น˜๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ๋‹น์‹ ์˜ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ๊ฒƒ ๊ฐ™์•„์š” :)

๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธ ํ›„์— ์žฅ์น˜์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ธ ๋™์•ˆ ํŽธ์ง‘๊ธฐ์—์„œ ๋‹ค์Œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

FB.Init()๋Š” ์ด๋ฏธ ํ˜ธ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ํ•œ ๋ฒˆ๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ•œ ๋ฒˆ๋งŒ ํ˜ธ์ถœ๋œ๋‹ค๊ณ  100% ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ „์— FB.IsInitialized์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ˆ˜์ •๊ณผ ๊ด€๋ จ์ด ์—†์ง€๋งŒ ์ตœ๊ทผ FB SDK์˜ ์ผ๋ถ€ ๋ฒ„๊ทธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ๋„ ์ด๊ฒƒ์„ ๊ฒฝํ—˜ํ•œ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

๋„์™€ ์ค„ ์ˆ˜์žˆ์–ด์„œ ๊ธฐ๋ป! 2019.2.0f1์ด ๊ณต์‹์ ์œผ๋กœ ์ถ”๊ฐ€๋  ๋•Œ๊นŒ์ง€ ์ƒˆ SDK ๋ฒ„์ „์ด ์ถœ์‹œ๋˜๋ฉด ํฌํฌ๋ฅผ ๊ณ„์† ์—…๋ฐ์ดํŠธํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ๋งˆ์ง€๋ง‰ ์˜๊ฒฌ๊ณผ ๊ด€๋ จํ•˜์—ฌ: ํŽธ์ง‘๊ธฐ๋‚˜ ์žฅ์น˜์— ํ•ด๋‹น ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด ์˜์‹ฌ ๋‹น์‹ ์ด๋ณด๊ณ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค ๊ทธ ๋•Œ๋ฌธ์— FB.Init() ์ฆ‰์‹œ ์„ค์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค FB.IsInitialized ์— true ; SDK๋Š” FB.IsInitialized ๊ฐ€ ์„ค์ •๋˜๊ธฐ ์ „์— ์ดˆ๊ธฐํ™”๋ฅผ ์™„๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—๋””ํ„ฐ๋Š” ํŠนํžˆ ์—ฌ๊ธฐ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” DLL ๋กœ๋“œ ๋Œ€๋ฆฌ์ž๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

FB.IsInitialized ๊ฐ€ true ์ธ์ง€ ์—ฌ๋ถ€์™€ ํ•จ๊ป˜ Facebook ์ดˆ๊ธฐํ™”๊ฐ€ ์ง„ํ–‰ ์ค‘์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ํ•จ๊ป˜ bool _isInitializing; ๋กœ ์„ค์ • ๊ฐ€๋„๋ก true ์‹œ FB.Init ์™€ ์„ธํŠธ false ์—์„œ InitDelegate FB.Init ๋ฉ”์†Œ๋“œ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์ด๋ฏธ ์™„๋ฃŒ๋œ ๊ฒฝ์šฐ ์™ธ์— ์ง„ํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€ FB.Init ํ˜ธ์ถœ์„ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ค, ์˜ค๋ฅ˜๋Š” ์žฌ์ƒ ๋ชจ๋“œ์—์„œ ์žฅ๋ฉด์„ ๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฌ์ƒ ๋ชจ๋“œ์— ๋“ค์–ด๊ฐˆ ๋•Œ ๋กœ๋“œ๋œ ๋ชจ๋“  ์žฅ๋ฉด์„ ์–ธ๋กœ๋“œํ•œ ๋‹ค์Œ ์‚ฌ์šฉ์ž ์ •์˜ ์žฅ๋ฉด ์„ธํŠธ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๊ทธ๊ฒƒ์ด ๋‘ ๋ฒˆ๋กœ๋“œ ๋œ ๊ณณ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ์–ธ๋กœ๋“œ ๋œ ๊ธฐ๋ณธ ์žฅ๋ฉด์— ์ด๋ฏธ๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•”ํŠผ ํŒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

์•ˆ๋…•ํ•˜์„ธ์š” @KylinChang์ž…๋‹ˆ๋‹ค. ํ์‡„๋œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๋ฏธ ์ข…์†์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์œผ๋ฉฐ ๋‹ค์Œ ๋ฒ„์ „์— ํฌํ•จ๋  ์˜ˆ์ •์ž…๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

@andnoonesthere ์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์„ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.

@KylinChang - ์˜ˆ, ํ˜„์žฌ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ @michael-looply๊ฐ€ ๋งŒ๋“  ํฌํฌ ๋•๋ถ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ฃผ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ž„์‹œ ์ˆ˜์ •์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ณ ๋งˆ์›Œ.

์•ˆ๋…•ํ•˜์„ธ์š” @andnoonesthere ์™€ @michael-looply์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฒ„์ „์˜ Firebase ๋ฐ Play Services Resolver๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜๋Š” ๋” ๊ฐ„๋‹จํ•œ ์งˆ๋ฌธ์œผ๋กœ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

์šฐ๋ฆฌ๋Š” ์ •ํ™•ํžˆ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ ํ”Œ๋ ˆ์ด ์„œ๋น„์Šค ๋ฆฌ์กธ๋ฒ„์™€ ํ•จ๊ป˜ Firebase 6.2.2๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๊ณ  @michael-looply๊ฐ€ ํ”Œ๋ ˆ์ด ์„œ๋น„์Šค ๋ฆฌ์กธ๋ฒ„์™€ ํ•จ๊ป˜ ์ œ๊ณตํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค(๋‘ ๋ฆฌ์กธ๋ฒ„์™€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๋ฆฌ์กธ๋ฒ„๋ฅผ ๋ชจ๋‘ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. gradle ์‚ฌ์šฉ) ํ•˜์ง€๋งŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋˜๋Š” Facebook๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ๋‹ค๋ฅธ ํ”Œ๋Ÿฌ๊ทธ์ธ(AdMob, IronSource ๋“ฑ)์ด ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @Wolar - ์ €๋Š” Firebase 6.2.2์™€ Resolver 1.2.124.0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ํ”„๋กœ์ ํŠธ์—๋Š” PlayServicesResolver ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ? ์ €๋Š” ํ˜„์žฌ Unity Ads ์™ธ๋ถ€์—์„œ ๊ด‘๊ณ  ๋ฏธ๋””์—์ด์…˜ SDK๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ด๊ฒƒ์ด ๋” ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š”์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Gradle ๋นŒ๋“œ ์˜ค๋ฅ˜์ด๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Jetifier๋ฅผ ์‚ฌ์šฉํ•˜๋Š” "com.android.support.support-v4-27.0.2.aar'. ์ด์œ . ์ฃผ์–ด์ง„ ์•„ํ‹ฐํŒฉํŠธ์—๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ๋‹ค์‹œ ์ž‘์„ฑํ•  ์ˆ˜ ์—†๋Š” ํŒจํ‚ค์ง€ ์ฐธ์กฐ 'android.support.v4'๊ฐ€ ์žˆ๋Š” ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํ”Œ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. androidx..()์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์ฃผ์„ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๋ฏ€๋กœ"

Facebook SDK์—์„œ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ  ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. PlayServicesResolver์—์„œ Jetifier ํ™œ์„ฑํ™” ๋ฐ ๋น„ํ™œ์„ฑํ™”๋ฅผ ๋ชจ๋‘ ์‹œ๋„ํ–ˆ์ง€๋งŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ PlayServicesResolver๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Plugins ํด๋”์— ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ณ  ํ•ด๋‹น gradle ํ…œํ”Œ๋ฆฟ์— ์ถ”๊ฐ€ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž ์ง€์ • gradle ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ œ ์ƒ๊ฐ์—๋Š” ์•„๋ฌด๋Ÿฐ ์—ญํ• ์„ ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@Wolar ์ž์‚ฐ ๋””๋ ‰ํ† ๋ฆฌ์— ํ•ด๋‹น AAR์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‹ค๋ฅธ SDK๊ฐ€ Resolver๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  AAR์„ ํ”„๋กœ์ ํŠธ๋กœ ์ง์ ‘ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜๋Š” mainTemplate.gradle ์˜ ์ข…์†์„ฑ ๋ธ”๋ก์— ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋‘ ๊ฐœ์˜ ์ฐธ์กฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋™์ผํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋‘ ๊ฐ€์ง€ ๋ช…์‹œ์  ๋ฒ„์ „์„ ๋‚˜์—ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜์กด์„ฑ ๋ธ”๋ก์— implementation 'com.android.support:support-v4:25.3.1' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:7 ์™€ ๊ฐ™์€ ํ•œ ์ค„์˜ Resolver๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ

// Android Resolver Dependencies Start
... dependencies
// Android Resolver Dependencies End

์„น์…˜์ด ์žˆ๊ณ  implementation 'com.android.support:support-v4:27.0.2' ์™€ ๊ฐ™์€ ์„น์…˜ ์™ธ๋ถ€์— ๋‹ค๋ฅธ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ๋นŒ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ironSource Unity ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐธ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ mainTemplate.gradle ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•  ๊ฒƒ์„ . mainTemplate.gradle์„ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋Š” ๋Œ€์‹  Resolver๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ironSource์šฉ Dependencies.xml ์„ ์ƒ์„ฑํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

@michael-looply ํ”Œ๋Ÿฌ๊ทธ์ธ ํด๋”์—๋„ AAR ์ค‘ ํ•˜๋‚˜๊ฐ€ ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•˜์ง€๋งŒ ์˜ˆ์ƒ๋Œ€๋กœ ์‚ญ์ œ๋ฅผ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋„์›€์ด ๋˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. IronSource์™€ ๊ฐ™์€ ๋‹ค๋ฅธ SDK๋„ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๊ทธ๊ฒƒ์€ ๋” ๋งŽ์€ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ์ •๋ง ๋„์›€์ด ๋œ ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ๋ฅผ Android Studio ํ”„๋กœ์ ํŠธ๋กœ ๋‚ด๋ณด๋‚ด๊ณ  ๊ฑฐ๊ธฐ์—์„œ ๋””๋ฒ„๊ทธํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” AdMob ๋ฐ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” Fabric์˜ ์ผ๋ถ€ ๋‚จ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€๋„ ์ถฉ๋Œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ AdMob์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ณ  ํ•ด๋‹น aar๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ข…์†์„ฑ ํŒŒ์ผ์—์„œ ๋ช‡ ๊ฐ€์ง€ ๋ฒ„์ „์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•˜๋“œ ๋ณ€๊ฒฝํ–ˆ์œผ๋ฉฐ androidx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ jetifier์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค @michael-looply

@Wolar ์ž‘๋™ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์†Œ์‹์„ ๋“ค์œผ๋‹ˆ

@KylinChang ์–ธ์ œ ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ง„์ „์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@KylinChang ?

2020๋…„ 2์›”์—๋„ ์—ฌ์ „ํžˆ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

  • Unity 2019.3.1f1(๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ๋ถˆ๊ฐ€๋Šฅ)
  • ์ตœ์‹  facebook-unity-sdk-7.18.1
  • ์ตœ์‹  AdMob์œผ๋กœ ์ธํ•œ androidx ๋ฐ jetifier ๊ฐ•์ œ ์‚ฌ์šฉ(๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ๋ถˆ๊ฐ€๋Šฅ)
  • Android ๋ฆฌ์กธ๋ฒ„๋Š” ์—ฌ์ „ํžˆ ProjectSettings/AndroidResolverDependencies.xml ๋ฐ gradle ํ…œํ”Œ๋ฆฟ์—์„œ ์–ธ๊ธ‰๋œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ข…์†์„ฑ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์–ธ๊ธ‰ ์—†์Œ
  • ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Facebook SDK๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

FacebookSDK ์ข…์†์„ฑ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

2020๋…„ 3์›”์—๋„ ์—ฌ์ „ํžˆ ๋ฌธ์ œ

  • ์œ ๋‹ˆํ‹ฐ 2019.3.4f1
  • ํŽ˜์ด์Šค๋ถ SDK 7.18.1
  • ์•„์ด์–ธ์†Œ์Šค SDK 6.15.0.1

์ง€๊ตฌ์ƒ์˜ ๋‹ค๋ฅธ SDK๋กœ๋Š” ๋นŒ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Firebase ๋ฐ IronSource๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ด‘๊ณ  ์ตœ์ ํ™”, ๋ˆ ๊ด€๋ จ ๋ฌธ์ œ์— ์ง์ ‘ ์ ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์Šค๊ฝ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

2020๋…„ 3์›”์—๋„ ์—ฌ์ „ํžˆ ๋ฌธ์ œ

  • ์œ ๋‹ˆํ‹ฐ 2019.3.4f1
  • ํŽ˜์ด์Šค๋ถ SDK 7.18.1
  • ์•„์ด์–ธ์†Œ์Šค SDK 6.15.0.1

์ง€๊ตฌ์ƒ์˜ ๋‹ค๋ฅธ SDK๋กœ๋Š” ๋นŒ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Firebase ๋ฐ IronSource๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ด‘๊ณ  ์ตœ์ ํ™”, ๋ˆ ๊ด€๋ จ ๋ฌธ์ œ์— ์ง์ ‘ ์ ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์Šค๊ฝ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

Looply์˜ ์†”๋ฃจ์…˜์€ ๋” ์ด์ƒ ์ž‘๋™ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. Facebook์€ AndroidX๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด SDK๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋™์•ˆ Google์€ Facebook SDK(๋ฐ ๊ธฐํƒ€ ์ด์ „ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๋ฅผ Jetifyํ•˜์—ฌ AndroidX์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” ์™ธ๋ถ€ ์ข…์†์„ฑ ๊ด€๋ฆฌ์ž ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ EDM์€ ์–ด๋–ค ์ด์œ ๋กœ Facebook SDK์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Android Studio์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” Jetifier๋Š” ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! ํ”„๋กœ์ ํŠธ ์–‘์‹ Unity๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  Android Studio์—์„œ ์—ด๊ณ  ๋‹ค์Œ ํ–‰์„ gradle.properties์— ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
android.useAndroidX=์ฐธ
android.enableJetifier=์ฐธ

๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Facebook์€ ์ด ๋ฌธ์ œ๋ฅผ ์ฆ‰์‹œ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (๋˜๋Š” Google์€ Jetifier๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.) ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด๊ฐ€ ์•„๋Š” ๋ชจ๋“  ํšŒ์‚ฌ๋Š” ํฌ๊ณ  ์ž‘์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ AndroidX ๋ฒ„์ „์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๋Œ€ํ•œ ํšŒ์‚ฌ์ธ ํŽ˜์ด์Šค๋ถ์ด ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋งŽ์€ ๊ณ ํ†ต์„ ์ฃผ๊ณ  ์žˆ์–ด ์•„์ง ์ด๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์— ์ถฉ๊ฒฉ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

@lexscite

์—ฌ์ „ํžˆ ์ด๊ฒƒ์— ๋ถ™์–ด์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด :
1) ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด Android Studio๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
2) onesignal์˜ ์†”๋ฃจ์…˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. https://documentation.onesignal.com/docs/troubleshooting-unity#section -android-x-compatibility ์ด๋ฅผ ํ†ตํ•ด Unity์—์„œ ์ง์ ‘ ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(settingsTemplate.gradle ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ. )

Unity์˜ Jetifier/AndroidX ์ง€์›์ด ๋‹ค์†Œ ์ค‘๋‹จ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ:
https://github.com/googlesamples/unity-jar-resolver/issues/360 ์€ ๋‚ด๊ฐ€ unity-jar-resolver ํŒ€์— ์ œ์ถœํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์ด ์ˆ˜์ •ํ•˜๊ธฐ์— ์ ํ•ฉํ•œ ํŒ€์ธ์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Jetifier๊ฐ€ Unity ๋‚ด์—์„œ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด ๋” ์ด์ƒ Android Studio ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ตœ์‹  2019.3 ๊ณต์‹ ๋ฒ„์ „(๋‚ด ๋ฒ„์ „์€ 2019.3.12f1 atm)์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ Gradle ํ…œํ”Œ๋ฆฟ ์œ„์— Custom Gradle ์†์„ฑ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
android.useAndroidX=true
android.enableJetifier=true
์ƒˆ๋กœ ์ƒ์„ฑ๋œ gradleTemplate.properties ํŒŒ์ผ์—.

์ €๋Š” ๊ฒŒ์‹œ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ชจ๋“  SDK๋กœ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด Android ์ŠคํŠœ๋””์˜ค๋กœ ๋‚ด๋ณด๋‚ด๊ณ  ์žˆ์—ˆ๊ณ  ๊ทธ ์ดํ›„๋กœ Android ๋นŒ๋“œ ์˜ค๋ฅ˜์˜ ๋ถˆํ–‰์„ ํ•ด๊ฒฐํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋กœ์„œ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์ด์ œ ๋งˆ์นจ๋‚ด Unity ๋‚ด์—์„œ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Jetifier๋Š” Android ์ŠคํŠœ๋””์˜ค๋ฅผ ์ œ์™ธํ•˜๊ณ  Facebook SDK์™€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ AndroidX ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถฉ๋ถ„ํžˆ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด ์ผ๋ถ€ ํ•ดํ‚น ๋ณ€๊ฒฝ ์—†์ด Unity ๋‚ด์—์„œ ๋นŒ๋“œํ•˜๊ธฐ ์–ด๋ ค์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ์ผ๋ฐ˜์ ์œผ๋กœ Plugins/Android/AndroidManifest.xml์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํƒœ๊ทธ์— ์ด๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
tools:replace="android:appComponentFactory" android:appComponentFactory="leavemealone"
๋˜ํ•œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํƒœ๊ทธ์˜ xmlns:tools="http://schemas.android.com/tools"

์˜ˆ, ์ด ๋ฌธ์ž์—ด์˜ ๋ชฉ์ ์ด ๋ฌด์—‡์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ž„์˜์˜ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜๊ณ  ๋‚ด ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ณ‘ํ•ฉ ๋นŒ๋“œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ Ironsource(๋งŽ์€ ์–ด๋Œ‘ํ„ฐ ํฌํ•จ), Facebook SDK, GameAnalytics, Adjust, Firebase ๋“ฑ์œผ๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ตœ์‹  Unity Jar Resolver๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , ์„ค์ •์„ ํ™•์ธํ•˜๊ณ , ์ž๋™ ํ•ด๊ฒฐ ์ œ๊ฑฐ, ๋นŒ๋“œ ์‹œ ํ•ด๊ฒฐ ์ œ๊ฑฐ, ํŒจ์น˜ ๋ฉ”์ธํ…œํ”Œ๋ฆฟ์„ ์„ค์ •ํ•˜๊ณ  jetifier๋ฅผ true๋กœ ์„ค์ •, ๊ฐ•์ œ ํ•ด๊ฒฐ, ์›ํ•˜๋Š” ์ถ”๊ฐ€ ์ข…์†์„ฑ/๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ถ”๊ฐ€, gradleproperties ํŠธ๋ฆญ ์ˆ˜ํ–‰, Unity ๋‚ด ๋นŒ๋“œ, ์™„๋ฃŒ .

Facebook Unity SDK v8.1.1์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Facebook Unity SDK๋ฅผ ํ†ตํ•ฉํ•  ๋•Œ๋งˆ๋‹ค @mohamad-al-amaary๊ฐ€ ์ˆ˜ํ–‰ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

@nguyentrong101094
2019.4 LTS Unity ๋ฒ„์ „์—์„œ๋Š” ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ํ•ด์•ผ ํ•  ์ผ์€ ๋‚ด ์ดˆ๊ธฐ ๋‹ต๋ณ€์—์„œ ์ด ๋ถ€๋ถ„๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
android.useAndroidX=์ฐธ
android.enableJetifier=์ฐธ

๋˜ํ•œ ์ƒˆ๋กœ์šด EDM์—๋Š” "ํŒจ์น˜ gradleTemplate.properties" ์˜ต์…˜์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Custom Main Manifest, Custom Main Gradle Template, Custom Gradle Properties Template์„ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ์ตœ์†Œํ•œ ์ง€๊ธˆ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋‘ ๊ฐ€์ง€ ์†์„ฑ์„ ์„ค์ •ํ•˜๊ณ  EDM(https://github.com/googlesamples/unity-jar- resolver/blob/master/external-dependency-manager-latest.unitypackage) ๋นŒ๋“œ ์ „์—.

@Subtle-Tea ์‹œ๋„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋นŒ๋“œํ•  ๋•Œ ์—ฌ์ „ํžˆ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

AndroidManifest.xml:38: AAPT: error: unexpected element <queries> found in <manifest>.

Unity 2019.4.17์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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