0aa8d535f19c28a8699fe8b115ef046c33f8410b92


์–˜๋“ค์•„ ์•ˆ๋…•, ๋‹ค๋“ค ๊ฐœ๋ฐœ ์ž˜ ํ•˜๊ณ  ์žˆ์–ด?



์ €๋ฒˆ ๋‹ฌ์— GDPR ๊ตฌํ˜„ํ•˜๋‹ค๊ฐ€ ๋ง‰ํ˜€์„œ ์—ฌ๊ธฐ๋‹ค ๊ธ€์„ ์˜ฌ๋ ธ์—ˆ๋Š”๋ฐ, ๋‹คํ–‰ํžˆ ์ด์   ํ•ด๊ฒฐํ•œ ๊ฒƒ ๊ฐ™์•„.


๊ทธ ๋‹น์‹œ ํ•ด๊ฒฐํ•˜๋ฉด ํŒ ๋‚จ๊ฒจ๋‹ฌ๋ผ๋˜ ์นœ๊ตฌ์˜ ๋Œ“๊ธ€์ด ๊ธฐ์–ต๋‚˜์„œ ๋‹ค์‹œ ๋Œ์•„์™”์–ด.



์‚ฌ์‹ค GDPR์€ ๋‚˜์˜จ์ง€๊ฐ€ ์ง„์งœ ์˜ค๋ž˜ ๋˜์—ˆ์–ด.


์‹ฌ์ง€์–ด ๊ตฌ๊ธ€ ์• ๋“œ๋ชน ๊ธฐ์ค€์œผ๋กœ๋„ โ€˜24๋…„ 1์›” 16์ผ๊นŒ์ง€ ๋Œ€์‘ ํ•„์ˆ˜!โ€™๋ผ๋ฉฐ ๊ฒฝ๊ณ ๋ฅผ ์—„์ฒญ ๋„์›Œ์™”์—ˆ๊ธฐ์— ๋Œ€๋ถ€๋ถ„ ๋Œ€์‘์„ ์™„๋ฃŒ ํ–ˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•ด.


๊ทธ๋ž˜๋„ ์ด์ œ ๊ฐœ๋ฐœํ•˜๋Š” ์นœ๊ตฌ๋“ค์€ ๋ชจ๋ฅผ ์ˆ˜๋„ ์žˆ์„ํ…Œ๋‹ˆ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ํ•˜๋Š” ๋งˆ์Œ์— ๋‚จ๊ฒจ๋ด.



๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด๋ณด์ž.





GDPR์ด ๋ญ์ž„?


์ •ํ™•ํ•œ ๋ช…์นญ์€ ์œ ๋Ÿฝ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฒ•์ด๋ผ๋Š”๋ฐ, ๊ฐ„๋‹จํžˆ ์ด์•ผ๊ธฐํ•˜๋ฉด


โ€œ์œ ๋Ÿฝ ์œ ์ €๋“ค์˜ ๊ฐœ์ธ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๋ ค๋ฉด ์ง์ ‘ ํ—ˆ๋ฝ์„ ๋ฐ›์•„๋ผโ€™โ€


๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์–ด. ์• ํ”Œ์˜ ATT์™€ ๋น„์Šทํ•œ๋ฐ, ์กฐ๊ฑด์ด ์•ˆ ๋งž์œผ๋ฉด ๊ด‘๊ณ ๋ฅผ ์•„์˜ˆ ๋ชป ํŠผ๋‹ค๋Š” ๋ถ€๋ถ„์—์„œ ์กฐ๊ธˆ ๋” ๋นก์„ผ ๋А๋‚Œ์ด์•ผ.


๋” ์ƒ์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•œ ์นœ๊ตฌ๋“ค์€ ๊ตฌ๊ธ€์— GDPR๋กœ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์ž๋ฃŒ๊ฐ€ ์Ÿ์•„์ง€๋‹ˆ๊นŒ ํ™•์ธํ•ด๋ณด์ž.


์‚ฌ์‹ค ์ธ๋”” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž์ธ ์šฐ๋ฆฌ๊ฐ€ ์•Œ์•„์•ผ ๋  ๊ฒƒ์€ ํ•˜๋‚˜์ธ ๊ฒƒ ๊ฐ™์•„.


โ€œ์œ ๋Ÿฝ(+ ์˜๊ตญ)์—์„œ ๊ด‘๊ณ ๋กœ ๋ˆ ๋ฒŒ๋ ค๋ฉด GDPR ๋™์˜ ํŒ์—…์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•จ.โ€






GDPR ๋Œ€์‘ ์•ˆํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋Š”๋ฐ?


