์ด ์๊ฒฌ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ๋ ค ์ค์ธ ๋ค์ํ ๋ฐฉ๋ฒ์ ๋ํด ๋
ผ์ํ๊ณ ์ด ๋ฌธ์ ์ ๋ํ ํน์ ๋จ๊ณ๋ฅผ ๋ค๋ฃจ๋ ๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ ์ ๋ํ ๋งํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. https://github.com/flutter/flutter/issues/12114#issuecomment -505633342
์ฐ๋ฆฌ๋ ์ค๋ ์ด๋ฌํ ์์
์ค ์ผ๋ถ๋ฅผ ์ํํ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ฐ๋ณ ๋ฒ๊ทธ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Firebase(AdMob)์ Facebook ๋ชจ๋ '๋ค์ดํฐ๋ธ ๊ด๊ณ ' ํ์์ ์ง์ํฉ๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ ์ฑ ์์ฒด์์ ์ ์ดํ๋ โโ๋ ๋๋ง ๋ฐ ํ์(์์, ๊ธ๊ผด)์ ์ฌ์ฉํ์ฌ ์ฑ ์ฝํ ์ธ ์ ํจ๊ป ์ธ๋ผ์ธ์ผ๋ก ๋ ๋๋ง๋ฉ๋๋ค.
DFP ์ง์์ด ์์ผ๋ฉด ๋ ์ข์ง ์์๊น์? ๋ค์ดํฐ๋ธ/์ ๋ ๊ด๊ณ ์ ํจ๊ป ์ธํ์ฐ์ค ๋ฐฐ๋, Ad Exchange/์ ๋์ผ์ค๋ฅผ ๋น๋กฏํ ๋ค์ํ ์ ํ์ ํตํฉํ ์ ์์ต๋๊น?
ํผ๋๋ฐฑ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! DFP์ ์ฐ๊ฒฐํ ์ ์์ต๋๊น?
@gcshri ๋ DoubleClick for Publishers ๋ฅผ ์๋ฏธํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์์ ํ ์!
2017๋
10์ 12์ผ ๋ชฉ์์ผ 11:34 Eugenio Marletti [email protected]
์ผ๋ค:
@gcshri https://github.com/gcshri ๋ DoubleClick for
๊ฒ์์ https://en.wikipedia.org/wiki/DoubleClick_for_Publishers ,
์ฌ๋ฏธ์๊ฒ๋ ์ด์ ์๋ DART ๋ผ๊ณ ๋ถ๋ ์ต๋๋ค ๐โ
์ค๋ ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/flutter/flutter/issues/12114#issuecomment-336227022 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAAVZzZFhnb80PxDhsBj6k_30sbrs7qXks5srlu6gaJpZM4PZQgi
.
๋ค. Doubleclick ์์ ์์ ๋์จ ์ผ๋ถ ์คํฌ๋ฆฝํ ์ธ์ด๋ผ๊ณ ๊ณ์ ์๊ฐํ๊ธฐ ๋๋ฌธ์ Dart๋ฅผ ํผํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง์งํ๊ฒ DFP์์ ํตํฉ์ Google ๋ฐ ๊ธฐํ ์์ค์ ๊ด๊ณ ์์ต์ ์์กดํ๋ ์ฐ๋ฆฌ ์ค ์ผ๋ถ์๊ฒ Flutter๋ฅผ ๊ฐ๋ฐฉํ ๊ฒ์ ๋๋ค.
๊ฐ์ฌ ํด์. DFP์ ๊ด๋ จ๋ API์ ๋ํ ๋งํฌ๋ฅผ ์ถ๊ฐํ ์ ์๋ค๋ฉด ์ฐ๋ฆฌ(๋ฐ ์ปค๋ฎค๋ํฐ)๊ฐ ์๊ตฌ ์ฌํญ์ ์ดํด๋ณผ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์๋ง๋ ๊ด๋ จ ๋งํฌ์ผ ๊ฒ์ ๋๋ค.
https://developers.google.com/doubleclick-publishers/docs/clients
๋๋ถ๋ถ์ ๊ฒ์์๋ ์น์์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ตฌํ์ ์ฌ์ฉํ๊ฑฐ๋
HTML5/ํ์ด๋ธ๋ฆฌ๋ ์ฑ์์.
Git ์ ์ฅ์:
์ด๊ฒ์ ์์์ https://github.com/flutter/flutter/issues/8098
๋ค์ ํ์ฑํํฉ๋๋ค. #8098์ ๋ฐฐ๋ ๋ฐ ์ ๋ฉด ๊ด๊ณ ์ง์๋ง ์ถ์ ํ๋๋ก ์ ํ๋์์ต๋๋ค.
Admob ๋ค์ดํฐ๋ธ ๊ด๊ณ ์ ๋ํ ์ง์์ด ์ค์ํ ๊ฒฝ์ฐ ์ด ๋ฒ๊ทธ์ ๋งจ ์์ ์๋ ๋๊ธ์์ '์ข์์'๋ฅผ ํด๋ฆญํ์ฌ ์ด์ ๋ํ "ํฌํ"๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
Admob ์ธก์์ ์ฝ๊ฐ์ ์์ ์์ด๋ ์ด๊ฒ์ด ๊ฐ๋ฅํฉ๋๊น? Flutter๋ ์ฌ์ฉ์ ์ ์ ๊ทธ๋ฆฐ ์ปจํธ๋กค์ ์ฌ์ฉํ๊ณ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ ๋ค์ดํฐ๋ธ ์ปจํธ๋กค์ ์ฌ์ฉํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด ๋ฌธ์ ๋ ํ์ฌ ํ๋ก์ ํธ์์ Flutter๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ ์คํ ํผ์ ๋๋ค. ์ธ์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ฌ์ฉํ ์ ์๋์ง, ์ ํ ์ฌ์ฉํ ์ ์์์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์ฑ ์ฝํ ์ธ ์ ํจ๊ป ์ธ๋ผ์ธ์ผ๋ก ํ์๋ ์ ์๋ ํ๋ฅญํ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋๋ค.
์ด์ ๋ํ ์ง์ ์ด ์์ต๋๊น?
์ฐ๋ฆฌ(์ปค๋ฎค๋ํฐ)๋ ์ด๊ฒ์ด ์ ๋ง๋ก ํ์ํฉ๋๋ค. ์ด์ ๋ํ ์ง์ ์ด ์์ต๋๊น?
Unity ๊ฒ์(๋ฐ ์ฑ)์์๋ ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ํ์ํ ์ ์์ต๋๋ค. https://developers.google.com/admob/unity/custom-native
๋์ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ ๋ง ํ์ํฉ๋๋ค. ์ฝ๊ฐ ์ผ์ฌ์ฐจ๊ธด ํ์ง๋ง, ์ด๊ฒ์ 1.0 ์ด์ ํ ๋๋ ๊ทธ ์ด์ ๋ฒ์ ์ ์ ์ฉํ ์ ์์ต๋๊น? cc @mit-mit
์ฃ์กํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋ํด ์ ๊ณตํ ์ ์๋ ์ผ์ ์ด ์์ต๋๋ค.
ํ๋ฌํฐ ์์ ฏ์ผ๋ก ํ ์ ์๋ค๋ฉด ์ฐ๋ฆฌ(์ฆ, ๋)๊ฐ kotlin/swift ๋ฒ์ ์ ์ฝ๋๋ฅผ ์์ ํ๊ณ ๋ชจ๋ฐ์ผ ๊ด๊ณ SDK๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๊น? Flutter๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ ๋ชจ๋ฅด์ง๋ง ๋ค์ดํฐ๋ธ API์ ์ฐ๊ฒฐํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ๊ฐ๋ฅํด์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๊ฐ๋ฐ์๊ฐ AdMob ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ๊ฐ์ด๋๋ผ์ธ๊ณผ ์ผ์ข ์ ์น์ธ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์นํ ์ ์๋ค๋ฉด ์ฌ์ฉ์์ ๊ฐ๋ฐ์ ๋ชจ๋์๊ฒ ๋๋ผ์ด ์ผ์ด ๋ ๊ฒ์ ๋๋ค.
์ด๋ค ์ง์ ?
์ด๊ฒ์ ๋ํ ๋ชจ๋ ์ง์ . ์ด๊ฒ์ ์๋นํ ํ์ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ํ๋ฌํฐ ์์ง์ ํต์ฌ ๋ณ๊ฒฝ ์ฌํญ์ด ํ์ํฉ๋๊น?
PlatformView๊ฐ ์ด๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๊น?
์ ๋งํด๋ณด์.. https://github.com/YoussefKababe/admob_flutter
์ด๊ฒ์ ๋ํ ๊ณํ๋ ๋ฆด๋ฆฌ์ค๊ฐ ์์ต๋๊น?
์์ ๋ ์ถ์๋ ์์์ด ์๋์ง๋ ๊ถ๊ธํฉ๋๋ค. ๋ค๊ฐ์ค๋ ํ๋ก์ ํธ์ flutter๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง ๊ธฐ๋ณธ ๊ด๊ณ ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ด ์ฑ ํ๋จ์ ๋ชป์๊ธด ๋ฐฐ๋๋ฅผ ์ํ์ง ์์ต๋๋ค...
๊ฐ์ ๊ฒ. ์ฑ์ ์ ๋ณด๊ธฐ ์ํด์๋ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ํ์ํฉ๋๋ค..
์ด ์ผ์ ๋๋ฌด ์ค๋ซ๋์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค :'(
์ด ๊ฐ์ฅ ๋ง์ด ์์ฒญ๋ ๊ธฐ๋ฅ์ด ๋ง์์ ๋์๋์? ๊ธฐํ ๊ด๋ จ ํ์ฌ ํจํค์ง๋ ์ ์ง ๊ด๋ฆฌ๋์ง ์์ต๋๋ค. ๊ทธ๋์ ์ด๊ฒ์ด ์ ์ผํ ํฌ๋ง์ ๋๋ค.
์ ๋ ํ์์ด๊ณ ์ง์์๋ก ์ฝ๊ฐ์ ๋์ ๋ฒ๊ณ ์ถ์ง๋ง ๊ธฐ๋ณธ ๊ด๊ณ ์ ํ์ด ๋๋ฌด ๋์ ๋๋๋ค. ์ด ๋ฌธ์ ์ ๋ํด ๊ณง ์กฐ์น๋ฅผ ์ทจํ ์ ์๊ธฐ๋ฅผ ์ง์ฌ์ผ๋ก ๋ฐ๋๋๋ค.
์ด๊ฒ์ ์ ๋งํด ๋ณด์ ๋๋ค. https://pub.dartlang.org/packages/flutter_google_ad_manager , ์์๋๋ก ์๋ํ๋์ง ํ ์คํธํ์ต๋๋ค.
์ฒ์ ์์ํ ๋ iOS์์ ์์ธ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด https://github.com/ko2ic/flutter_google_ad_manager/pull/4/commits/5ab12ad22927e1bab3615658e75636fac746fcf7์ ์ธ๊ธ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
https://developers.google.com/ad-manager/mobile-ads-sdk/ios/quick-start ๋๋ https://developers.google.com/ad-manager/mobile-ads-sdk/android/quick ํ์ธ
๋ด ํ๋ก์ ํธ์์ rxDart ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ์๋ฒ์์ ์คํธ๋ฆผ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ firebase_admob์ ์ถ๊ฐํ๊ณ ์ฑ์ ๊ด๊ณ ๋ฅผ ํ์ํ์ง๋ง ๋ฐฐ๋์ ๊ด๊ณ ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ด ์คํธ๋ฆผ์ด ์๋์ผ๋ก ์์๋ฉ๋๋ค. ์ ๊ทธ๋?
์ ๋งํด๋ณด์.. https://github.com/YoussefKababe/admob_flutter
@Purus - iOS ๋ฐ AndroidX ์ง์ ๋ถ์กฑ ์ธ์ ์์์ ์ธ๊ธํ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ํ๋ ๋ค๋ฅธ ์ด์ ๊ฐ ์์ต๋๊น? ๋๋ ์ต๊ทผ์ ๋ฐ์ ์ ๊ณ ๋ คํ ๋ ํ์๊ฐ ๊ณง ํด๊ฒฐ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค...
@theneshofficial - https://pub.dartlang.org/packages/flutter_google_ad_manager ๊ฐ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ง์ํฉ๋๊น?
๋ค์ดํฐ๋ธ ๊ด๊ณ (AdMob)๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ๋ ์ฑ์ฉ ํ๋ฌ๊ทธ์ธ์ด ์์ต๋๋ค. AndroidView ๋ฐ UIKitView๋ฅผ ํตํด ๊ตฌํํ์ต๋๋ค. ์ํ๊น๊ฒ๋ AdMob SDK๋ ๊ฐ์ ๋ก UnifiedNativeAd ๋ด๋ถ์ ๊ด๊ณ ๋ฅผ ์ฝ์ ํด์ผ ํ๋ฏ๋ก ๊ด๊ณ ๋ฐ์ดํฐ๋ฅผ Flutter๋ก ๋ณด๋ผ ์ ์์ต๋๋ค. ์ด๊ฒ์ด Flutter ํ๋ฌ๊ทธ์ธ์ ์์ฑํ๋ ๊ฒ์ด ์ ํ ์ฌ์ด ์ผ์ด ์๋ ์ด์ ์ด๊ธฐ๋ ํฉ๋๋ค. ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก Dart์์ ๋๋ถ๋ถ์ UI๋ฅผ ์์ฑํ ๋ค์ Android/iOS์์ ๋ชจ๋ ํ ์คํธ, ์ด๋ฏธ์ง ๋ฑ์ ์์ฒด ์์ฑํ ๋ค์ Flutter UI์ ์ค๋ฒ๋ ์ดํฉ๋๋ค. ๋ฌผ๋ก ๋ ํ๋ซํผ ๋ชจ๋์ ๋ํ ๋ ์ด์์์ ๋น๋ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋์งํ์ง๋ ์์ง๋ง ์๋ํฉ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๊ด๊ณ ๋ ์ ํ์๋๊ณ ํด๋ฆญํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ UIKitView์ ์ํ์ ์ผ๋ฐ์ ์ธ ์ฑ๋ฅ์ด๋ผ๋ ๋ ๊ฐ์ง ํฐ ๋ฐฉํด ์์๊ฐ ์์ต๋๋ค. ์ ์์ ๊ฒฝ์ฐ #25965์์ ๋ณผ ์ ์๋ฏ์ด UIKitView๋ ํ์ฌ ์๋ฆด ์ ์์ต๋๋ค. ์ด๋ TabBar
์ ๊ฐ์ ํน์ UI ์์๋ฅผ ํตํด ๊ฒฐํจ์ด ์์์ ์๋ฏธํฉ๋๋ค. ํ์์ ๊ฒฝ์ฐ ๋ฌธ์ ๋ ํ๋ซํผ ๋ณด๊ธฐ๋ฅผ ํฌํจํ๋ฉด UI ์ฑ๋ฅ์ด ์ ํ๋๋ค๋ ๊ฒ์
๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ๋ํ ๋ฉ์๋ ์ฑ๋์ด ๋ ์ด์ ์์ ์ ๋๋ก ์ฑ๋ฅ ์ ํ๋ฅผ ์ต์ํํ๊ธฐ ์ํด ๋ง์ ๋
ธ๋ ฅ์ ๊ธฐ์ธ์์ต๋๋ค(์์ ์๋ ๊ด๊ณ ๊ฐ ๋ก๋๋ ์๊ฐ์ ์ถ์ ํ ์ ์์์ง๋ง ํด๋น ํธ์ถ์ ์ฅ์ UI ์ฑ๋ฅ์์). ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ํนํ ์์ ์ ์ด๋ฌํ ํ๋ซํผ ๋ณด๊ธฐ ์ค ํ๋๋ง ์์ฑํ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ์๋นํ ์์ ๋ฒ๋ฒ
๊ฑฐ๋ฆผ์ด ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ก๋ ํ์๊ธฐ ๋ฐ ์ ๋๋ฉ์ด์
์ด ์ฝ 1์ด ๋์ ๋ฉ์ถฅ๋๋ค. ๊ทธ ํ์๋ ์ด ์ฑ๋ฅ ์ ์ค์ด ์ค์ด๋ค์ง๋ง ์ด์์ ์ผ๋ก๋ ๋ชฉ๋ก ๋ด๋ถ์ ๊ด๊ณ ๋ฅผ ํฌํจํ๊ณ ์ถ๊ธฐ ๋๋ฌธ์ ์คํฌ๋กคํ๋ ๋์ 60FPS๋ฅผ ์ ์งํ ์ ์์ต๋๋ค(์ฑ๋ฅ ํ๋กํ์ผ๋ฌ๋ ํ๋ ์๋น ์ต๋ ์ฝ 100ms๋ฅผ ํ์ํจ).
๋ค์์ Java ์ฝ๋์ ๋ํ ์์ ์ํ์ ๋๋ค. iOS ์ชฝ์ ์ ๋ง ๋๊ฐ์ต๋๋ค.
private UnifiedNativeAd mAd;
private FrameLayout mView;
FlutterAdView(Context context, Registrar registrar, int id) {
mView = ... // Create a placeholder view
// request an ad
}
<strong i="9">@Override</strong>
public View getView() {
return mView;
}
<strong i="10">@Override</strong>
public void onUnifiedNativeAdLoaded(final UnifiedNativeAd unifiedNativeAd) {
mAd = unifiedNativeAd;
/* Inflate your layout
/* ...
*/
/* Set your views
/* ...
*/
adView.setNativeAd(ad);
mView.addView(adView);
}
// Don't forget about dispose, etc
@JaspervanRiet - ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ๊ตฌํํ๋ฉด์ ํฌ๋ก์ค ํ๋ซํผ์ ์ฃผ์ Flutter ์ ๋ฌธ๊ฐ๋ฅผ ์ ๊ฑฐํ๊ณ ์์ต๋๋ค. ๊ทํ์ ๊ฒฝ์ฐ Flutter๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค. https://github.com/YoussefKababe/admob_flutter ๋ฅผ ์ดํด๋ณด๊ณ ๊ทธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก Flutter ์์ญ์ผ๋ก ๋์๊ฐ ์ ์๋์ง ํ์ธํ์๊ฒ ์ต๋๊น?
@angel1st ๊ฑฐ์ ๋๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ ๋ฐฐ๋ ๊ด๊ณ ์ ๋๋ค. ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ํ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ฑ์ ๋ค๋ฅธ ๋ชจ๋ ๋ถ๋ถ์ Flutter์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฏ๋ก ๊ทํ์ ๋ต๋ณ์ ์ ์๊ฒ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๊ด๊ณ SDK์ ์ ํ ์ฌํญ์ ๋๋ค. UnifiedNativeAd ์ฌ์ฉ ์ ํ์ผ๋ก ์ธํด Flutter์ฉ ๊ณต์ ๊ด๊ณ SDK๊ฐ ์ถ์๋์ง ์๋ ํ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์กฐ๋ง๊ฐ ์์ํ ์ ์์ต๋๋ค.
@dreamsoftin ์ Flutter์ฉ Facebook Audience Network (https://github.com/dreamsoftin/facebook_audience_network)๋ฅผ ๊ตฌํํ์ต๋๋ค. ํ์ฌ ํ๋ฌ๊ทธ์ธ์ Android ์ ์ฉ์ด๋ฉฐ ๋ฐฐ๋, ์ ๋ฉด ๊ด๊ณ , ๋ณด์ํ ๋น๋์ค, ์ธ์คํธ๋ฆผ ๋น๋์ค ๋ฐ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ง์ํฉ๋๋ค. iOS ๋ถ๋ถ์ ๊ตฌํํ๋ ๋ฐ ๋์์ ์ค ์ ์๋ ์ฌ๋์ ์ฐพ๊ณ ์์ต๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฐ๋ชจ:
์ด๋ค ์ง์ ์ด ์์ต๋๊น? ์ด๊ฒ์ ํ๋ฌํฐ์ ํจ๊ป ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ๊ฐ๋ฐ์๋ ๊ฐ์ฅ ์ข์ํ๋(๐) ๋ฌธ์ ๋ฅผ ์์๋๋ก ์ฐ์ ์์๋ฅผ ์ง์ ํ๋ฏ๋ก ๋ฌธ์ ๋ฅผ ๊ณ์ ์ฐฌ์ฑํ์ญ์์ค. ๊ฐ์ฌ ํด์!
์ด(๋ค์ดํฐ๋ธ ๊ด๊ณ ) ๋๋ฌธ์ Flutter ์ฑ์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค. ์ธ์ ๊ตฌํํ ์์ ์ธ์ง ์๋ ค์ฃผ์๋ฉด ๊ทธ์ ๋ฐ๋ผ ๊ณํ์ ์ธ์ธ ์ ์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์ด์ ๋ํ ๊ณต์ ์
๋ฐ์ดํธ๊ฐ ์์ ๋๊น์ง admob_flutter๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํจํค์ง v 0.2.0.
๊ฐ์ฌ ํด์,
ํธ๋ฃจ์ํ๋ง ๋ผ๋ง๋์
2019๋
5์ 13์ผ ์์์ผ ์คํ 10:03 Dark Chocolate, ์๋ฆผ @github.com
์ผ๋ค:
์ด๊ฒ ๋๋ฌธ์ ๋ด ํ๋ฌํฐ ์ฑ์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์ธ์ ๊ตฌํํ๋์ง ์๋ ค์ฃผ๊ณ ๊ณํ์ ์ธ์ธ ์ ์์ต๋๋ค.
๋ฐ๋ผ์.๊ฐ์ฌํฉ๋๋ค.
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/flutter/flutter/issues/12114?email_source=notifications&email_token=AAIHDZ245EMJ2W2HX6MIHDDPVGJ7JA5CNFSM4D3FBARKYY3WVWWK3TUL52HS4DFVREXG43VMVBW63
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAIHDZYX4MEYBTZTHKDQQFDPVGJ7JANCNFSM4D3FBARA
.
admob_flutter
์ ์ ์ผํ ๊น๋ค๋ก์ด ๋ถ๋ถ์ iOS ์ง์์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ ์ธ์๋ ์ด๊ฒ๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค.
@angel1st ์ด ์ค๋ ๋๋ ๊ธฐ๋ณธ ๊ด๊ณ ์ฉ์ด๋ฉฐ admob_flutter
์์๋ ์ง์ํ์ง ์์ต๋๋ค.
https://github.com/dreamsoftin/facebook_audience_network๋ฅผ ํ์ธํ์ธ์. ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ง์ํฉ๋๋ค.
@SachinGanesh - FAN์ ์ฌ๊ฐํ CPM ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ด ํ ๋ก ์ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ ์ถ๊ฐํ์ง ์๋ ์ฌ์ํ ๋งํฌ - Google์ด ๊ฐ๋ฐ์์๊ฒ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํ๋ ์์ํฌ๋ก ์ฌ๊ฒจ์ง๋ ์ ํ(๊ด๊ณ )์ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ด ์ ์๊ฒ๋ ์ด์ํฉ๋๋ค. ํ์ ๋จ์ ์ด ์์ต๋๋ค. :)
https://github.com/dreamsoftin/facebook_audience_network๋ฅผ ํ์ธํ์ธ์. ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ง์ํฉ๋๋ค.
@SachinGanesh iOS์์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ์ง์์ด ๊ฐ๋ฅํฉ๋๊น?
์ฒดํฌ์ธ ์ค์ ๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ๊ฐ์ ํด ์ฃผ์ธ์!
์ฐ๋ฆฌ ๋ชจ๋์๊ฒ ์ด๊ฒ์ด ํ์ํฉ๋๋ค๐๐
์ด ํ๋ฌ๊ทธ์ธ์ iOS๋ ์ง์ํ๋๋ก ์ ๋ฐ์ดํธ๋์ด ์ธ๋ผ์ธ admob ๊ด๊ณ ๋ฅผ ํ์ํ์ง๋ง ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ ์์ง ์ง์๋์ง ์์ต๋๋ค. https://pub.dev/packages/admob_flutter
๋๋ ๋งค์ผ ์๋ฐฑ๋ง ๋ช ์ ๋ ์๊ฐ ๋๋ฌํ๋ ์ด๋ํ ์ถํ์ฌ์์ ์ผํ๊ณ ์์ต๋๋ค(_Flutter ํ์ ๋ค์ํ ๊ตฌ์ฑ์๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋์๊ณ ๊ทธ๋ค์ ๋ด๊ฐ ์ธ๊ธํ๋ ์ถํ์ฌ๋ฅผ ์๊ณ ์์ต๋๋ค_). ๊ธฐ๋ณธ firebase_admob๊ณผ ํจ๊ป ์ถ์ํด๋ ๊ด์ฐฎ์ MVP Flutter ์ฑ์ด ์์ง๋ง DFP ๊ด๊ณ ๊ฐ ํ์ํ ๋ค๋ฅธ ์ฑ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์์ผ๋ฉฐ ๊ธฐ๋ณธ ๊ด๊ณ ์ ๋ํ ์ง์ ๋ถ์กฑ์ด ์ฐจ๋จ๊ธฐ์ ๋๋ค. Flutter์ ๋ฆฌ์์ค๋ฅผ ํฌ์ํ๊ณ ๋ง์ ์ฑ ๊ฐ๋ฐ์์๊ฒ ๊ฐ์ฅ ์ค์ํ ์ธก๋ฉด์ ์ํด ๋ณด๋ฅ๋์๊ธฐ ๋๋ฌธ์ ์ด๋ ์ค๋ง์ค๋ฌ์ด ์ผ์ ๋๋ค. POI: ๋๋ถ๋ถ์ ๊ด๊ณ ํํธ๋๋ WebView ๋ด์์ HTML ๋ณด๊ธฐ์ JavaScript๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ์ค๋ ๋์์ ์์ ์์ฑ๋ ์ผ๋ถ ๊ฒ์๋ฌผ์ ์ฝ์ผ๋ฉด ๋ง์ ์ฌ๋๋ค์ด ์์ฒด ๊ฐ๋ฐ ํ๊ณผ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ์๋ํ์ง๋ง ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๊ด๊ณ ๋คํธ์ํฌ ์๊ตฌ ์ฌํญ, ์์ฒด ์ฌ๊ธฐ ๊ฐ์ง ๊ธฐ์ ๋ฐ ์ด๊ฒ์ ๊ทผ๋ณธ์ ์ผ๋ก Flutter ํ์์ ํด๊ฒฐํด์ผ ํ๋ ๊ฒ์ ๋๋ค.
๊ด๊ณ ๊ฐ ์ค์ํ ์์ ์ฑ๋์ธ ๋น์ฆ๋์ค์์ Flutter ์ฑํ์ ๊ถ๊ทน์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ๋ฅผ ๋์ด๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํ๋ค๋ ์ ์ ๊ฐ์กฐํ๊ณ ์ถ์ต๋๋ค.
ํ์ํด์ผ ํ๋ ๊ด๊ณ ์ ์์๋ ๋ค์๊ณผ ์ ์ฌํ ๊ด๊ณ ๊ฐ ํฌํจ๋ฉ๋๋ค.
https://vimeo.com/186510665
๋ช ๊ฐ์ง ์ถ๊ฐ ๋ฐฐ๊ฒฝ, Teads๋ก ์์ ๋ฅผ ํ
์คํธํ ๋ ๊ด๊ณ ๊ฐ ํ์๋๊ณ ํฌํจ๋ ๋น๋์ค๊ฐ ์ฌ์๋์ง๋ง ๋ก๊ทธ์๋ ์ฌ๋ฐ๋ฅธ ์กฐํ๊ฐ๋ฅ์ฑ ์ถ์ ๋ฌธ์ ๊ฐ ํ์๋ฉ๋๋ค.
Teads:
W/teads#Visibility(17978): The Teads AdView is visible at 0%, hidded by 1 View(s):
W/teads#Visibility(17978): - View of class io.flutter.plugin.platform.SingleViewPresentation$FakeWindowViewGroup, with id: -1, with contentDescription: null, with a size of: [width: 1050, height: 875] is hidding 100% of the ad
https://github.com/dreamsoftin/facebook_audience_network๋ฅผ ํ์ธํ์ธ์. ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ง์ํฉ๋๋ค.
@SachinGanesh iOS์์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ์ง์์ด ๊ฐ๋ฅํฉ๋๊น?
๋ค. UiKitView ์์ ฏ์ผ๋ก ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง iOS์ฉ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ ์์ง facebook_audience_network ์์ ๊ตฌํ๋์ง ์์์ต๋๋ค.
์ ๋ @nodinosaur ์ ํจ๊ป ์ผํ๊ณ ์์ผ๋ฉฐ ๊ทธ์ ์์ ์ ๋ง๋ถ์ด์๋ฉด, ์ฐ๋ฆฌ๋ Flutter์์ ํ๋ฅญํ ์์ ์ธ ํ๋ก์ ํธ๊ฐ ์์ง๋ง DFP/๊ด๊ณ ์์ ์์ง์์ด ์๋ค๋ ๊ฒ์ ํ๋ฌํฐ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค.
์ ๋ 1,500๋ง ๋ช
์ ํ์ฑ ์ฌ์ฉ์๊ฐ ์๋ ์ฐ๋ฆฌ๋๋ผ์์ ๊ฐ์ฅ ํฐ ์์
๋คํธ์ํฌ์ ์ค๋ฆฝ์์
๋๋ค. ์ ๋ Flutter๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ์ง์์ ์๋ฃํ์ ๋ ์์ต์ ์ฐฝ์ถํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๋๋ ๋ฐฐ๋์ ์ ๋ฉด ๊ด๊ณ ๋ก ์ฌ์ฉ์ ๊ฒฝํ์ ๋ง์น์ง ์์ ๊ฒ์
๋๋ค. ๋ค์ดํฐ๋ธ ADS๋ ๊ณต๊ฒฉ์ ์ด์ง ์๊ณ ์์ต์ ์ฐฝ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ์ค๋๋ ํ์ ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค.
4๊ฐ์์ ์์
์์ค, ๋๋ Swift + Kotlin์ผ๋ก ๋์๊ฐ ๊ฒ์
๋๋ค.
@jonataslaw ํผ๋๋ฐฑ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ค์ดํฐ๋ธ DFP ๊ด๊ณ ๊ฐ ์๋ํฉ๋๋ค. Teads์ ๊ฐ์ ์ผ๋ถ ๊ฒ์์๋ ์์ฒด ๊ฐ์์ฑ ๊ฐ์ง ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋๋ ์ด๊ฒ์ ํด๊ฒฐํ๋ค๊ณ ๋ฏฟ๋๋ค.
๊ด๋ จ ์ฝ๋๋ https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/plugin/platform/SingleViewPresentation.java ์ ๋๋ค.
์ฝ๋ ์๋จ์ ์ค๋ช ๋ ๋๋ก:
/*
* A presentation used for hosting a single Android view in a virtual display.
*
* This presentation overrides the WindowManager's addView/removeView/updateViewLayout methods, such that views added
* directly to the WindowManager are added as part of the presentation's view hierarchy (to fakeWindowViewGroup).
*
* The view hierarchy for the presentation is as following:
*
* rootView
* / \
* / \
* / \
* container state.fakeWindowViewGroup
* |
* EmbeddedView
*/
์ด fakeWindowViewGroup
๋ EmbeddedView
์ ๋งจ ์์ ๋ฐฐ์น๋ฉ๋๋ค. ํฌ๋ช
ํ Teads๋ ์ต์ํ ์ ์ฒด ๋ณด๊ธฐ๋ฅผ ๋ฎ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. fakeWindowViewGroup
๋ ํ์
๋ฉ๋ด์ ํจ๋์ด ์ถ๊ฐ๋ ๋ ๊ธฐ๋ณธ ๋ณด๊ธฐ ์์ ์์นํ๋๋ก ํ๋ ๋ฐ ํ์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ค์ ๋ก ์ฝ๊ฐ ๋ค๋ฅด๊ฒ ๋ฌ์ฑ๋ ์ ์์ต๋๋ค. fakeWindowViewGroup
container
ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด fakeWindowViewGroup
๋ถ๋ชจ๊ฐ ํ์ ๊ฐ ์๋๋๋ค. addView
/ removeView
/etc WindowManager ์ฝ๋ฐฑ์ ์ง๊ธ์ฒ๋ผ ๋ณด๊ธฐ๋ฅผ ์ถ๊ฐ ๋ฐ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ณด๊ธฐ๊ฐ EmbeddedView
์ "์"์ ์์นํ๊ธฐ ๋๋ฌธ์
๋๋ค. Android์ ํ์ค ๊ทธ๋ฆฌ๊ธฐ ์์. fakeWindowViewGroup
ํ์ ๊ฐ EmbeddedView
์ ๋ฎ๊ณ ์๋ ๋ฌธ์ ํด๊ฒฐ.
/cc @amirh
ํ ์คํธ๋ฅผ ์ํด ๋ด ๋ก์ปฌ ์๋ฒ ๋๋ ๋ณด๊ธฐ ์ฝ๋๋ฅผ ํ ์คํธํ์ต๋๋ค.
private void findAndHideFakeWindowManagerViewGroup()
{
final ViewGroup parent = (ViewGroup) ((ViewGroup) getParent()).getParent();
parent.getChildAt(1).setVisibility(View.INVISIBLE);
}
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ฐ๋ผ์ SingleViewPresentation.java
ํ๋ซํผ์ด ์ด์ ์๊ฒฌ์์ ์ ์ํ ๋๋ก ์๋ํ๋๋ก ์กฐ์ ๋๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
__์ด๊ฒ์ ํด๊ฒฐ์ฑ ์ด ์๋๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ด์ฅ ๋ณด๊ธฐ๊ฐ ๋ํ ์์๋ ํ์ ๋ฉ๋ด ๋๋ ์ ์ฒด ํ๋ฉด ๋ณด๊ธฐ๋ฅผ ํ์ํ๋ ค๊ณ ํ๋ ๊ฒฝ์ฐ. ์์ ์ฝ๋๋ฅผ ์ฌ์ฉํ ๋๋ ํ์๋์ง ์์ต๋๋ค. __์์ PR์ด ๋ณํฉ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค ์ฃผ์ญ์์ค.
Android์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ PR์ด ์ฒจ๋ถ๋์ด ์์ต๋๋ค. iOS์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ํ์ฌ ํ ์คํธํ ์์ง์ ๊ตฌ์ถํ ์ ์์ผ๋ฏ๋ก ๋๊ตฐ๊ฐ ๋น๋๋ฅผ ์คํํด์ผ ํฉ๋๋ค. ํ์์ ์ง์ ์ด ์์ ์ ์ํํ ์ ์๋ ๊ฒฝ์ฐ ๋ก์ปฌ ad-SDK์ ๋ํด ์ฌ์ฉ์ ์ง์ ์์ง ๋น๋๋ฅผ ํ์ธํ์ฌ ์์ ์ฌํญ์ด ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ด๋ ์ฐ๋ฆฌ๊ฐ ๊ธฐ๋ํ ์ ์๋ ํ์๋ผ์ธ์ ๋ํ ์งํ ์ํฉ์ด ์์ต๋๊น?
@RaresMihalcea ๋ฏธ๋ ์ ์ด์ ํ(2033๋ 1์ 1์ผ ๋ง๊ฐ)๋ฅผ ์ํด ์ค์ ๋์์ผ๋ฉฐ ์ด ๊ธฐ๋ฅ์ ์ค์์ฑ์ ๊ณ ๋ คํ ๋ ๋ค์ ๋ถ์ํฉ๋๋ค. ๋ค์ดํฐ๋ธ admob ๊ด๊ณ ์ ๋ํ ์ง์์ด ๋๋ฝ๋ ๊ฒ์ ๋ง์ ๊ฐ๋ฐ์์๊ฒ ๊ฒ์ ์ฒด์ธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ณ ๊ฐ์๊ฒ "ํ์ํ ๋ชจ๋ ๊ฒ์ ํ ์ ์์ต๋๋ค. Flutter๋ ํ๋ฅญํ์ง๋ง iOS์์๋ ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ํ ์ ์์ต๋๋ค."๋ผ๊ณ ๋งํด์ผ ํ๋ ์์ ์ ๋๋ฌํ์ต๋๋ค. ์ด ํ๋ ์์ํฌ์ ์ค๋ ์ผ๋ถ ์ฌ๋๋ค์๊ฒ ์ด๊ฒ์ด ๊ฑฐ๋ ์ฐจ๋จ๊ธฐ์ผ ๋ ์ด๊ฒ์ด ํฐ ๋ฌธ์ ๋ก ๊ฐ์ฃผ๋์ง ์๋๋ค๋ ๊ฒ์ ๋ฏธ์น ๊ฒ์ฒ๋ผ ๋๊ปด์ง๋๋ค. ๊ตฌ๊ธ ์ ๋ฐ!
์ฒดํฌ์ธ ์ค์ ๋๋ค. ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
๊ทธ๋์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์์ด์ผ ํ๋ ๋ด ํ๋ก์ ํธ์ ์ฌ์ฉํ ์ ์๋ ๋์ฒด ๊ธฐ์ ์คํ์ ์ฐพ๊ณ ์์์ต๋๋ค.
react-native ๋ฐ ionic ๋๋ ์ด๋ค์ ๋ํ ํ์ค์ ์ธ ํ์ ๋ผ์ธ์ ๋ํ ์ง์์ด ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ๋ค์ดํฐ๋ธ ๊ธฐ์ ba dum tss ๋ง์ ์ํ ๊ฒ์ผ ์ ์์ต๋๊น?
๋ถํํ๋ ๋ช ๋ฌ ๋์ ์์ํ ์ ์๋ค๋ ๊ฒ์ ์ง์ณ์ ๋ด ์ ์ ๋๋ฌผ ํ๋ก์ ํธ์์ ์ค์ ๋ก ์์
ํ๋ ค๋ฉด Kotlin์ ๋ฐฐ์ฐ๊ณ Mac OS VM์ ๋ค์ด๋ก๋ํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ถ์ : ์ค์ ๋ก ๊ธฐ๋ณธ ๊ด๊ณ ์ฌ์ฉ์ ํ์ฉํ๋ Ionic ๋๋ React-Native์ฉ ๋ชจ๋์ ์๋ ์ฌ๋์ด ์๋ค๋ฉด ์ ๋ง ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
๋ค์ดํฐ๋ธ admob ๊ด๊ณ ๊ฐ ๋ค์ดํฐ๋ธ ์ฑ ๊ฐ๋ฐ์๋ ์ฌ์ ํ ๋ฒ ํ ๋ฒ์ ์ด๋ผ๋ ์ ์ ๊ฐ์ํ ๋ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์ด์์ ์ด๊ฒ ์ง๋ง, ๊ทธ ๋์ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ด ์๋ firebase_admob ํ๋ฌ๊ทธ์ธ์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ฉด ๊ธฐ์ ๊ฒ์ ๋๋ค.
"๋ฐฐ๋ ๊ด๊ณ ๋ ์์น ์ง์ ๊ธฐ๋ฅ์ด ์ ํ๋์ด ์์ต๋๋ค. ๋ฐฐ๋ ๊ด๊ณ ๋ ํ๋ฉด ์๋จ ๋๋ ํ๋จ์ ๋ฐฐ์นํ ์ ์์ผ๋ฉฐ ๊ฐ์ฅ์๋ฆฌ์์ ๋ ผ๋ฆฌ์ ํฝ์ ์คํ์ ์ ๋ฐฐ์นํ ์ ์์ต๋๋ค."
๊ทธ๋ค์ด ์ ์ด๋ ๊ทธ๊ฒ์ ๊ณ ์น ์ ์๋ค๋ฉด ์ฐ๋ฆฌ ๋ชจ๋๋ ์ฌ์ฉ์๊ฐ ์คํฌ๋กคํ ์ ์๋ "๋ค์ดํฐ๋ธ" ๋ฐฉ์์ผ๋ก ๊ด๊ณ ๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ์๋ํ๋ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ด ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ํนํ iOS์ ๊ฒฝ์ฐ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค. "firebase_admob"์ด๋ผ๋ ํ๋ฌํฐ ์ง์ ํ๋ฌ๊ทธ์ธ์ ์ผ๋ถ๋ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
Flutter๋ ํ๋ฅญํ์ง๋ง ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด 2033๋ 1์ 1์ผ๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์์ ๊ฒ์ ๋๋ค. ์๊ธฐ๋ค ์ง์ง ์๊ธฐ๋ค 2019๋ ์ธ๋ฐ ๊ทธ๋ฐ ์ญํ ์ ํ๋ ค๋ฉด ์ฐ๋ฆฌ๋ ์์๊ฐ ํ์ด๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค. ) ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์์ต๋๋ค.
ํผ๋๋ฐฑ์ ์ ๊ณตํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ด ์ค๋ ๋์๋ ์ฌ๋ฌ ๊ธฐ๋ฅ๊ณผ ์ ์ฌ์ ์๋ฃจ์ ์ด ๋ ผ์๋์ด ์์ต๋๋ค. ์ปค๋ฎค๋ํฐ ์๊ตฌ๋ฅผ ๋ ์ ์ดํดํ๊ธฐ ์ํด ์ฌ๋ฌ ๋ฌธ์ ๋ก ๋๋๊ฒ ์ต๋๋ค. ๊ด์ฌ ์๋ ๋ฌธ์ ์ ์์ง์๊ฐ๋ฝ์ ์ถ๊ฐํด ์ฃผ์ธ์.
์ด๋ฒ ํธ์์ ์ฌ์ฉ๋ '๋ค์ดํฐ๋ธ ๊ด๊ณ '๋ผ๋ ์ฉ์ด๋ '๋ค์ดํฐ๋ธ ๊ด๊ณ '๋ผ๋ ํน์ AdMob ๊ด๊ณ ํ์์ ์๋ฏธํ๋ฉฐ ํ์ฌ ์ ํ๋ ์ฑ ๊ฐ๋ฐ์(ํผ๋ธ๋ฆฌ์ )๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์ดํฐ๋ธ ๊ด๊ณ ํ์์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๊ด๊ณ ๊ฐ ๋ ๋๋ง๋๋ ๋ฐฉ์์ ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค(๊ด๊ณ ์ ๋ํ ์์ฒด Android/iOS ๋ณด๊ธฐ๋ฅผ ๊ตฌ์ถํ์ฌ).
์ฌ๊ธฐ์์ ์ค๋ช ํ๋ ๊ธฐ๋ฅ์ ์ฑ ๊ฐ๋ฐ์๊ฐ Android/iOS UI ๊ตฌ์ฑ์์(Flutter ์์ ฏ ์๋)๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๊ณ ๊ฐ ๋ ๋๋ง๋๋ ๋ฐฉ์์ ๊ตฌ์ฑํ๊ณ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ๋์ค์ ํ๋ซํผ์์ ๋ ๋๋ง๋๋ ๋๋ก Flutter ์์ ฏ ํธ๋ฆฌ์ ํฌํจ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด๊ฒ์ด ํ์ฌ ๋ฌธ์ ์์ ์ถ์ ํ๊ณ ์๋ ๋ด์ฉ์ ๋๋ค.
์ด๋ฒ ํธ์์ ๋ ผ์๋๋ ์ถ๊ฐ ๊ธฐ๋ฅ์ Flutter ์์ ฏ ํธ๋ฆฌ์ ์ผ๋ถ๋ก AdMob ๋ฐฐ๋ ๊ด๊ณ ๋ฅผ ํฌํจํ๋ ๊ธฐ๋ฅ์ ๋๋ค(Firebase_admob ํ๋ฌ๊ทธ์ธ์ด ์ฌ์ฉํ๋ ํ์ฌ ์ ๊ทผ ๋ฐฉ์์ Flutter UI ์๋จ์ ๋ฐฐ๋ ๊ด๊ณ ๋ฅผ ์ค๋ฒ๋ ์ดํ๋ ๊ฒ์ ๋๋ค). ๋ฏธ๋ฆฌ ์ค์ ๋ ์์น).
์ด๊ฒ์ https://github.com/flutter/flutter/issues/35081 ์์ ์ถ์ ๋๋ฉฐ, ์ด์ ๋ํด ๊ด์ฌ์ด ์๋ค๋ฉด ์์ง์๊ฐ๋ฝ์ ์๋ก ์ฌ๋ ค์ฃผ์ธ์.
์ด๊ฒ์ firebase_admob ํ๋ฌ๊ทธ์ธ์ ํ์ฌ ๋ฐฐ๋ ์ง์๊ณผ ๊ฑฐ์ ๋์ผํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ์ฌ์ฉํฉ๋๋ค(์: ๊ธฐ๋ณธ ๊ด๊ณ ๋ ์ ์ฒด Flutter UI ์์ ๋ ์๋ ๊ณ ์ ์์น์ ํ์๋จ).
๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ํฌํจํ ์ ์๋ ๊ฒ์ด ๋ถ๋ช ํ ๋ ๋์ ์ต์ ์ด์ง๋ง ํ์ฌ ๋ฐฐ๋ ์ง์๊ณผ ์ ์ฌํ ์ด "ํ๋กํ " ์ ๊ทผ ๋ฐฉ์์ ๋ ์งง์ ์๊ฐ ๋ด์ ํฉ๋ฆฌ์ ์ผ๋ก ๊ธฐ๋ํ ์ ์๋ ๊ฒ์ ๋๋ค.
์ด ์ต์ ์ด ๋์์ด ๋๋ค๋ฉด https://github.com/flutter/flutter/issues/35082 ์ ์์ง์๊ฐ๋ฝ์ ์ถ๊ฐํ์ธ์.
์ฆ, ๋ค์ดํฐ๋ธ Android/iOS์ฉ์ผ๋ก ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ์ ์ ์ฌํ๊ฒ Flutter ์์ ฏ์ ์ฌ์ฉํ์ฌ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ๋ ๋๋งํฉ๋๋ค.
์ด ์ต์ ์ ์๋ง๋ ๋ฌ์ฑํ๊ธฐ ๊ฐ์ฅ ์ด๋ ต๊ณ ๋ฏธ๋์๋ ์์ง ๋ฉ์์ต๋๋ค.
์ด๊ฒ์ https://github.com/flutter/flutter/issues/35083 ์์ ์ถ์ ๋ฉ๋๋ค.
๋ค์ดํฐ๋ธ admob ๊ด๊ณ ๊ฐ ๋ค์ดํฐ๋ธ ์ฑ ๊ฐ๋ฐ์๋ ์ฌ์ ํ ๋ฒ ํ ๋ฒ์ ์ด๋ผ๋ ์ ์ ๊ฐ์ํ ๋ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์ด์์ ์ด๊ฒ ์ง๋ง, ๊ทธ ๋์ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ด ์๋ firebase_admob ํ๋ฌ๊ทธ์ธ์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ฉด ๊ธฐ์ ๊ฒ์ ๋๋ค.
"๋ฐฐ๋ ๊ด๊ณ ๋ ์์น ์ง์ ๊ธฐ๋ฅ์ด ์ ํ๋์ด ์์ต๋๋ค. ๋ฐฐ๋ ๊ด๊ณ ๋ ํ๋ฉด ์๋จ ๋๋ ํ๋จ์ ๋ฐฐ์นํ ์ ์์ผ๋ฉฐ ๊ฐ์ฅ์๋ฆฌ์์ ๋ ผ๋ฆฌ์ ํฝ์ ์คํ์ ์ ๋ฐฐ์นํ ์ ์์ต๋๋ค."
๊ทธ๋ค์ด ์ ์ด๋ ๊ทธ๊ฒ์ ๊ณ ์น ์ ์๋ค๋ฉด ์ฐ๋ฆฌ ๋ชจ๋๋ ์ฌ์ฉ์๊ฐ ์คํฌ๋กคํ ์ ์๋ "๋ค์ดํฐ๋ธ" ๋ฐฉ์์ผ๋ก ๊ด๊ณ ๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ์๋ํ๋ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ด ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ํนํ iOS์ ๊ฒฝ์ฐ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค. "firebase_admob"์ด๋ผ๋ ํ๋ฌํฐ ์ง์ ํ๋ฌ๊ทธ์ธ์ ์ผ๋ถ๋ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
@matte5031 Android ํ ์คํธ ๊ด๊ณ ๋ก ' https://pub.dev/packages/admob_flutter '๋ฅผ ์๋ํ๊ณ ์ง๊ธ๊น์ง ๊ด๊ณ ๋ฅผ Scaffold ์๋, ๋ชฉ๋ก ๋ณด๊ธฐ์ ์ถ๊ฐํ ์ ์๋ ๋ฐฉ์์ ๋งค์ฐ ๊ธฐ์ฉ๋๋ค. react.js ๋ฐ Apace cordova์ ๊ธฐ์ ์คํ๊ณผ ํจ๊ป ๋ค๋ฅธ ํ๋ฌํฐ admob ํ๋ฌ๊ทธ์ธ๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ AdMob ํ ์คํธ ๊ด๊ณ ๋ก ํ ์คํธ ์ค์ผ ๋ฟ์ด๋ฉฐ ํ๋ก๋์ ์์ ์ด์ ๋ํด ํ์ธ๋์ง ์์์ต๋๋ค.
@ashishsukhija Ye Android ํ ์คํธ ๊ด๊ณ ๋ ํจ๊ณผ๊ฐ ์์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง iOS๋ ๊ทธ๋ ์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฏธ ์กด์ฌํ์ง๋ง ์ด ATM์ด ์๋ Google ์ ์ง ๊ด๋ฆฌ ํ๋ฌ๊ทธ์ธ์ ์ด๊ฒ์ด ํฌํจ๋๋ ๊ฒ์ ํจ์ฌ ์ ํธํฉ๋๋ค.
์์ ฏ ํธ๋ฆฌ์ ์ผ๋ถ๋ก ํ๋ซํผ๋ณ ๋ค์ดํฐ๋ธ ๊ด๊ณ UI๋ฅผ ํฌํจํ์ฌ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ณ ๊ธ ์ง์
์ด๊ฒ์ ํ๋ซํผ ๋ณด๊ธฐ( Android View / UIKitView )๊ฐ ์๋ Flutter์์ ์ด๋ฏธ ๊ฐ๋ฅํฉ๋๋ค. Facebook Audience Network ํ๋ฌ๊ทธ์ธ์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ๊ตฌํํ์ต๋๋ค. ์ด๊ฒ์ ๋ํ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์๋ ๋ชจ๋ Ad SDK๋ฅผ flutter ์ฑ์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๊ณ ์์ ฏ ํธ๋ฆฌ ๋ด์ ํ์ํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๋ค์์ ํ๋ก๋์
์ฑ์์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ๋ณด์ฌ์ฃผ๋ ์์
๋๋ค.
@SachinGanesh ํ๋ฌ๊ทธ์ธ์ Android๋ง ์ง์ํฉ๋๋ค. UIKitView๋ ์๋ฆด ์ ์์(#25965)๊ณผ ๊ฐ์ ์ฃผ์ ์ ํ ์ฌํญ์ด ์์ผ๋ฉฐ ์ด๋ฅผ ์ ๋ขฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์์ผ๋ ค๋ฉด ๋จผ์ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ํ์ฌ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๋ฐ๋ ์๋นํ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
@JaspervanRiet ๊ธฐ๋ณธ ๊ด๊ณ UI๋ฅผ ์๋ผ๋ผ ํ์๊ฐ ์์ต๋๊น? ๋ด๊ฐ ํ๋ ธ๋ค๋ฉด, ๊ทธ๊ฒ์ ์ปจํ ์ด๋์ ์ต๋ ๋๋น ๊ธฐ์ค์ ์ฐจ์งํ ๊ฒ์ ๋๋ค. ๋ง์ต๋๊น?
@FarmaanElahi ํด๋ฆฌํ์ ํ์์ฑ์ ์ค์ ์์ ฏ์ ํด๋ฆฌํํ๋ ๊ฒ์ด ์ ์ฉํ๊ธฐ ๋๋ฌธ๋ง ์๋๋ผ ์ง์์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ํ์ฌ UIKitViews๊ฐ UI ์์๋ฅผ ํด๋ฆฌํํฉ๋๋ค. ๋ชฉ๋ก์ ๊ด๊ณ ๊ฐ ์๋ UIKitView๋ฅผ ๋ฃ์ผ๋ฉด ํด๋น ๋ณด๊ธฐ๋ TabBar
๋ฅผ ํตํด ์๋ฆฝ๋๋ค. ์ฆ, ์ฐ๋ฆฌ ํ๋ก์ ํธ์์๋ ๊ด๊ณ ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
@SachinGanesh ํ๋ฌ๊ทธ์ธ์ ํ๋ฅญํ๊ณ ์์งํ ๋ค์ดํฐ๋ธ ๊ด๊ณ ์ธก๋ฉด์์ ํ์ฌ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ์ต๊ณ ์
๋๋ค.
๋ง์นจ๋ด ๋ชจ๋ ์์๊ฐ ํฌํจ๋ UI์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ฒ ๋์์ต๋๋ค. ํ๋ฌ๊ทธ์ธ ๊ฐ์ ๋ฐฉ๋ฒ์ ๋ํ ๋ก๋๋งต์ GitHub ํ์ด์ง์ ๊ฒ์ํด ์ฃผ์๊ฒ ์ต๋๊น? IOS ์ง์์ด ์ธ์ ๋์ฌ์ง ๊ถ๊ธํฉ๋๋ค.
Flutter์ AndroidView ๋ฐ UiKitView๋ ํ๋ซํผ UI ๊ตฌ์ฑ์์์ ์ ์์ค ์กฐ์์ ์์กดํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ฐ์ผ ๊ด๊ณ ์์ง๋์ด๋ง ํ์ด ์์ํ์ง ๋ชปํ๊ณ ํ ์คํธํ์ง ์์ ๋ฐฉ์์ผ๋ก Google ๋ชจ๋ฐ์ผ ๊ด๊ณ SDK์ ์ํธ์์ฉํ ๊ฒ์ด ๊ฑฐ์ ๋ณด์ฅ๋ฉ๋๋ค. ์ ๊ทผ ๋ฐฉ์์ด ์ง๊ธ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ผ๋ MRAID ๊ธฐ๋ฅ, ๊ด๊ณ ์์ฌ์ ํฌํจ๋ JS ์ฝ๋, ๋ ธ์ถ ๋ฐ ํด๋ฆญ ์ธก์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ ธ์ถ ๋ฐ ํด๋ฆญ ํต๊ณ๊ฐ ๋น์ ์์ ์ผ ๊ฒฝ์ฐ ๊ณ์ ์ด ์ ์ง๋ ์ ์์ผ๋ฏ๋ก ๋ง์ง๋ง ํญ๋ชฉ์ด ํนํ ์ค์ํฉ๋๋ค.
๊ด๋ จ ๋น์ฌ์์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋์ Flutter ํ์ firebase_admob ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ๋ซํผ ๋ณด๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ AdMob ๊ด๊ณ ๋ฅผ ์ฝ์ ํ๋ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ ๋ณด ๊ฐ์ฌํฉ๋๋ค @amirh <3
์ด๊ฒ์ Flutter๊ฐ ๋ฌด๋ฃ ์ฑ์ ์ํ ์คํ ๊ฐ๋ฅํ ์ ํ์ด ๋๊ธฐ ์ํ ์ ๋์ ์ธ ํ์ ์์์ ๋๋ค.
Admob ํ์์ AndroidView ๋ฐ UiKitView๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ํจํ ์๋ฃจ์ ์ธ์ง ํ์ธํ ์ ์์ต๋๊น? ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ @amirh ๊ฐ ์์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ ๋์ฒด ์๋ฃจ์ ์ ๋ฌด์์ ๋๊น?
@charleshan ์ ๋ค์ํ ์๋ฃจ์ ์ ์ถ์ ํ๋ ๋ฌธ์ ์ ๋ํด https://github.com/flutter/flutter/issues/12114#issuecomment-505633342 ๋ฅผ ์ฐธ์กฐํ์ธ์.
Google Admob์ ์ธ์ฆ๋ Twitter ๊ณ์ ์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ๋ชจ๋ ๊ฐ๋ฐ์์๊ฒ ์ ๊ณต๋ ๊ฒ์ด๋ผ๊ณ ๋ฐํํ์ต๋๋ค. ์ด ์ค๋ ๋๊ฐ ๊ทธ๊ฒ์ ๋ํด ์๊ณ ์ถ์ดํ ์๋ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. :).
์ด๋ป๊ฒ ์งํ๋๊ณ ์๋์?
ํผ๋๋ฐฑ์ ์ ๊ณตํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ด ์ค๋ ๋์๋ ์ฌ๋ฌ ๊ธฐ๋ฅ๊ณผ ์ ์ฌ์ ์๋ฃจ์ ์ด ๋ ผ์๋์ด ์์ต๋๋ค. ์ปค๋ฎค๋ํฐ ์๊ตฌ๋ฅผ ๋ ์ ์ดํดํ๊ธฐ ์ํด ์ฌ๋ฌ ๋ฌธ์ ๋ก ๋๋๊ฒ ์ต๋๋ค. ๊ด์ฌ ์๋ ๋ฌธ์ ์ ์์ง์๊ฐ๋ฝ์ ์ถ๊ฐํด ์ฃผ์ธ์.
์์ ฏ ํธ๋ฆฌ์ ์ผ๋ถ๋ก ํ๋ซํผ๋ณ ๋ค์ดํฐ๋ธ ๊ด๊ณ UI๋ฅผ ํฌํจํ์ฌ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ณ ๊ธ ์ง์
์ด๋ฒ ํธ์์ ์ฌ์ฉ๋ '๋ค์ดํฐ๋ธ ๊ด๊ณ '๋ผ๋ ์ฉ์ด๋ '๋ค์ดํฐ๋ธ ๊ด๊ณ '๋ผ๋ ํน์ AdMob ๊ด๊ณ ํ์์ ์๋ฏธํ๋ฉฐ ํ์ฌ ์ ํ๋ ์ฑ ๊ฐ๋ฐ์(ํผ๋ธ๋ฆฌ์ )๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์ดํฐ๋ธ ๊ด๊ณ ํ์์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๊ด๊ณ ๊ฐ ๋ ๋๋ง๋๋ ๋ฐฉ์์ ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค(๊ด๊ณ ์ ๋ํ ์์ฒด Android/iOS ๋ณด๊ธฐ๋ฅผ ๊ตฌ์ถํ์ฌ).
์ฌ๊ธฐ์์ ์ค๋ช ํ๋ ๊ธฐ๋ฅ์ ์ฑ ๊ฐ๋ฐ์๊ฐ Android/iOS UI ๊ตฌ์ฑ์์(Flutter ์์ ฏ ์๋)๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๊ณ ๊ฐ ๋ ๋๋ง๋๋ ๋ฐฉ์์ ๊ตฌ์ฑํ๊ณ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ๋์ค์ ํ๋ซํผ์์ ๋ ๋๋ง๋๋ ๋๋ก Flutter ์์ ฏ ํธ๋ฆฌ์ ํฌํจ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
_์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ํ์ฌ ํธ์์ ์ถ์ ํ๊ณ ์๋ ๊ฒ์ ๋๋ค._
Flutter ์์ ฏ ํธ๋ฆฌ์ AdMob ๋ฐฐ๋ ๊ด๊ณ ํฌํจ
์ด๋ฒ ํธ์์ ๋ ผ์๋๋ ์ถ๊ฐ ๊ธฐ๋ฅ์ Flutter ์์ ฏ ํธ๋ฆฌ์ ์ผ๋ถ๋ก AdMob ๋ฐฐ๋ ๊ด๊ณ ๋ฅผ ํฌํจํ๋ ๊ธฐ๋ฅ์ ๋๋ค(Firebase_admob ํ๋ฌ๊ทธ์ธ์ด ์ฌ์ฉํ๋ ํ์ฌ ์ ๊ทผ ๋ฐฉ์์ Flutter UI ์๋จ์ ๋ฐฐ๋ ๊ด๊ณ ๋ฅผ ์ค๋ฒ๋ ์ดํ๋ ๊ฒ์ ๋๋ค). ๋ฏธ๋ฆฌ ์ค์ ๋ ์์น).
_์ด๊ฒ์ #35081์์ ์ถ์ ๋ฉ๋๋ค. ์ด์ ๋ํด ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ์์ง์๊ฐ๋ฝ์ ์ถ๊ฐํ์ญ์์ค._
Flutter UI ์์ ํ๋ซํผ๋ณ ๋ค์ดํฐ๋ธ ๊ด๊ณ UI๋ฅผ ์ค๋ฒ๋ ์ดํ์ฌ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ณ ๊ธ ์ง์
์ด๊ฒ์ firebase_admob ํ๋ฌ๊ทธ์ธ์ ํ์ฌ ๋ฐฐ๋ ์ง์๊ณผ ๊ฑฐ์ ๋์ผํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ์ฌ์ฉํฉ๋๋ค(์: ๊ธฐ๋ณธ ๊ด๊ณ ๋ ์ ์ฒด Flutter UI ์์ ๋ ์๋ ๊ณ ์ ์์น์ ํ์๋จ).
๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ํฌํจํ ์ ์๋ ๊ฒ์ด ๋ถ๋ช ํ ๋ ๋์ ์ต์ ์ด์ง๋ง ํ์ฌ ๋ฐฐ๋ ์ง์๊ณผ ์ ์ฌํ ์ด "ํ๋กํ " ์ ๊ทผ ๋ฐฉ์์ ๋ ์งง์ ์๊ฐ ๋ด์ ํฉ๋ฆฌ์ ์ผ๋ก ๊ธฐ๋ํ ์ ์๋ ๊ฒ์ ๋๋ค.
_์ด ์ต์ ์ด ๋์์ด ๋๋ค๋ฉด ์์ง์๊ฐ๋ฝ์ #35082๊น์ง ์ถ๊ฐํ์ธ์._
Flutter ๋ ๋๋ง์ผ๋ก ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ณ ๊ธ ์ง์
์ฆ, ๋ค์ดํฐ๋ธ Android/iOS์ฉ์ผ๋ก ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ์ ์ ์ฌํ๊ฒ Flutter ์์ ฏ์ ์ฌ์ฉํ์ฌ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ๋ ๋๋งํฉ๋๋ค.
์ด ์ต์ ์ ์๋ง๋ ๋ฌ์ฑํ๊ธฐ ๊ฐ์ฅ ์ด๋ ต๊ณ ๋ฏธ๋์๋ ์์ง ๋ฉ์์ต๋๋ค.
_์ด๋ #35083_์์ ์ถ์ ๋ฉ๋๋ค.
๋๋ ์ ์ ๋์ ์ด ์ค๋ ๋๋ฅผ ๋ฐ๋ผ์๊ณ ๊ธฐ๋ฅ์ ํฌํํ๋ผ๋ ์ด ์์ฒญ์ ๋์ณค์ต๋๋ค. ์ด ๋ฌธ์ ๊ฐ ๊ฑฐ์ 18๊ฐ์ ๋์ ๊ฐ์ฅ ๋ง์ด ํฌํ๋ ๋ฌธ์ ์ค ํ๋์์ผ๋ฉฐ ์งํ ์ํฉ์ ๋ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ํฌํ๊ฐ ์ผ๋ง๋ ๋์์ด ๋๋์ง ํ์คํ์ง ์์ต๋๋ค.
๋ช ์ฃผ ์ ์ ๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ์ฌ๊ธฐ์ ๊ณต์ ํ ๊ฒ์ ๊ธฐ์ตํ์ง๋ง ๊ทธ/๊ทธ๋ ๊ฐ ๊ฒ์๋ฌผ์ ์ญ์ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ๊ธฐ ์๋ ๋ชจ๋ ์ฌ๋๋ค์ Flutter ํ์ ๋ถ๊ธฐ๋ณ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ์๋ฃํด์ผ ํฉ๋๋ค: https://twitter.com/flutterdev/status/1160961757118181378
๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ด ๋ถ๋ถ:
๋ช ์ฃผ ์ ์ ๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ์ฌ๊ธฐ์ ๊ณต์ ํ ๊ฒ์ ๊ธฐ์ตํ์ง๋ง ๊ทธ/๊ทธ๋ ๊ฐ ๊ฒ์๋ฌผ์ ์ญ์ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ๊ธฐ ์๋ ๋ชจ๋ ์ฌ๋๋ค์ Flutter ํ์ ๋ถ๊ธฐ๋ณ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ์๋ฃํด์ผ ํฉ๋๋ค: https://twitter.com/flutterdev/status/1160961757118181378
๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ด ๋ถ๋ถ:
์ค๋ฌธ์กฐ์ฌ๊ฐ ๋ ์ด์ ํ์ฑํ๋์ง ์์ต๋๋ค.
๋ค์ดํฐ๋ธ ๋ถ๋ถ์ ๋ํ ์์์ด ์์ต๋๊น?
์ด ๋ฌธ์ ๊ฐ ๋จ๊ธฐ๊ฐ์ ํด๊ฒฐ๋ ๊ฒ ๊ฐ์ง ์์ต๋๋ค. Flutter ํ/Google์ ๋๊ตฐ๊ฐ๊ฐ Admob ์ฌ์ฉ์์๊ฒ ์ฐ๋ฝํ์ฌ ์์ ์ด ํ ์ ์๋ ์ผ์ด ์๋์ง ์์๋ณผ ์ ์์ต๋๋ค. ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ Unity์์ ์ด๋ป๊ฒ ์๋ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
https://developers.google.com/admob/unity/custom-native
๊ทธ๊ฒ์ด ์ ํ ์ฌํญ์ด ์๋๋ผ๋ฉด ๋น๋ถ๊ฐ ๋์ฒด ์๋ฃจ์ ์ ์๊ฐํ ์ ์์ต๋๊น? ์ฐ๋ฆฌ๋ ๋ฐฉํด๊ฐ ๋์ง ์๋ ๋ฐฉ์์ผ๋ก ๋ฌด๋ฃ ์ฑ์ ์์ตํํ๊ณ ์ถ์ต๋๋ค. ์ผ์ข ์ ์ ํด ํ๋ก๊ทธ๋จ ์๋น์ค(CJ ์ ํด์ฌ)๋ ์ด๋ป์ต๋๊น? ๋ํ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ์ ์๋ ์คํ ์์ค adtech์ ๋ํ ๊ถ์ฅ ์ฌํญ์ด ์๋ ์ฌ๋์ด ์์ต๋๊น?
@charleshan - ์ด๊ฒ์ ์ฃฝ์ ๊ธฐํ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๊ด๊ณ ๊ด๋ฆฌ์ ๋ฐ ๊ด๋ จ flutter_ad_manager ์์ ฏ ์ฌ์ฉ์ ๊ณ ๋ คํ์ธ์. ๊ฑฐ๊ธฐ์ ๋ช ๊ฐ์ง ํ์ค ๋ฐฐ๋ ๊ด๊ณ ์์ฌ๋ฅผ ์ถ๊ฐํ๊ณ ์ฑ์ ์ฌ๋ฌ ์์ ฏ์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ชจ๋ Firebase
ํ๋ฌ๊ทธ์ธ์ด https://github.com/flutter/plugins์์ https://github.com/FirebaseExtended/flutterfire ๋ก ์ด๋๋์์ต๋๋ค .
ํ์ฌ ๋ฌธ์ ๊ฐ ์ค๋๋์๋ค๋ ์๋ฏธ์
๋๊น? ๊ฑฐ๊ธฐ์์ ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ด์ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์์ ํ ์ง์ํ๋ ค๋ฉด ์ ์ฌ์ ์ผ๋ก ํ๋ ์์ํฌ/์์ง ๋ณ๊ฒฝ์ด ํ์ํ ์ ์์ผ๋ฏ๋ก ์ฌ๊ธฐ์์ ๋ฌธ์ ๋ฅผ ์ ์งํ๊ฒ ์ต๋๋ค.
์ด๊ฒ์ ์ ๋งํด ๋ณด์ ๋๋ค: https://pub.dev/packages/native_ads. Android์์ ์๋ํ๋ ๋ค์ดํฐ๋ธ ํ ์คํธ ๊ด๊ณ ๋ฅผ ์ป์ ์ ์์์ต๋๋ค. ์์ง iOS์์ ํ ์คํธํ์ง ์์์ต๋๋ค. android/app/src/res/layout ๋๋ ํ ๋ฆฌ์ native_ad_layout.xml์ ์ถ๊ฐํ๊ณ packageName์ applicationId๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
์ด๋ ์ ๋ ์งํ์ด ๋๋ ๊ฒ ๊ฐ์ต๋๋ค ๐
@sethladd
์ด ๋ฌธ์ ๋ https://github.com/FirebaseExtended/flutterfire/issues/968๋ก ์ด๋๋์์ต๋๋ค. ์ถ๊ฐ ํ์ ์ ๊ทธ๊ณณ์์ ์ด๋ฃจ์ด์ง ๊ฒ์ ๋๋ค.
firebase_admob
๋ฌธ์ ๋ Flutter ์ธก๊ณผ ํ๋ฌ๊ทธ์ธ ์ธก์์ ์์
ํด์ผ ํ๋ฏ๋ก ์ด๋ฌํ ๋ฌธ์ ๋ ํด๊ฒฐ๋ ๋๊น์ง ์ฌ๊ธฐ์์๋ ์ด๋ ค ์์ต๋๋ค.
๋ํ ์ฌ์ฉ์๊ฐ ์ ์ถํ ๋ฐ์ดํฐ์ ํฌ๊ฒ ์์กดํ๋ ์ฑ์์ ์์ต์ ์ฐฝ์ถํ๊ธฐ ์ํด ์ด ์ ๋ณด๊ฐ ํ์ํฉ๋๋ค. ์ฝํ ์ธ ์ ํจ๊ป ์ธ๋ผ์ธ์ผ๋ก ๊ด๊ณ ๋ชน ๋ฐฐ๋๋ฅผ ํ์ํ๋ ค๋ฉด ๋ฐฉํด๊ฐ ๋์ง ์๋ ๋ฐฉ๋ฒ์ด ์ ๋ง ํ์ํฉ๋๋ค. ๋ ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋๋ ๋ช ๋ฌ ๋์ ์ด๊ฒ์ ์๋์ํค์ง ๋ชปํ์ต๋๋ค. ๊ทธ ๋์ iOS์์๋ ๋ฌธ์ ์์ด ์๋ํ๋์ง ์๊ณ ์์ต๋๊น?
์ด์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์๋ ํ์ธ์, google admob์ ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ์ง์ํ๋ native_ads๋ผ๋ ํจํค์ง๊ฐ ์์ต๋๋ค. ๋๋ ์์ง ๊ทธ๊ฒ์ ์๋ํ์ง ์์์ง๋ง ๊ทธ๊ฒ์ ๋จ์ง ์ ์์ ๋๋ค.
native_ads
๋ฐ Flutter์ PlatformView
์์ ฏ์ ์ฌ์ฉํ์ฌ ๊ด๊ณ ๋ฅผ ํ์ํ๋ ค๋ ๊ธฐํ ํ๋ฌ๊ทธ์ธ์ ๋ํ ๊ฐ๋ตํ ์ฃผ์ ์ฌํญ:
์ปค๋ฎค๋ํฐ์์ ์ด๋ฌํ ์ ํ์ ์์ ์ ํ๋ ์ฌ๋๋ค์ ๋ณด๋ ๊ฒ์ ์ข์ ์ผ์ด์ง๋ง, ํ๋ฉด์ ๊ด๊ณ ๋ฅผ ๊ฒ์ฌํ๋ ๊ฒ์ ๋ชจ๋ฐ์ผ ๊ด๊ณ ํ๋ฌ๊ทธ์ธ ์์ ์ ์ผ๋ถ์ผ ๋ฟ์ด๋ผ๋ ์ฌ์ค์ ๋ชจ๋ ์ฌ๋์ด ์์์ผ ํฉ๋๋ค. ๋์คํ๋ ์ด ์ธ์๋ ๊ด๊ณ ๋ ๋ ธ์ถ์ ์ถ์ ํ๊ณ , ํด๋ฆญ์ ์ฒ๋ฆฌํ๊ณ , MRAID, AdChoices ๋ฐฐ์น, ์คํธ ๋ฐฉ์ง ๊ธฐ๋ฅ ๋ฐ ์ ์ฒด ์ ํธ ๋ฌถ์์ ์ ํํ ์ธก์ ๊ณผ ๊ฐ์ ํญ๋ชฉ์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ์ฉ Google์ ํ๋ฌ๊ทธ์ธ์ด ์์ง ์๋ ์ด์ ๋ ๋ชจ๋ ๊ถํ์ ์ป๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๊ณ ์ ๋๋ก ์ํํ์ง ์์ผ๋ฉด ์์ต ์์ค, ๋ถ์ ํํ ํต๊ณ, AdMob ๋๋ ๊ธฐํ ๋ค๋ฅธ ๊ธฐ๊ด์ ์ํ ๊ณ์ ์ ์ง๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ค์ฌ๋ ๊ด๊ณ ๋คํธ์ํฌ.
์ด๋ฌํ ์ด์ ๋ก ์ง๊ธ์ firebase_admob
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํด๋น ํ๋ฌ๊ทธ์ธ์๋ ๊ธฐ๋ณธ ๊ด๊ณ ๊ฐ ํฌํจ๋์ด ์์ง ์์ง๋ง ์ง์ํ๋ ํ์์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.
Google์๋ ๋ ๋์ ๊ด๊ณ ํตํฉ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ ์์ง๋์ด๊ฐ ์์ง๋ง ํ์ฌ๋ก์๋ ์ฌ์ ํ ์งํ ์ค์ธ ํ๋ก์ ํธ์ ๋๋ค.
native_ads
๋ฐ Flutter์PlatformView
์์ ฏ์ ์ฌ์ฉํ์ฌ ๊ด๊ณ ๋ฅผ ํ์ํ๋ ค๋ ๊ธฐํ ํ๋ฌ๊ทธ์ธ์ ๋ํ ๊ฐ๋ตํ ์ฃผ์ ์ฌํญ:์ปค๋ฎค๋ํฐ์์ ์ด๋ฌํ ์ ํ์ ์์ ์ ํ๋ ์ฌ๋๋ค์ ๋ณด๋ ๊ฒ์ ์ข์ ์ผ์ด์ง๋ง, ํ๋ฉด์ ๊ด๊ณ ๋ฅผ ๊ฒ์ฌํ๋ ๊ฒ์ ๋ชจ๋ฐ์ผ ๊ด๊ณ ํ๋ฌ๊ทธ์ธ ์์ ์ ์ผ๋ถ์ผ ๋ฟ์ด๋ผ๋ ์ฌ์ค์ ๋ชจ๋ ์ฌ๋์ด ์์์ผ ํฉ๋๋ค. ๋์คํ๋ ์ด ์ธ์๋ ๊ด๊ณ ๋ ๋ ธ์ถ์ ์ถ์ ํ๊ณ , ํด๋ฆญ์ ์ฒ๋ฆฌํ๊ณ , MRAID, AdChoices ๋ฐฐ์น, ์คํธ ๋ฐฉ์ง ๊ธฐ๋ฅ ๋ฐ ์ ์ฒด ์ ํธ ๋ฌถ์์ ์ ํํ ์ธก์ ๊ณผ ๊ฐ์ ํญ๋ชฉ์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ์ฉ Google์ ํ๋ฌ๊ทธ์ธ์ด ์์ง ์๋ ์ด์ ๋ ๋ชจ๋ ๊ถํ์ ์ป๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๊ณ ์ ๋๋ก ์ํํ์ง ์์ผ๋ฉด ์์ต ์์ค, ๋ถ์ ํํ ํต๊ณ, AdMob ๋๋ ๊ธฐํ ๋ค๋ฅธ ๊ธฐ๊ด์ ์ํ ๊ณ์ ์ ์ง๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ค์ฌ๋ ๊ด๊ณ ๋คํธ์ํฌ.
์ด๋ฌํ ์ด์ ๋ก ์ง๊ธ์
firebase_admob
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํด๋น ํ๋ฌ๊ทธ์ธ์๋ ๊ธฐ๋ณธ ๊ด๊ณ ๊ฐ ํฌํจ๋์ด ์์ง ์์ง๋ง ์ง์ํ๋ ํ์์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.Google์๋ ๋ ๋์ ๊ด๊ณ ํตํฉ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ ์์ง๋์ด๊ฐ ์์ง๋ง ํ์ฌ๋ก์๋ ์ฌ์ ํ ์งํ ์ค์ธ ํ๋ก์ ํธ์ ๋๋ค.
๊ทธ๋ ๊ตฐ์ ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
native_ads
๋ฐ Flutter์PlatformView
์์ ฏ์ ์ฌ์ฉํ์ฌ ๊ด๊ณ ๋ฅผ ํ์ํ๋ ค๋ ๊ธฐํ ํ๋ฌ๊ทธ์ธ์ ๋ํ ๊ฐ๋ตํ ์ฃผ์ ์ฌํญ:์ปค๋ฎค๋ํฐ์์ ์ด๋ฌํ ์ ํ์ ์์ ์ ํ๋ ์ฌ๋๋ค์ ๋ณด๋ ๊ฒ์ ์ข์ ์ผ์ด์ง๋ง, ํ๋ฉด์ ๊ด๊ณ ๋ฅผ ๊ฒ์ฌํ๋ ๊ฒ์ ๋ชจ๋ฐ์ผ ๊ด๊ณ ํ๋ฌ๊ทธ์ธ ์์ ์ ์ผ๋ถ์ผ ๋ฟ์ด๋ผ๋ ์ฌ์ค์ ๋ชจ๋ ์ฌ๋์ด ์์์ผ ํฉ๋๋ค. ๋์คํ๋ ์ด ์ธ์๋ ๊ด๊ณ ๋ ๋ ธ์ถ์ ์ถ์ ํ๊ณ , ํด๋ฆญ์ ์ฒ๋ฆฌํ๊ณ , MRAID, AdChoices ๋ฐฐ์น, ์คํธ ๋ฐฉ์ง ๊ธฐ๋ฅ ๋ฐ ์ ์ฒด ์ ํธ ๋ฌถ์์ ์ ํํ ์ธก์ ๊ณผ ๊ฐ์ ํญ๋ชฉ์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ์ฉ Google์ ํ๋ฌ๊ทธ์ธ์ด ์์ง ์๋ ์ด์ ๋ ๋ชจ๋ ๊ถํ์ ์ป๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๊ณ ์ ๋๋ก ์ํํ์ง ์์ผ๋ฉด ์์ต ์์ค, ๋ถ์ ํํ ํต๊ณ, AdMob ๋๋ ๊ธฐํ ๋ค๋ฅธ ๊ธฐ๊ด์ ์ํ ๊ณ์ ์ ์ง๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ค์ฌ๋ ๊ด๊ณ ๋คํธ์ํฌ.
์ด๋ฌํ ์ด์ ๋ก ์ง๊ธ์
firebase_admob
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํด๋น ํ๋ฌ๊ทธ์ธ์๋ ๊ธฐ๋ณธ ๊ด๊ณ ๊ฐ ํฌํจ๋์ด ์์ง ์์ง๋ง ์ง์ํ๋ ํ์์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.Google์๋ ๋ ๋์ ๊ด๊ณ ํตํฉ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ ์์ง๋์ด๊ฐ ์์ง๋ง ํ์ฌ๋ก์๋ ์ฌ์ ํ ์งํ ์ค์ธ ํ๋ก์ ํธ์ ๋๋ค.
๋ชจ๋ฐ์ผ ๊ด๊ณ SDK๋ ๋ ธ์ถ ์ถ์ , ํด๋ฆญ ์ฒ๋ฆฌ, ์คํธ ๋ฐฉ์ง ๊ธฐ๋ฅ ๋ฐ ์ ์ฒด ์ ํธ ๋ฌถ์์ ์ ํํ ์ธก์ ์ ๋ด๋นํ์ง ์์ต๋๊น? ๋ค์ดํฐ๋ธ Android ์ฑ์ ๋น๋ํ๊ณ ์ฌ๊ธฐ์ ์ง์นจ์ ๋ฐ๋ฅด๋ ๊ฒฝ์ฐ์ ์ด๊ฒ์ด ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์? https://developers.google.com/admob/android/native/start
native_ads
๋ฐ Flutter์PlatformView
์์ ฏ์ ์ฌ์ฉํ์ฌ ๊ด๊ณ ๋ฅผ ํ์ํ๋ ค๋ ๊ธฐํ ํ๋ฌ๊ทธ์ธ์ ๋ํ ๊ฐ๋ตํ ์ฃผ์ ์ฌํญ:
์ปค๋ฎค๋ํฐ์์ ์ด๋ฌํ ์ ํ์ ์์ ์ ํ๋ ์ฌ๋๋ค์ ๋ณด๋ ๊ฒ์ ์ข์ ์ผ์ด์ง๋ง, ํ๋ฉด์ ๊ด๊ณ ๋ฅผ ๊ฒ์ฌํ๋ ๊ฒ์ ๋ชจ๋ฐ์ผ ๊ด๊ณ ํ๋ฌ๊ทธ์ธ ์์ ์ ์ผ๋ถ์ผ ๋ฟ์ด๋ผ๋ ์ฌ์ค์ ๋ชจ๋ ์ฌ๋์ด ์์์ผ ํฉ๋๋ค. ๋์คํ๋ ์ด ์ธ์๋ ๊ด๊ณ ๋ ๋ ธ์ถ์ ์ถ์ ํ๊ณ , ํด๋ฆญ์ ์ฒ๋ฆฌํ๊ณ , MRAID, AdChoices ๋ฐฐ์น, ์คํธ ๋ฐฉ์ง ๊ธฐ๋ฅ ๋ฐ ์ ์ฒด ์ ํธ ๋ฌถ์์ ์ ํํ ์ธก์ ๊ณผ ๊ฐ์ ํญ๋ชฉ์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ์ฉ Google์ ํ๋ฌ๊ทธ์ธ์ด ์์ง ์๋ ์ด์ ๋ ๋ชจ๋ ๊ถํ์ ์ป๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ต๊ณ ์ ๋๋ก ์ํํ์ง ์์ผ๋ฉด ์์ต ์์ค, ๋ถ์ ํํ ํต๊ณ, AdMob ๋๋ ๊ธฐํ ๋ค๋ฅธ ๊ธฐ๊ด์ ์ํ ๊ณ์ ์ ์ง๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ค์ฌ๋ ๊ด๊ณ ๋คํธ์ํฌ.
์ด๋ฌํ ์ด์ ๋ก ์ง๊ธ์firebase_admob
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํด๋น ํ๋ฌ๊ทธ์ธ์๋ ๊ธฐ๋ณธ ๊ด๊ณ ๊ฐ ํฌํจ๋์ด ์์ง ์์ง๋ง ์ง์ํ๋ ํ์์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.
Google์๋ ๋ ๋์ ๊ด๊ณ ํตํฉ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ ์์ง๋์ด๊ฐ ์์ง๋ง ํ์ฌ๋ก์๋ ์ฌ์ ํ ์งํ ์ค์ธ ํ๋ก์ ํธ์ ๋๋ค.๋ชจ๋ฐ์ผ ๊ด๊ณ SDK๋ ๋ ธ์ถ ์ถ์ , ํด๋ฆญ ์ฒ๋ฆฌ, ์คํธ ๋ฐฉ์ง ๊ธฐ๋ฅ ๋ฐ ์ ์ฒด ์ ํธ ๋ฌถ์์ ์ ํํ ์ธก์ ์ ๋ด๋นํ์ง ์์ต๋๊น? ๋ค์ดํฐ๋ธ Android ์ฑ์ ๋น๋ํ๊ณ ์ฌ๊ธฐ์ ์ง์นจ์ ๋ฐ๋ฅด๋ ๊ฒฝ์ฐ์ ์ด๊ฒ์ด ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์? https://developers.google.com/admob/android/native/start
๋ฌธ์ ๋ ํ๋ซํผ ๋ณด๊ธฐ์ ๋ถ์์ฉ ์ด ์์ ์ ์๊ณ ๋ค์ดํฐ๋ธ ํ๋ซํผ์์ ์ง์ ๋ณด๋ ๋์ผํ ๊ด๊ณ ์ ๋ค๋ฅด๊ฒ ์๋ํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด ํน์ ๊ธฐ๊ฐ ๋์ ์กฐํ์์ ๋น์จ์ด ํ์๋ ๋ ๊ด๊ณ ๊ฐ์์ฑ์ด ๊ณ์ฐ๋๋ ๊ฒฝ์ฐ์
๋๋ค.
๊ด๊ณ ์ ์ฒซ ๋ฒ์งธ ํฝ์
์ด ํ์๋๊ณ ๋ค์ดํฐ๋ธ ๋ฐ ํผํฐ์์ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ณ์ฐ๋๋ค๋ ๊ฒ์ด 100% ํ์คํ์ง ์์ต๋๊น?
์๋ํ์ง ์์ ํ๊ฒฝ์์ ๊ด๊ณ ๋ฅผ ์ฌ์ฉํ๋ฉด Google์์ ์ด์๋ฅผ ์ ๊ธฐํ ์ ์์ต๋๋ค. ํนํ ๋น์ฆ๋์ค ๋ชจ๋ธ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
์ ์ด๋ ํ์ ์์ญ์ ๋๋ค.
๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ Flutter๊ฐ ๋ชจ๋ฐ์ผ ๊ด๊ณ ๋ฅผ ํ์ํ๋๋ก ๋ง๋ ํ๋ฌ๊ทธ์ธ์ด ๊ด๊ณ SDK์ ์์ ์ํ ๋ฅ๋ ฅ์ ๋ฐฉํดํ์ง ์๋๋ค๋ ๊ฒ์ ๋ณด์ฅํ ์ ์์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊น๋ค๋ก์ด ์ผ์ ๋๋ค. ๊ฑฐ๊ธฐ์ ๋ง ๊ทธ๋๋ก ๋๊ตฐ๊ฐ์ ์๊ณ๋ฅผ ์ฑ ์์ง ์ ์๋ ํ๋ฌ๊ทธ์ธ ์์ ์ ๋ฐ๋ฅด๋ ์๋ฐ๊ฐ์ ๋ํ์ฌ ํ๋ฌ๊ทธ์ธ์ ์ถ์ํ๊ธฐ ์ ์ ๊ฒฌ๊ณ ํ๊ฒ ๋ง๋๋ ๊ฒ์ด ์ผ๋ง๋ ์ค์ํ์ง ์ ์ ์์ต๋๋ค.
์ด๊ฒ๋ค์ ๋ชจ๋ ์ 3์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ํ๋ฌ๊ทธ์ธ์ ๋ํ ๊ณต์ ํ ์์ ์ ๋๋ค. Google์์ ๋ ๋์ ์๋ฃจ์ ์ ์ ๊ณตํ๋ ์ฆ์ ์ฑ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
์ ๋ ๋ด์ค ํผ๋ ์ฑ์์ ์ผํ๊ณ ์์ผ๋ฉฐ ๊ฒ์๋ฌผ์ ํผํฉ๋ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ๋ฐฐ์นํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ํ๋ฌ๊ทธ์ธ ๋ฐฉ์๋ณด๋ค๋ ์ฑ์ ์ถ๊ฐํ๋ ๋ฐฉ์์ ํํด์ผ ํ ๊ฒ ๊ฐ์์ ๊ด๊ณ ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ชฉ๋ก ํ๋ฉด์ Swift/Kotlin์ผ๋ก ๊ตฌํํ๊ณ ๊ด๊ณ ๊ฐ ์๋ ๋๋จธ์ง ํ๋ฉด์ Flutter์์ ๊ตฌํํ ์ ์์ต๋๋ค.
flutter_admob
ํ๋ฌ๊ทธ์ธ์ด ํ์ฌ Admob ์ ์ฑ
์ ๋ฐ๋ผ ํ๋ ์ด์์ ๊ถ์ฅ๋์ง ์๋ ๋ฐฐ๋ ๊ตฌํ์ ๊ตฌํํ๊ณ ์์์ ์ง์ ํ๊ณ ์ถ์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด "์ฑ ์ฝํ ์ธ ์ ๊ฒน์น๋ ๊ด๊ณ "์ ๋๋ถ๋ถ์ Android์ ๊ฒฝ์ฐ "์ฑ ํญ๋ชฉ ์ฌ์ด์ ๋ผ์์ง ๊ด๊ณ "๋ฅผ ๊ตฌํํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ๊ธฐ ์์ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
์ฆ, ์์์ ์ธ๊ธํ "ํ์ ์์ญ"์ ์๊ฑฐ๋ Admob ์ ์ฑ ํ์ด์ง ์์ฒด์ "์ ์ฑ ๋ฐ๋"๋ก ๋ช ์๋ ๊ฒ์ ์ง์ ๊ตฌํํ๋ ๊ฒฝ์ฐ ์ต์ ์ ์ํฉ์ด ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๐ค
๋๋ ์ฐ๋ฆฌ๊ฐ ์ต์ํ ํ์ฌ ์งํ ์ํฉ์ ๋ํ ์งํ ๋ณด๊ณ ์๋ฅผ ๋ฐ์์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ฒฝ์์ด ์น์ดํ ์ค๋๋ ์๋ ์ต์ํ ๊ฒฝ์์ ๋ค์ฒ์ง์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํ๋ฉด์ ๋ฐฐ๋ ์ค๋ฒ๋ ์ด๋ ํนํ ์๋ฆ๋ค์ด ํ๋ฌํฐ UI/UX์ ์ง์ ์ด๋ฃฐ ๋ _๋งค์ฐ ์ญ๊ฒน์ต๋๋ค_.
๊ด๊ณ ๋ก ์ฑ์์ ์์ต์ ์ฐฝ์ถํ ์ ์๋ ๊ฐ๋ ฅํ ์๋ฃจ์ ์ด ๋์ฌ ๋๊น์ง ์๊ท๋ชจ ์ฑ ๊ฐ๋ฐ์๊ฐ Flutter๋ฅผ ๊ธฐํผํ๋ ํฐ ์ด์ ๊ฐ ๋์ง ์์๊น ๊ฑฑ์ ๋ฉ๋๋ค. ๊ฐ๋ฒผ์ด ์ฑ์ ๊ฐ๋ ์ฆ๋ช ์ผ๋ก ๋ง๋๋ ๊ฒ์ ์ค์ํ ์ผ์ด์ง๋ง ์ผ๊ด๋ ๊ด๊ณ ์์ต์ ๊ฐ์ ธ์ค๋ ํํฌ๊ฐ ์์ผ๋ฉด ํ์ค ์ธ๊ณ์์ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์ ํ์ ์ธ ๋ฉ์ง ๋๊ตฌ์ผ ๋ฟ์ ๋๋ค. ์ด๊ฒ์ด ์ฐ์ ์์๊ฐ ๋ ๋๊น์ง ๊ฑฐ์ 2 ๋ ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.
๋ฉฐ์น ์ ์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์ถ๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค: https://github.com/FirebaseExtended/flutterfire/pull/169
๋ฉฐ์น ์ ์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๊ฐ ์ถ๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค: FirebaseExtended/flutterfire#169
๊ทธ๋ค์ด ์ด๊ฒ์ ์ถ๊ฐํ๋ค๋ ๊ฒ์ด ์ ๋ง ์ข์ต๋๋ค. ์ํ์ด!
๊ทธ๋ฌ๋ ์ฌ์ ํ ๋ทฐ ๊ณ์ธต ๊ตฌ์กฐ ๋ด๋ถ์ ๋ฐฐ์นํ ์ ์์ต๋๋ค.
๋ด ์ดํด์, ์ค๋ฒ๋ ์ด๋ก ์๋์ชฝ์์ ๋ณด๊ธฐ๋ฅผ ํ์
ํ๋ show
๋ฉ์๋๋ง ์์ต๋๋ค.
MainActivity.kt๊ฐ ์๊ณ MainActivity.java๊ฐ ์์ต๋๋ค.
๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น? ์ด๋ป๊ฒ?
์๋๋ก์ด๋๋ง ์๋ ๊ฒ ๊ฐ์ฃ ?
์๋๋ก์ด๋๋ง ์๋ ๊ฒ ๊ฐ์ฃ ?
IOS์ ๊ธฐ๋ณธ ๊ด๊ณ ๋ ์ถ๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. https://github.com/FirebaseExtended/flutterfire/pull/2106
๊ทธ๋ฌ๋ ๋ทฐ ๊ณ์ธต ๊ตฌ์กฐ ๋ด๋ถ์ ๋ฐฐ์นํ ์ ์์ต๋๊น?
์๋์์ ๋ณด๊ธฐ๋ฅผ ์ค๋ฒ๋ ์ด๋ก ํ์ ํ๋ ํ์ ๋ฐฉ๋ฒ๋ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ก๋ ๊ฝค ์ธ๋ชจ๊ฐ ์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ์ด๊ฒ์ ์์ ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ฌด ์์ฉ์ด ์์ต๋๋ค.
์ด์ ๋ํ ์ง์ ์ด ์์ต๋๊น?
ํ์ธํ ์ ์์ต๋๋ค. ์ง๊ธ์ ๋ง ๊ทธ๋๋ก Android ๋ ์ด์์์์๋ง ์ฌ์ฉ์ ์ ์ํ ์ ์๋ ๋ฐฐ๋ ๊ด๊ณ ์ ๋๋ค.
ํ๋ซํผ ๋ณด๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ํ์ฌ ๊ตฌํ์ด ๊ด๊ณ ๋ณด๊ธฐ ํ์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ค์ ๋ก ์ดํดํ์ง ๋ชปํฉ๋๋ค.
ํ๋ฌํฐ ๋ณด๊ธฐ ์์ ๊ธฐ๋ณธ Android ๋ณด๊ธฐ/iOS UIView๋ฅผ ํ์ํฉ๋๊น?
์ ๋ฉด ๊ด๊ณ ์ ๋ํ ์ ํ๋์ ๋ง๋์๊ฒ ์ต๋๊น?
๋๊ตฐ๊ฐ ์ฝ๋์์ ์ด๊ฒ์ด ์ํ๋๋ ์์น๋ฅผ ์๋ ค์ค ์ ์์ต๋๊น?
ํ๋ฌํฐ ์์ ฏ ์์ ๊ด๊ณ ๋ฅผ ์ค๋ฒ๋ ์ดํฉ๋๋ค. ๊ด๊ณ ๋ ํ๋ฌํฐ์ ์ผ๋ถ๊ฐ ์๋๋๋ค.
์์ ฏ ๊ณ์ธต ๋ฐ๋ผ์ ์์ ฏ์ ํฌํจํ ์ ์์ต๋๋ค. ์์
๋ชฉ๋ก ๋ณด๊ธฐ
2020๋ 4์ 30์ผ ๋ชฉ์์ผ ์คํ 10์ 32๋ถ dasebasto [email protected] ์ด(๊ฐ) ์์ฑํ์ต๋๋ค:
๋๋ ํ์ฌ ๊ตฌํ์ด
ํ๋ซํผ ๋ณด๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ๊ด๊ณ ๋ณด๊ธฐ.ํ๋ฌํฐ ๋ณด๊ธฐ ์์ ๊ธฐ๋ณธ Android ๋ณด๊ธฐ/iOS UIView๋ฅผ ํ์ํฉ๋๊น?
๋๊ตฐ๊ฐ ์ฝ๋์์ ์ด๊ฒ์ด ์ํ๋๋ ์์น๋ฅผ ์๋ ค์ค ์ ์์ต๋๊น?
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/flutter/flutter/issues/12114#issuecomment-621980272 ,
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AESIMECDHHOREM7OCD6UC63RPGVIVANCNFSM4D3FBARA
.
์ ๋ง ๊ทธ๋ ๋ค๋ฉด ์ด ๋ชจ๋ ๊ฒ์ ์์ ์ ๋ฌด์์ ๋๊น?
๊ธฐ๋ณธ ๊ด๊ณ ๊ฐ ์์ด์ผ ํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ์์ฐ์ค๋ฌ์ด ์์น๋ ๋ชฉ๋ก ๋ณด๊ธฐ ๋ด๋ถ์ ๋๋ค. ์ด๊ฒ์ด ๊ฐ๋ฅํ์ง ์์ ๊ฒฝ์ฐ ์ถ๊ฐ๋๋ ๊ฐ์น๋ ๋ฌด์์ ๋๊น?
์ ํํ ์์ ์ ์์ ฏ ํธ๋ฆฌ์ ํฌํจํ๊ณ ์ฌ์ฉ์ ์ง์ ํ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ฑ์ ์คํ์ผ์ ๋ง์ถ ์ ์์ต๋๋ค. ๋ง ๊ทธ๋๋ก ๋ค์ดํฐ๋ธ ๊ด๊ณ ์ ํต์ฌ์ ๋๋ค.
์ด์ ๋ํ ์ง์ ์ด ์์ต๋๊น?
๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฟ๋ง ์๋๋ผ ๋ฐฐ๋ ๊ด๊ณ ๋ ์์ ฏ ํธ๋ฆฌ์ ํตํฉ๋์ด์ผ ํฉ๋๋ค. ์ด ์์ ฏ์ ์ ์ ์ฌ์ฉํ ํ ์ฑ์์ ํ๋กํ ๋ฐฐ๋๋ก ์์ ํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ด๋ ค์ด์ง ๊นจ๋ฌ์์ต๋๋ค. ์ฑ, ๋ฉ๋ด, ๋ชฉ๋ก ๋ณด๊ธฐ, ํ๋จ ๋ํ ์์ ๋ฐ iOS์ ํ๋ฉด ๋ฑ์ ๋ง์ ์๊ฐ์ ์์๋ฅผ ๋ฐฉํดํฉ๋๋ค. ์ด๋ค ์ข ๋ฅ์ ์์ฉ ํ๋ก๊ทธ๋จ์๋ ์ ํฉํ์ง ์์ต๋๋ค. ์ผ๋ฐ ์์ ฏ ๋ฐฐ๋๊ฐ ํ์ํฉ๋๋ค.
ํ๋ฌํฐ ์น์ฉ ์ ๋์ผ์ค๋ ๊ณ ๋ ค
ํํธ์ผ๋ก Flutter ํ์ ๋ฐ์ ์ถ์ฒ ์์ ๋ฐ๋ผ ๋ฌธ์ ์ ์ฐ์ ์์๋ฅผ ์ ํ๊ณ (์ด ๋ฌธ์ ๋ ํ์ฌ ์ ์ฒด ๋ฆฌํฌ์งํ ๋ฆฌ์์ 4์์
๋๋ค) ๋ค๋ฅธ ํํธ์ผ๋ก ์ด ๋ฌธ์ ๋ "๊ธฐ๋ฅ ๋๋ ๋ฒ๊ทธ ์ฐ๋ฆฌ๋ ํด๊ฒฐํ ๊ฒ ๊ฐ์ง ์์ต๋๋ค."
๊ด๊ณ ๋ฅผ ํตํด ๋ชจ๋ฐ์ผ ์ฑ์์ ์์ต์ ์ฐฝ์ถํ๋ ์ฝ๊ณ ์ํํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชจ๋ ํ๋ ์์ํฌ์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด์ง๋ง Flutter์์๋ ๊ทธ๋ ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
@kf6gpe ์ด๊ฒ์ ๋ํด ์ข ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น?
๋๋ ์ด ํฐ์ผ์ ์ฒจ๋ถ๋ ํ๋ก์ ํธ๋ฅผ ๊ด์ฐฐํ ๊ฒ์
๋๋ค.
"์ํ๊ณ - ๋นํธ์ฝ์ธ"์๋ PlatformView์ ๋ํ ๋ง์ "๋ด์ฉ"์ด ํฌํจ๋์ด ์์ด ๊ด๊ณ ์ ๋คํธ ๊ตฌํ์ ์ป์ง ๋ชปํ๋ ์ด์ ๋ฅผ ์ค๋ช
ํ ์ ์์ต๋๋ค.
Flutter ํ์ PlatformViews์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ์ ๋จผ์ ๊ฐ์ ํ ๋ค์ ๋ค์ ์์ฑํ์ง ์๊ณ ๊ธฐ๋ณธ ๊ด๊ณ SDK๋ง ์ฌ์ฉํ๊ธฐ๋ฅผ ์ํฉ๋๊น?
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋ ๋ง์ ํฌ๋ช ์ฑ์ ๋์ด ํ๊ฐํ ๊ฒ์ ๋๋ค.
์๋ค์, ์ฐ๋ฆฌ ๋ญํ๋๊ฑฐ์ผ? ์ด๊ฒ์ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ฐ๋ คํ๋ ํ ๊ธฐ๋ณธ์ ์ผ๋ก cat 1 ๋ฒ๊ทธ์ ๋๋ค. ๊ทธ๊ฒ์ ๋ด ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ์๋ฒฝํ ์ผ์คํ ํผ์ฒ๋ผ ๋ณด์ด๋ฉฐ ๋๋ ์ด ๊ธฐ๋ฅ์ด 3๋ ์ด์ ๋์ ํฐ ์ง์ ์์ด ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํด ํ๋ฃจ ์ข ์ผ ์ฝ์ ํ ๋ค๋ฅธ ํ๋ซํผ ๊ฐ ํ๋ ์์ํฌ๋ฅผ ๊ณ ๋ คํ๊ณ ์์ต๋๋ค. ๋๋ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ๋ฏธํ ๋ฐฐ๋๋ก ํ์ํ๋ ๊ธฐ๋ฅ์ ์งํ ์ํฉ์ผ๋ก ์๊ฐํ์ง ์์ต๋๋ค. ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ํฌํจํ๊ฑฐ๋ ์ต์ํ ํ๋ฌํฐ ์์ ฏ์ ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ์ค๋ฒ๋ ์ดํ ์ ์๋ ๊ธฐ๋ฅ์ด ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ์์ ์ธ ํ๋ซํผ์ ๊ณ์ํ ์ธ์ผํฐ๋ธ๊ฐ ์์ต๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฒ์ด ์๋๋ฉฐ Admob ๊ธฐ๋ณธ ๊ด๊ณ ๋ ์๋์ง๋ง ์๋ํ๋ฏ๋ก ์ ์ฉํ ์ ์์ต๋๋ค.
Facebook Audience Network ๋ค์ดํฐ๋ธ ๊ด๊ณ ์ฉ ํจํค์ง๊ฐ ์์ผ๋ฉฐ Android์ iOS ๋ชจ๋์์ ํ ์คํธ๋ฅผ ๊ฑฐ์ณ ํ๋ฅญํ๊ฒ ์๋ํฉ๋๋ค.
@jebwatson - https://pub.dev/packages/admob_flutter๋ฅผ ์ดํด๋ณด์ธ์. AdMob ๋ฐ Flutter ๊ตฌํ๊ณผ ๊ด๋ จํ์ฌ ์ง๊ธ๊น์ง ๋ ๋์ ์ต์ ์ ์ฐพ์ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ https://pub.dev/packages/native_ads ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ด๊ฒ๋ ์์ง ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ํ๋ฌํฐ ๋ทฐ์ ํจ๊ป AdMob ๋ฐฐ๋๋ฅผ ์ธ๋ผ์ธ์ผ๋ก ํ์ํ๊ณ ์ถ์ต๋๋ค. Flutter ์ฑ ์๋จ์ ๋ฐฐ๋๋ฅผ ๋์ฐ๋ ๊ฒ์ ๋ณด๊ธฐ ํํ๊ณ ์ด ํ๋ซํผ์ ์ ์ฒด ๋ชฉ์ ์ ํผ์ํฉ๋๋ค.
์ฐ๋ฆฌ๋ https://pub.dev/packages/native_ads ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ด ๊ฑฑ์ ์ ์ด๊ฒ์ด ํ์ ์์ญ์ด๋ผ๋ ๊ฒ์
๋๋ค.
Google์ด ์ค๊ณ๋์ง ์์ ๊ด๊ณ ์๋ฃจ์
์ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฐจ๋จํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
ํ์ฌ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ flutter ์์ ฏ ํธ๋ฆฌ(์: ListView)์ ์ผ๋ถ๋ก ํ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ ์ผํ ์๋ฃจ์
์ ๊ฐ๊ฐ AndroidView
๋ฐ UiKitView
๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ Android ๋ฐ iOS ๋ณด๊ธฐ๋ฅผ ํฌํจํ๋ ๊ฒ์
๋๋ค. Flutter Docs์ ๋ฐ๋ฅด๋ฉด ์ด๋ ๋น์ฉ์ด ๋ง์ด ๋๋ ์์
์ด๋ฏ๋ก ํผํด์ผ ํ๋ฉฐ ๊ฒฐ๊ณผ์ ์ผ๋ก ์คํฌ๋กคํ๋ ๋์ ์๋นํ ์ง์ฐ์ด ๋ฐ์ํฉ๋๋ค.
์ด๊ฒ์ด Flutter ํ์ด Flutter ๋๋ ๊ธฐํ ๊ฐ์ ์ฌํญ์ ๊ธฐ๋ณธ ๋ณด๊ธฐ๋ฅผ ํฌํจํ๋ ๋ ๋น ๋ฅด๊ณ ๋ ๋์ ๋ฐฉ๋ฒ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๊ธฐ ๋๋ฌธ์ Flutter ์์ ฏ ํธ๋ฆฌ์ ์ผ๋ถ๋ก ๊ธฐ๋ณธ ๊ด๊ณ ๊ตฌํ์ ์ง์ฐํ๋ ์ด์ ์ ๋๊น?
ํ์ง๋ง, ์๋๋ก์ด๋์ iOS์ ์์กดํ์ง ์๊ณ ํ๋ฌํฐ/๋คํธ์์ ์์ ํ admob(๋ค์ดํฐ๋ธ ๊ด๊ณ )๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๊ฐ๋ฅํ์ง ์์๊น์?
ํ๋ฌํฐ ๋ชฉ๋ก ๋ณด๊ธฐ์์ ๊ธฐ๋ณธ ๊ด๊ณ ๋ฅผ ์ง์ํ๊ธฐ๋ฅผ ๊ฐ์ ํ ์ํฉ๋๋ค. ํ์์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ Flutter๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋ ์๊ธฐ์ ๊ดํ ๋ชจ๋ ์ข ๋ฅ์ ํ์๋ผ์ธ์ด ๋์์ด ๋ ๊ฒ์ ๋๋ค.
AdMob์์ ๋ค์ดํฐ๋ธ ๊ด๊ณ ๋ฅผ ๊ตฌํํ๋ ํ์ฌ ํ๋ฌ๊ทธ์ธ์ด ๋๋ฌด ๋ง์ต๋๋ค. ์ฌ์ํ ๋ฌธ์ ๋ก ๊ฐ๋ฐ์๋ฅผ ๊ธ์งํ๋ Google์ ์ ๋ช ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ํด๋น ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋๋ ต์ต๋๋ค. ์ด์ ๋ํ ๋น์ฌ์์ ๊ตฌํ์ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค. ํ์๋ผ์ธ์ ์๋ ค์ฃผ์ค ์ ์๋์?
์ค๋ ์ด ๊ธฐ๋ฅ์ ๋ํ ๋ฒ ํ ์ง์ ๋ฐํ์ ํจ๊ป ์ฌ๋ฌ๋ถ ๋ชจ๋์๊ฒ ์ข์ ์์์ด ์์ต๋๋ค.
Flutter์์ ์ธ๋ผ์ธ ๋ฐฐ๋ ๋ฐ ๊ธฐ๋ณธ ๊ด๊ณ ํ์ ์ง์
์ง๊ธ์ ๋น๊ณต๊ฐ ๋ฒ ํ ๋ฒ์ ์ด์ง๋ง ํ๋ก๋์ ์ฑ์์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์์ผ๋ฉด ๊ฐ์ ์ ์ ์ฒญํ๋ ๊ฒ์ด ์ข์ต๋๋ค . ๋ชจ๋ ์ผ์ด ์์กฐ๋กญ๋ค๊ณ ๊ฐ์ ํ๋ฉด 2021๋ ์ด์ ์ด๋ฅผ ๋ ๊ด๋ฒ์ํ๊ฒ ๊ณต๊ฐํ ๊ณํ์ ๋๋ค.
์ค๋ ์ด ๊ธฐ๋ฅ์ ๋ํ ๋ฒ ํ ์ง์ ๋ฐํ์ ํจ๊ป ์ฌ๋ฌ๋ถ ๋ชจ๋์๊ฒ ์ข์ ์์์ด ์์ต๋๋ค.
Flutter์์ ์ธ๋ผ์ธ ๋ฐฐ๋ ๋ฐ ๊ธฐ๋ณธ ๊ด๊ณ ํ์ ์ง์์ง๊ธ์ ๋น๊ณต๊ฐ ๋ฒ ํ ๋ฒ์ ์ด์ง๋ง ํ๋ก๋์ ์ฑ์์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์์ผ๋ฉด ๊ฐ์ ์ ์ ์ฒญํ๋ ๊ฒ์ด ์ข์ต๋๋ค . ๋ชจ๋ ์ผ์ด ์์กฐ๋กญ๋ค๊ณ ๊ฐ์ ํ๋ฉด 2021๋ ์ด์ ์ด๋ฅผ ๋ ๊ด๋ฒ์ํ๊ฒ ๊ณต๊ฐํ ๊ณํ์ ๋๋ค.
๊ต์ฅํดโค๏ธ. ๋ฒ ํ ํ๋ก๊ทธ๋จ์ ์ ์ฒญํ ์ง ๋ฉฐ์น ์ด ์ง๋ฌ์ต๋๋ค. ์ด์ฌํ ๋ต์ฅ์ ๊ธฐ๋ค๋ฆฝ๋๋ค โจ
@timsneath
Firebase์ ์์กดํ์ง ์๊ณ ์ฝ๊ฒ ์์ต์ ์ฐฝ์ถํ ์ ์๋ Flutter ์ฑ์ ์ํ ์ด๋ฌํ ๋
ธ๋ ฅ์ ๋งค์ฐ ๊ธฐ์ฉ๋๋ค.
์๋ ๊ฐ์ ๋
ธ๋ ฅ์ด ํฌ์
๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋จผ์ _flutter web_ ์ ๊ฒ์์์ง ์ต์ ํ๋ก ๋ง๋ค๊ณ ์ ๋์ผ์ค ์ ๋ํ ์ง์์ ์ถ๊ฐ ํ ๋ค์
๋ชจ๋ flutter์ ์ง์ ํ๋ซํผ ๊ฐ์ _parity_ ๋ฅผ ๊ฐ๊ธฐ ์ํด
๋ฒ ํ ํ๋ก๊ทธ๋จ๋ ์ ์ฒญํ์ต๋๋ค. ์๋ต์ ๋ฐ์ ์ฌ๋์ด ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค์ ํ์ฑํํฉ๋๋ค. #8098์ ๋ฐฐ๋ ๋ฐ ์ ๋ฉด ๊ด๊ณ ์ง์๋ง ์ถ์ ํ๋๋ก ์ ํ๋์์ต๋๋ค.
Admob ๋ค์ดํฐ๋ธ ๊ด๊ณ ์ ๋ํ ์ง์์ด ์ค์ํ ๊ฒฝ์ฐ ์ด ๋ฒ๊ทธ์ ๋งจ ์์ ์๋ ๋๊ธ์์ '์ข์์'๋ฅผ ํด๋ฆญํ์ฌ ์ด์ ๋ํ "ํฌํ"๋ฅผ ๊ณ ๋ คํ์ญ์์ค.