์ค‘์š”ํ•œ ๊ฑด GDPR์˜ ๋Œ€์ƒ์ด ๊ทธ ์ด๋ฆ„์ฒ˜๋Ÿผ ์œ ๋Ÿฝ(+์˜๊ตญ) ํ•œ์ •์ด๋ผ๋Š”๊ฑฐ์•ผ.


์ฆ‰, ์•„์ง ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค๋ฅผ ๊ณ„ํšํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†์–ด.


ํ•˜์ง€๋งŒ ์„œ๋น„์Šค์˜ ๋Œ€์ƒ์— ์œ ๋Ÿฝ(+์˜๊ตญ)๊ฐ€ ํฌํ•จ๋œ๋‹ค๋ฉด, GDPR ๋™์˜๋ฅผ ๋ฐ›์ง€ ์•Š์€ ์œ ์ €๋“ค์—๊ฒ ๊ด‘๊ณ ๋ฅผ ์•„์˜ˆ ๋„์šธ ์ˆ˜ ์—†์–ด.


๋‹ค๋งŒ ์ด๋ฏธ ์„œ๋น„์Šค ์ค‘์ธ ๊ฒŒ์ž„ ๊ธฐ์ค€, ๋”ฐ๋กœ GDPR์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋”๋ผ๋„ ์–ด๋–ป๊ฒŒ๋“  ์• ๋“œ๋ชน์ด ์˜จ๋ชธ ๋น„ํ‹€๊ธฐ๋กœ GDPR ๋™์˜๋ฅผ ๋„์šฐ๋Š” ๊ฒƒ ๊ฐ™์•„.


๋‹ค๋งŒ ์ œ๋Œ€๋กœ ๋œ ํŒ์—…์€ ์•„๋‹Œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๊ณ , ๊ทธ๋ž˜์„œ์ธ์ง€ ๋™์˜์œจ์ด ๋‚ฎ์•„.


๊ฑฐ๊ธฐ๋‹ค ์• ๋“œ๋ชน์ด ์ด๋Ÿฐ ์‹์˜ ๋•œ๋นต์„ ๊พธ์ค€ํžˆ ํ•ด์ค€๋‹ค๋Š” ๋ณด์žฅ๋„ ์—†์œผ๋‹ˆ, ์•„์ง ๋Œ€์‘์„ ์•ˆํ–ˆ๊ฑฐ๋‚˜ ์‹ ๊ทœ ๊ฐœ๋ฐœ ์ค‘์ด๋ผ๋ฉด GDPR ์ฒ˜๋ฆฌ๋ฅผ ํ•ด ๋‘๋Š”๊ฑธ ๊ถŒ์žฅํ•ด.






๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•˜๋Š”๊ฐ€?


์•ž์—์„œ ๋งํ–ˆ๋“ฏ์ด ์• ๋“œ๋ชน์—์„œ ์ตœ๊ทผ์— ํ•„์ˆ˜๋กœ ๋ณ€๊ฒฝํ•ด์„œ ๊ทธ๋ ‡์ง€, GDPR ์ž์ฒด๋Š” ๋ช‡ ๋…„๋„ ์ „์— ์žˆ์—ˆ์–ด.


๋•Œ๋ฌธ์— GDPR์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•ด.


์• ๋“œ๋ชน์ฒ˜๋Ÿผ ๊ด‘๊ณ  ํ”Œ๋žซํผ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด๋„ ๋˜๊ณ , ์•„์˜ˆ GDPR์„ ๋ณ„๋„๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ์„œ๋น„์Šค๋„ ์žˆ๋‹ค๊ณ  ๋“ค์—ˆ์–ด.


๊ทผ๋ฐ ๋‚œ ์• ๋“œ๋ชน์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์œผ๋‹ˆ, ์• ๋“œ๋ชน ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ• ๊ฒŒ.


์• ๋“œ๋ชน์—์„œ GDPR์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด, ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ํ•„์š”ํ•ด.


๋ฐ”๋กœ ํŒ์—…๊ณผ ๊ตฌํ˜„์ด์•ผ.







ํŒ์—… ์ถ”๊ฐ€ํ•˜๊ธฐ



1dec9e36ebd518986abce8954784756a8826

๋จผ์ € ์• ๋“œ๋ชน์˜ โ€˜๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฐ ๋ฉ”์‹œ์ง€โ€™ ๋ฉ”๋‰ด๋กœ ๋“ค์–ด๊ฐ€์„œ, ์œ ๋Ÿฝ ๊ทœ์ •์˜ โ€˜๊ด€๋ฆฌโ€™๋กœ ๋“ค์–ด๊ฐ€.



1def9e36ebd518986abce8954188776fde

๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ๋ฉ”์‹œ์ง€ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ณ 



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73ce985fa11d028315015801132de093a7d99d0d3d8d8ab678125f0be8f1c04391a7cdb3e4df3da32aa90f2603cd1d4b6a3be0ceed39045cdb4873a

์ดํ›„์— ๋‚˜์˜ค๋Š” ํŽ˜์ด์ง€์—์„œ GDPR ํŽ˜์ด์ง€ ์„ค์ •์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉด ๋ผ.



์—ฌ๊ธฐ์„œ ์‹ ๊ฒฝ ์จ์•ผ ํ•  ๊ฒƒ์€ 3๊ฐ€์ง€์ธ ๊ฒƒ ๊ฐ™์•„.


1, 2 - ๋‘˜ ๋‹ค ์œ ์ €์—๊ฒŒ ๋ฏธ๋™์˜ ๋ฒ„ํŠผ์„ ์–ผ๋งˆ๋‚˜ ์ ๊ทน์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋А๋ƒ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด์•ผ.

๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„  ๋™์˜์œจ์ด ๋†’์€ ๊ฒŒ ์ข‹์œผ๋‹ˆ ๋‘˜ ๋‹ค ์‚ฌ์šฉ์•ˆํ•จ์œผ๋กœ ๋‘๋Š” ๊ฒŒ ์œ ๋ฆฌํ•  ๊ฑฐ์•ผ.


3 - ํ•ด๋‹น ํŒ์—…์„ ๋ช‡ ๊ฐ€์ง€ ์–ธ์–ด๋กœ ์ง€์›ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด์•ผ.

๊ธฐ๋ณธ์€ ์˜์–ด๋กœ ๋˜์–ด์žˆ๊ณ , ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๊ธธ๋ž˜ ๋‚˜๋Š” 31๊ฐœ ์ถ”๊ฐ€์–ธ์–ด๋ฅผ ๋ชจ๋‘ ํ™œ์„ฑํ™”ํ–ˆ์–ด.


์—ฌ๊ธฐ๊นŒ์ง€ ์„ธํŒ…ํ•˜๊ณ  โ€˜๊ฒŒ์‹œโ€™ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํŒ์—…์— ๋Œ€ํ•œ ์„ธํŒ…์€ ๋์ด์•ผ.






ํŒ์—… ๊ตฌํ˜„ํ•˜๊ธฐ


์ €๊ฒƒ๋งŒ ์ถ”๊ฐ€ํ•˜๊ณ  ๋๋‚˜๋ฉด ์ฐธ ์ข‹์€๋ฐ... ์•ˆํƒ€๊น๊ฒŒ๋„ ์ฝ”๋“œ ๋”ด์—์„œ ์ง์ ‘ ์ € ํŒ์—…์„ ํ˜ธ์ถœํ•ด์ค˜์•ผ ํ•˜๋”๋ผ.


์• ๋“œ๋ชน์—์„œ ์ง์ ‘ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๊ณ , ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜์ง€ ์•Š์œผ๋‹ˆ ์ง์ ‘ ํ™•์ธํ•ด๋ณด๋ฉด ๋  ๊ฑฐ์•ผ.


https://developers.google.com/admob/unity/privacy?hl=ko


ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ๊ฒช์—ˆ๋˜ ๋ฌธ์ œ๋ฅผ ๋ช‡ ๊ฐ€์ง€ ๊ณต์œ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์•„.


- ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ค˜์•ผ ํ•จ.

โ€ƒโ€ƒMobileAds.RaiseAdEventsOnUnityMainThread = true;


- ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ํ•ธ๋“œํฐ์˜ Hashed ID๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ํ…Œ์ŠคํŠธ ๋นŒ๋“œ๋ฅผ ๋กœ๊ทธ์บฃ์— ๋ฌผ๋ ค์„œ ๋Œ๋ ค๋ณด๋ฉด ๋กœ๊ทธ์— ์ฐํž˜.


์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๊นŒ์ง€ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๊ธฐ๋ณธ์ ์ธ ์ž‘์—…์€ ๋์ด์•ผ.






์ถ”๊ฐ€ ์ฒ˜๋ฆฌ (์„ ํƒ)


์•ž์„  2๊ฐœ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋Œ๋ฆฌ๋Š” ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ์—†์–ด. ๊ทธ๋Ÿฌ๋‹ˆ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์—” ์ด ์ •๋„์—์„œ ๊ตฌํ˜„์„ ๋งˆ์ณ๋„ ๊ดœ์ฐฎ์„๊ฑฐ์•ผ.


ํ•˜์ง€๋งŒ ๋‚ด ๊ฒฝ์šฐ๋Š” ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ํ•„์š”ํ–ˆ๋Š”๋ฐ, ์ด๋Ÿฐ ๊ฒƒ๋“ค์ด์•ผ.


- ์ด ์œ ์ €๊ฐ€ GDPR์˜ ๋Œ€์ƒ์ธ์ง€ ์•„๋‹Œ์ง€

- ์ง€๊ธˆ ์• ๋“œ๋ชน์ด ๊ด‘๊ณ ๋ฅผ ์•ˆ์ฃผ๋Š”๊ฒŒ ์œ ์ €๊ฐ€ GDPR ๋™์˜๋ฅผ ์•ˆ ํ•ด์„œ ๊ทธ๋Ÿฐ ๊ฑด์ง€, ๊ทธ๋ƒฅ ๊ด‘๊ณ  ์Šฌ๋กฏ์ด ๋นˆ ๊ฑด์ง€

- ๊ฐœ์ธํ™” ๊ด‘๊ณ  ์—ฌ๋ถ€


ํŠนํžˆ โ€˜์ฃผ๋ชจ ํ‚ค์šฐ๊ธฐโ€™์—์„  ๊ด‘๊ณ  ์Šฌ๋กฏ์ด ๋น„์–ด ์žˆ๋Š” ๊ฒŒ ์œ ์ € ์ž˜๋ชป์€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ๋ฆฌ์›Œ๋“œ ๋ณด์ƒ์„ ์ฃผ๊ณ  ์žˆ์—ˆ๋‹จ ๋ง์•ผ.


ํ•˜์ง€๋งŒ GDPR์— ๋น„๋™์˜ํ•œ ์œ ์ €๋„ ๊ด‘๊ณ  ์Šฌ๋กฏ์€ ๋˜‘๊ฐ™์ด ๋น„์–ด์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜์—ˆ๊ณ , ๋•Œ๋ฌธ์— GDPR์˜ ๋™์˜ ์ƒํƒœ ํ™•์ธ์ด ๋ฌด์ฒ™ ์ค‘์š”ํ•ด์กŒ์ง€.


์ €๋ฒˆ์— ๋ฌธ์˜ ๊ธ€์„ ๋‚จ๊ธด ์ด์œ ๋„ ์ด ๋ถ€๋ถ„์˜ ๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ•ด์„œ ๊ทธ๋Ÿฐ๊ฑฐ์˜€์–ด.


ํ•˜์ง€๋งŒ ์—ด์‹ฌํžˆ ๋’ค์ง€๋‹ค๋ณด๋‹ˆ ๋‹ค ๋ฐฉ๋ฒ•์ด ์žˆ๊ธด ํ•˜๋”๋ผ.


์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ๋Š” ๋งํฌ๋กœ ๋Œ€์ฒดํ• ๊ฒŒ.



์• ๋“œ๋ชน์—์„œ GDPR ๋™์˜ ์ˆ˜์ค€ ํ™•์ธํ•˜๋Š” ๋ฒ•

https://stackoverflow.com/questions/69307205/mandatory-consent-for-admob-user-messaging-platform


์œ ๋‹ˆํ‹ฐ์—์„œ ์ž๋ฐ” ํด๋ž˜์Šค ํ˜ธ์ถœํ•ด์„œ ํ™•์ธํ•˜๋Š” ๋ฒ•

https://groups.google.com/g/google-admob-ads-sdk/c/uIQkJX6_XtM/m/KIFmbfXVAQAJ


์• ๋“œ๋ชน์˜ ํŒŒํŠธ๋„ˆ ํ”Œ๋žซํผ ๋ณ„ ID ํ™•์ธ (์•ฑ๋กœ๋นˆ - 1301, ์œ ๋‹ˆํ‹ฐ์• ์ฆˆ - 3234)

https://support.google.com/admob/answer/9681920?hl=en // ์ด ํŽ˜์ด์ง€์˜ Where will the Google ATPs be published? ๋ฉ”๋‰ด์—์„œ ๋ฐ›์Œ



์—ฌ๊ธฐ ๊ธ€๋“ค์„ ์ž˜ ์ฝ์–ด๋ณด๋ฉด ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•˜๊ธด ํ•œ๋ฐ... ์†”์งํžˆ ๋‚˜๋„ ์—„์ฒญ ํ—ค๋งธ๋‹ค๋ณด๋‹ˆ ์‚ฌ๋žŒ์— ๋”ฐ๋ผ์„  ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ๋‹ค ์‹ถ์–ด.


๊ทธ๋Ÿฌ๋‹ˆ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋„ ํ•จ๊ป˜ ๋‚จ๊ฒจ๋‘˜๊ฒŒ. ์ดํ•ด๊ฐ€ ์–ด๋ ค์šด ์นœ๊ตฌ๋“ค์€ ์ฐธ๊ณ ํ•ด ๋ด.



private void Start()

{
MobileAds.RaiseAdEventsOnUnityMainThread = true; // ์• ๋“œ๋ชน ๊ด€๋ จ ์ฒ˜๋ฆฌ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ๋งŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์ฒ˜๋ฆฌ

#if !UNITY_EDITOR // ์—๋””ํ„ฐ์—์„  GDPR ๋™์˜ ํ™€๋“œ
Debug.Log("GDPR ๋™์˜ ํ”„๋กœ์„ธ์Šค ์Šคํƒ€ํŠธ");
#if DEBUGBUILD // ํ…Œ์ŠคํŠธ ๋นŒ๋“œ์—์„œ๋งŒ ํ…Œ์ŠคํŠธ๋ชจ๋“œ ํ™œ์„ฑํ™”
Debug.Log("ํ…Œ์ŠคํŠธ ๋ฒ„์ „ - ์ดˆ๊ธฐํ™” ํ›„ ์ฒดํฌ ๊ฐœ์‹œ!");
ConsentInformation.Reset(); // ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๊ธฐ์กด GDPR ์ •๋ณด ์ดˆ๊ธฐํ™”
var debugSettings = new ConsentDebugSettings
{
DebugGeography = DebugGeography.EEA, // ์ผ์‹œ์ ์œผ๋กœ ์œ ๋Ÿฝ์ธ์ฒ™
#if UNITY_IOS
TestDeviceHashedIds = new List<string> {"์—ฌ๊ธฐ์— ์•„์ดํฐ ํ•ด์‹œ ID"}
#else
TestDeviceHashedIds = new List<string> {"์—ฌ๊ธฐ์— ์•ˆ๋“œ๋กœ์ด๋“œ ํ•ด์‹œ ID"}
#endif
};
ConsentRequestParameters request = new ConsentRequestParameters {ConsentDebugSettings = debugSettings};
ConsentInformation.Update(request, OnConsentInfoUpdated);
#else // ๋ฆด๋ฆฌ์ฆˆ & ๋””์ŠคํŠธ๋ฆฌ๋ทฐํŠธ์—์„  GDPR ํ…Œ์ŠคํŠธ ๋ชจ๋“œ ๋„๊ธฐ
Debug.Log("๋ฆด๋ฆฌ์ฆˆ ๋ฒ„์ „ - ์ฒดํฌ ๊ฐœ์‹œ!");
ConsentRequestParameters request = new ConsentRequestParameters();
ConsentInformation.Update(request, OnConsentInfoUpdated);
#endif
#else
// ๊ตฌ๊ธ€ ์• ์ฆˆ ์ดˆ๊ธฐํ™”
Debug.Log("์• ๋“œ๋ชน ์ดˆ๊ธฐํ™” ์‹œ๋„!");
MobileAds.Initialize(initStatus =>
{
StartAdSet();
});
#endif
}

void OnConsentInfoUpdated(FormError consentError)
{
Debug.Log("GDPR ๋™์˜ ์ƒํƒœ ์ฝœ๋ฐฑ ํ™•์ธ");
if (consentError != null)
{
Debug.Log("๋™์˜ ์ƒํƒœ ํ™•์ธ ์‹คํŒจ: " + consentError);
return;
}
Debug.Log("GDPR ๋™์˜ ์ƒํƒœ ํ™•์ธ ์™„๋ฃŒ!");
ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
{
Debug.Log("์–‘์‹ ๋กœ๋“œ ์‹œ๋„");
if (formError != null)
{
Debug.Log("๋™์˜ ํš๋“ ์‹คํŒจ: " + consentError);
return;
}

if (CurrentGdpr.IsGDPR()) // GDPR์„ ๊ฒ€์‚ฌํ•˜๋Š” ๊ตญ๊ฐ€์—์„œ๋งŒ ์ฒดํฌ
{
isNoAd = !CurrentGdpr.CanAdShow();
if (CurrentGdpr.IsPartnerConsent("1301")) // ์•ฑ๋กœ๋นˆ ํ™•์ธ
{
AppLovin.SetHasUserConsent(true);
Debug.Log("์•ฑ๋กœ๋นˆ GDPR ์ผœ์ง");
}
if (CurrentGdpr.IsPartnerConsent("3234")) // ์œ ๋‹ˆํ‹ฐ์• ์ฆˆ ํ™•์ธ
{
UnityAds.SetConsentMetaData("gdpr.consent", true);
Debug.Log("์œ ๋‹ˆํ‹ฐ์• ์ฆˆ GDPR ์ผœ์ง");
}
}
else
isNoAd = false;

Debug.Log("GDPR ์ ์šฉ ์—ฌ๋ถ€: " + CurrentGdpr.IsGDPR());
Debug.Log("๋™์˜ ์„ฑ๊ณต. ํ˜„์žฌ ๊ด‘๊ณ  ์žฌ์ƒ ๊ฐ€๋Šฅ? " + !isNoAd);
Debug.Log("๊ฐœ์ธํ™”๋œ ๊ด‘๊ณ  ๊ฐ€๋Šฅ? " + CurrentGdpr.CanShowPersonalizedAds());
if (ConsentInformation.CanRequestAds())
{
// ๊ตฌ๊ธ€ ์• ์ฆˆ ์ดˆ๊ธฐํ™”
Debug.Log("์• ๋“œ๋ชน ์ดˆ๊ธฐํ™” ์‹œ๋„!");
MobileAds.Initialize(initStatus =>
{
StartAdSet();
});
}
else
Debug.Log("๊ด‘๊ณ  ์š”์ฒญ ๋ถˆ๊ฐ€ ์ƒํƒœ...");
});

}


์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ GDPR ์„ธํŒ… ๋ฐ ํŒ์—… ํ˜ธ์ถœ & ์• ๋“œ๋ชน ์ดˆ๊ธฐํ™”๊ณ 




public static class CurrentGdpr

{
private static bool _isGdprOn;
private static string _purposeConsent, _vendorConsent, _vendorLi, _purposeLi, _partnerConsent;
static CurrentGdpr()
{
SetData();
}
public static void SetData()
{
int gdprNum;

#if UNITY_EDITOR // ์—๋””ํ„ฐ์—์„œ๋Š” ์ž๋ฐ” ํ˜ธ์ถœ์ด ์—๋Ÿฌ๋‚˜์„œ ์—์™ธ์ฒ˜๋ฆฌ
gdprNum = 1;
_purposeConsent = "0000000000";
_vendorConsent = "0000000000";
_vendorLi = "";
_purposeLi = "";
_partnerConsent = "";
#elif UNITY_ANDROID
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass preferenceManagerClass = new AndroidJavaClass("android.preference.PreferenceManager");
AndroidJavaObject sharedPreferences =
preferenceManagerClass.CallStatic<AndroidJavaObject>("getDefaultSharedPreferences", currentActivity);

gdprNum = sharedPreferences.Call<int>("getInt", "IABTCF_gdprApplies", 0);
_purposeConsent = sharedPreferences.Call<string>("getString", "IABTCF_PurposeConsents", "");
_vendorConsent = sharedPreferences.Call<string>("getString", "IABTCF_VendorConsents", "");
_vendorLi = sharedPreferences.Call<string>("getString", "IABTCF_VendorLegitimateInterests", "");
_purposeLi = sharedPreferences.Call<string>("getString", "IABTCF_PurposeLegitimateInterests", "");
_partnerConsent = sharedPreferences.Call<string>("getString", "IABTCF_AddtlConsent", "");
#elif UNITY_IOS
gdprNum = PlayerPrefs.GetInt("IABTCF_gdprApplies", 0);
_purposeConsent = PlayerPrefs.GetString("IABTCF_PurposeConsents", "");
_vendorConsent = PlayerPrefs.GetString("IABTCF_VendorConsents", "");
_vendorLi = PlayerPrefs.GetString("IABTCF_VendorLegitimateInterests", "");
_purposeLi = PlayerPrefs.GetString("IABTCF_PurposeLegitimateInterests", "");
_partnerConsent = PlayerPrefs.GetString("IABTCF_AddtlConsent", "");
#endif
// 0 ์ด๋ฉด ์•„์˜ˆ GDPR ๋Œ€์ƒ์ด ์•„๋‹˜. 1์ด์–ด์•ผ GDPR
if (gdprNum == 1)
_isGdprOn = true;
else
_isGdprOn = false;
Debug.Log("GDPR์„ ๋„์šฐ๋Š”๊ฐ€? " + _isGdprOn);
Debug.Log("๊ด‘๊ณ ์— ํ•„์š”ํ•œ ๊ถŒํ•œ ๋™์˜: " + _purposeConsent);
Debug.Log("๊ด‘๊ณ ์— ํ•„์š”ํ•œ ์ ๋ฒ•๊ด€์‹ฌ(?) ๋™์˜: " + _vendorConsent);
Debug.Log("๊ตฌ๊ธ€์— ๋™์˜์ฒ˜๋ฆฌ๊ฐ€ ๋˜์–ด์žˆ๋Š”๊ฐ€?: " + _vendorLi);
Debug.Log("๊ตฌ๊ธ€์— ์ ๋ฒ•๊ด€์‹ฌ(?) ์ฒ˜๋ฆฌ ์—ฌ๋ถ€: " + _purposeConsent);
Debug.Log("ํŒŒํŠธ๋„ˆ ๋„คํŠธ์›Œํฌ ์—ฌ๋ถ€: " + _partnerConsent);
}

// GDPR์„ ๋„์›Œ์•ผ ํ•  ์œ ์ €์ธ์ง€(= ์œ ๋Ÿฝ + ์˜๊ตญ) ๋ฆฌํ„ด
public static bool IsGDPR()
{
return _isGdprOn;
}

// ๊ด‘๊ณ ๊ฐ€ ๋ณด์—ฌ์ง€๋Š”์ง€ ์—ฌ๋ถ€ ๋ฆฌํ„ด
public static bool CanAdShow()
{
int googleId = 755;
bool hasGoogleVendorConsent = HasAttribute(_vendorConsent, googleId);
bool hasGoogleVendorLi = HasAttribute(_vendorLi, googleId);

// ๊ด‘๊ณ  ๊ฐ€๋Šฅ - ๋น„๊ฐœ์ธํ™” ๊ด‘๊ณ 
// return HasConsentFor(new List<int> { 1 }, _purposeConsent, hasGoogleVendorConsent)
// && HasConsentOrLegitimateInterestFor(new List<int> { 2, 7, 9, 10 },
// _purposeConsent, _purposeLi, hasGoogleVendorConsent, hasGoogleVendorLi);
// ๊ด‘๊ณ  ๊ฐ€๋Šฅ - ์ œํ•œ์ ์ธ ๊ด‘๊ณ  - 1์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ์—†์–ด๋„ ๋จ ใ…‡ใ…‡
return HasConsentOrLegitimateInterestFor(new List<int> { 2, 7, 9, 10 },
_purposeConsent, _purposeLi, hasGoogleVendorConsent, hasGoogleVendorLi);
}

// ๊ฐœ์ธํ™” ๊ด‘๊ณ ๊ฐ€ ๋ณด์—ฌ์ง€๋Š”์ง€ ์—ฌ๋ถ€ ๋ฆฌํ„ด
public static bool CanShowPersonalizedAds()
{
int googleId = 755;
bool hasGoogleVendorConsent = HasAttribute(_vendorConsent, googleId);
bool hasGoogleVendorLi = HasAttribute(_vendorLi, googleId);

return HasConsentFor(new List<int> { 1, 3, 4 }, _purposeConsent, hasGoogleVendorConsent)
&& HasConsentOrLegitimateInterestFor(new List<int> { 2, 7, 9, 10 },
_purposeConsent, _purposeLi, hasGoogleVendorConsent, hasGoogleVendorLi);
}

public static bool IsPartnerConsent(string partnerID) // ํŒŒํŠธ๋„ˆ ๊ถŒํ•œ ์žˆ๋Š”์ง€ ํ™•์ธ
{
return _partnerConsent.Contains(partnerID);
}
// ์ด์ง„ ๋ฌธ์ž์—ด์˜ "index" ์œ„์น˜์— "1"์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(1 ๊ธฐ๋ฐ˜).
private static bool HasAttribute(string input, int index)
{
return input.Length >= index && input[index - 1] == '1';
}
// ๋ชฉ์  ๋ชฉ๋ก์— ๋Œ€ํ•œ ๋™์˜๊ฐ€ ์ฃผ์–ด์กŒ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
private static bool HasConsentFor(List<int> purposes, string purposeConsent, bool hasVendorConsent)
{
return purposes.All(p => HasAttribute(purposeConsent, p)) && hasVendorConsent;
}
// ๋ชฉ์  ๋ชฉ๋ก์— ๋Œ€ํ•œ ๊ณต๊ธ‰์ž์˜ ๋™์˜ ๋˜๋Š” ์ •๋‹นํ•œ ์ด์ต์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
private static bool HasConsentOrLegitimateInterestFor(List<int> purposes, string purposeConsent, string purposeLI, bool hasVendorConsent, bool hasVendorLI)
{
return purposes.All(p =>
(HasAttribute(purposeLI, p) && hasVendorLI) ||
(HasAttribute(purposeConsent, p) && hasVendorConsent));
}
}


์ด๊ฑด GDPR์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์†์„ฑ์„ ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ์•ผ.


์œ„์˜ ๋งํฌ์— ์žˆ๋Š” ์ฝ”๋“œ๋“ค์„ C#์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ , ์ตœ์‹  ์ƒํ™ฉ์— ๋งž์ถฐ ์ˆ˜์ •ํ•œ๊ฑฐ์•ผ.









์ž, ๋Œ€์ถฉ ์—ฌ๊ธฐ๊นŒ์ง€์•ผ.


๋‚˜ ๋˜ํ•œ ๊ตฌํ˜„์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋‹ค๋ณด๋‹ˆ ์• ๋“œ๋ชน์ด ๋งํ•œ ์ œํ•œ์‹œ๊ฐ„์„ ๋„˜๊ฒจ์„œ GDPR์„ ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋˜์—ˆ์–ด.


๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ๋ณธ์˜ ์•„๋‹ˆ๊ฒŒ ์• ๋“œ๋ชน ๊ธฐ๋ณธ ์ œ๊ณต GDPR์„ ๋ช‡ ์ผ๊ฐ„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์—ˆ๋Š”๋ฐ, ์ฐจ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„.



7fe98077b7861f825e8d5d5aef5dd9c5d3b5ce912f48066a4349ce90d3d72b

7fe98074b5801f825e8d5d5aef5dd9c5265ede21dc506695556397e651f49dad


์œ„์ชฝ์ด ์• ๋“œ๋ชน์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ๊ตฌํ˜„์ผ ๋•Œ, ์•„๋ž˜์ชฝ์ด ์ง€๊ธˆ ์ƒํ™ฉ์ด์•ผ. 1์ฃผ์ผ ๋‚จ์ง“์ธ๋ฐ ๊ทธ ์‚ฌ์ด์— ๋ ˆ์ด์•„์›ƒ์ด ๋ฐ”๋€Œ์—ˆ๋„ค. ํ ?;


๋ฐ์ดํ„ฐ๊ฐ€ ์ ์–ด ๊ฐ๊ด€์„ฑ์€ ๋–จ์–ด์ง€์ง€๋งŒ, ์ผ๋‹จ ๊ตฌํ˜„์„ ์ฒ˜๋ฆฌํ•œ ์ชฝ์ด ๋™์˜์œจ์ด ๋†’๊ธด ํ•œ ๊ฒƒ ๊ฐ™์•„.


์œ„์—์„œ ๋”ฐ๋กœ ์ด์•ผ๊ธฐ๋Š” ์•ˆํ–ˆ์ง€๋งŒ, GDPR ๋™์˜๋ฅผ ๋ˆ ์œ ์ €๋“ค์ด ๊ด‘๊ณ  ์‹œ์ฒญ์„ ์‹œ๋„ํ•  ๋•Œ๋Š” '์˜ต์…˜์—์„œ GDPR์„ ์ผœ!' ๋ผ๊ณ  ์•ˆ๋‚ด๋„ ํ•˜๊ณ  ์žˆ์–ด.






์–ด๋•Œ, ์กฐ๊ธˆ ๋„์›€์ด ๋˜์—ˆ์„๊นŒ?


์ฒ˜์Œ ๊ฒŒ์ž„์„ ์ถœ์‹œํ•  ๋•Œ GDPR ๊ฐ™์€ ๊ฒƒ์€ ์‹ ๊ฒฝ ์•ˆ์จ๋„ ๋˜์—ˆ์—ˆ๋Š”๋ฐ, ์–ด์งธ ์ ์  ์ฑ™๊ฒจ์•ผ ๋  ๊ฒŒ ๋งŽ์•„์ง€๋Š” ๋А๋‚Œ์ด๋„ค.


1์ฃผ์ผ ๋„˜๊ฒŒ ์„œ๋น„์Šคํ•˜๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง„ ๋ชปํ–ˆ์ง€๋งŒ, ๋งจ ๋•…์— ํ—ค๋”ฉํ•˜๋ฉด์„œ ์ฐพ์€ ์ •๋ณด๋‹ค ๋ณด๋‹ˆ ํ‹€๋ฆฐ ๋‚ด์šฉ๋„ ์žˆ์„ ์ˆ˜ ์žˆ์–ด.


ํ˜น์‹œ ์ž˜ ์•„๋Š” ์นœ๊ตฌ๋“ค์€ ์ˆ˜์ •์‚ฌํ•ญ์„ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ๋ฉด ๋งž์ถฐ์„œ ๋ฐ˜์˜ํ• ๊ฒŒ.


์ž ๊ทธ๋Ÿผ ๋‹ค๋“ค ๊ฐœ๋ฐœ ์—ด์‹ฌํžˆ ํ•ด!