์๋ ํ์ธ์ Foma ์ ๋๋ค!
์ต๊ทผ์ TimeBank ๋ผ๋ ์ฑ์ ์ถ์ํ๊ฒ ๋์๋๋ฐ ์ฑ์ผ๋ก ์์ต์ ์ป๋ ๋ฐฉ๋ฒ์ด ๋ญ๊ฐ ์์๊น? ์ ๋ํด์ ์ฐพ์๋ณด๋ค๊ฐ
google ์ ๋๋ชน์ด๋ผ๋ ๊ฒ์ ์๊ฒ๋์์ด์.
๊ทธ๋์ ์ค๋์ ์ ๋๋ชน ๋ค๋๋ฒ์ ๋ํด์ ๋ค๋ค๋ณด๋๋ก ํ ๊ฒ์!
AdMob
Google Admob
์ ๋๋ชน ํํ์ด์ง๋ก ๋จผ์ ์ด๋ํด์ค๋๋ค~
๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ๋ฐ๊ฑฐ์์. ์์ํ๊ธฐ ๋ฒํผ์ ๋๋ฌ์ค๋๋ค.
ํ๋ซํผ์ ๋น์ฐํ iOS ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ฑ์คํ ์ด์ ๋ฑ๋ก๋์ด ์์ผ๋ฏ๋ก ์,์ง์๋๋ ์ฑ ์คํ ์ด์ ์ฑ.... ์ด๊ฒ์ ํด๋ฆญํด์ฃผ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณค ์์ ์ ์ฑ์ ๊ฒ์ํด์ ๊ณจ๋ผ์ฃผ์ธ์.
์ ์ฒซ๋ฒ์งธ ์ฑ ํ์๋ฑ ํฌ์ ๋๋ค!!
์ฌ์ฉ์ ์ธก์ ํญ๋ชฉ์ ์ฒดํฌํ์ ๋ ๋๊ณ ์ํ์ ๋ ๋ฉ๋๋ค. ๋ค ๋๋์ จ์ผ๋ฉด ์ฑ ์ถ๊ฐ๋ฅผ ํด์ค๋๋ค.
๋ค ํ์ ๋ค์ ์ฑ ์ค์ ์ผ๋ก ๋ค์ด๊ฐ๋ฉด ์ฑ ID๊ฐ ์์ฑ๋๊ฑธ ๋ณผ ์ ์์๊ฑฐ์์.
๋ค์ ๊ผญ ์ฑ์์ด๋๋ฅผ ์ฌ์ฉํด์ผํ๋ ์ ๋ณด๊ดํด๋์ธ์!
์ด์ ๊ด๊ณ ๋ฅผ ๋ง๋ค๊ฑด๋ฐ์.
์ผ์ชฝ์ ๊ด๊ณ ๋จ์๋ฅผ ๋๋ฅด์๋ฉด ์๋์ ๊ฐ์ด ์์ํ๊ธฐ ๋ฒํผ์ด ์์๊ฑฐ์์. ๋๋ฌ์ฃผ์ธ์~
์ํ์๋ ๊ด๊ณ ๋ฅผ ๊ณ ๋ฅด์๊ณ
๊ด๊ณ ๋จ์ ์ด๋ฆ๋ ์ค์ ํด์ฃผ์ธ์~
๊ทธ๋ผ ์๋์ ๊ฐ์ด ๊ด๊ณ ์ฉ ์ฑID๊ฐ ๋ฐ๊ธ๋์ ๊ฑธ ๋ณผ์๊ฐ ์์๊ฑฐ์์.
์์ ์ฑ์์ด๋์ ํด๋น ๊ด๊ณ ์ฉ ์ฑID๋ ๋ค๋ฅธ ๊ฒ์ด๋ ๊ผญ ๋ ๋ค ๋ณด๊ดํด์ฃผ์ธ์!
๊ทธ๋ฆฌ๊ณค ๋ง์ง๋ง์ผ๋ก ์ฑ ์ค์ ์ผ๋ก ๋ค์ด๊ฐ์ ์ ์ฐ๊ฒฐ๋ ์๋น์ค์ ํ์ด์ด๋ฒ ์ด์ค ์ ๋๋ชน์ด ์์๊ฑฐ์์.
ํ์ด์ด๋ฒ ์ด์ค ์ ๋๋ชน์ ์ฐ๊ฒฐํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณค ํ์ด์ด๋ฒ ์ด์ค ์ฝ์์ ๊ฐ์ ์ ์ ๋๋ชน์ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ด ์ฐ๊ฒฐ๋จ ํ์๋ก ๋ณํ ๊ฑฐ์์!
Xcode
์ด์ Xcode์ ์ด๋ํ์ ์ info.plist๋ก ๋จผ์ ๊ฐ์ค๋๋ค~
์๋ ์ฝ๋๋ฅผ ๋ณต์ฌํ์๊ณ info.plist์ ๋ถ์ฌ๋ฃ์ด์ฃผ์ธ์!
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-์ ๋๋ชน ์ฑID</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkidentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
</array>
<key>GADIsAdManagerApp</key>
<true/>
์ฃผ์ํ ์ ์ ca-app-pub ๋ค์์ ๋ฐ๋์ ์์์ ํ์ธํ ์ฑID๋ฅผ ๋ฃ์ด์ฃผ์ ์ผ ํฉ๋๋ค.(์ซ์~์ซ์๋ก ๋ ๊ฒ์ ๋๋ค.)
(๊ตฌ๊ธ ๊ณต์๋ฌธ์์ GADIsADManagerApp ์ ๋ฃ์ผ๋ ์๋ฆฌ๊ฐ ์์ด์ ์ง์ง ํ์ฐธ ํค๋งธ์ต๋๋ค ใ ใ )
๊ทธ๋ฆฌ๊ณค podfile์ 'Firebase/Core' ์ 'Firebase/Admob' ์ ์ถ๊ฐํด์ฃผ์๊ณ
ํฐ๋ฏธ๋์ pod install --repo-update๋ฅผ ํด์ค๋๋ค.
Google AdMob ์์ํ๊ธฐ ๋ก ์ด๋ํด์ SDK ํ๋ ์์ํฌ๋ฅผ ๋ค์ด๋ฐ์์ค๋๋ค.
๋ค์ด๋ฐ์ ํ๋ ์์ํฌ์์ GoogleMobileAds ํ๋ ์์ํฌ๋ง ๋ฃ์ด์ฃผ์ธ์.
(์ด๊ฑธ ์๋ฃ์ผ๋ฉด ๋ฌด์จ ์ด์ ์ธ์ง Undefined ์ค๋ฅ๊ฐ ๋จ๋๋ผ๊ตฌ์ ใ )
๊ทธ๋ฆฌ๊ณค Targets - Build Setting ์์ Levels ์์ Other Linker Flags๋ฅผ -Objc๋ฅผ ์ ๋ ฅํด์ค๋๋ค.
AppDelegate
AppDelegate๋ก ์ด๋ํ์ ์ GoogleMobileAds๋ฅผ import ํด์ค๋ค
didFinishLaunchingWithOptions ๋ฉ์๋์ GADMobileAds.sharedInstance().start(completionHandler:nil)์ ์ถ๊ฐํด์ค๋๋ค.
Storyboard
์ด์ ์คํ ๋ฆฌ๋ณด๋๋ก ์ด๋ํ์ ์ ์ํ๋ ์์น์ (๋ฐฐ๋๊ฐ ๋์ฌ) ๋ทฐ๋ฅผ ํ๋ ๋ง๋ค์ด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณค View์ Class๋ฅผ GADBannerView๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์!
ViewController
ํด๋น ๋ทฐ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํด์ GoogleMobileAds๋ฅผ import ํด์ฃผ์๊ณ
GADBannerView๋ฅผ ์ฐ๊ฒฐํด์ค๋๋ค.
์๋์ ๊ฐ์ด ๋ฐฐ๋๋ทฐ.adUnitID๋ ์์์ ๋ฐฐ๋๋ฅผ ๋ง๋ค๋ ๋ฐ๊ธ๋๋ ๊ด๊ณ ์ฉ ์ฑ์์ด๋๋ฅผ ์ ๋ ฅํ๊ณ
๋ฐฐ๋๋ทฐ์ rootViewController๋ฅผ self๋ก ์ค์ ํ ๋ค loadํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
bannerView.rootViewController = self
bannerView.load(GADRequest())
๊ทผ๋ฐ ์ด๊ฒ ์ ๋๋ก ๊ด๊ณ ๊ฐ ๋ณด์ฌ์ง๋๋ฐ ๋ช์๊ฐ์ ๋ ์์๋ ์ ์๋ค๊ณ ํด์ ์ ๋ ํ ์คํธ์ฉ ์ฑ์์ด๋๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
์ด๋ ๊ฒ ๋ค ํ์๊ณ ์ฑ์ ์คํ์์ผ๋ณด๋ฉด ์๋์ ๊ฐ์ด ๊ด๊ณ ๊ฐ ๊ฒ์ฌ๋๊ฑธ ๋ณผ ์ ์์ต๋๋ค!!!!
P.S
์ฒ์์ Google admob ios ๋ผ๊ณ ๊ฒ์ํด์ ์์ํ๊ธฐ๋ฅผ ๋ฐ๋ผํ๋๋ฐ
์ฌ๊ธฐ์์ podfile์ pod 'Google-Mobile-Ads-SDK' ๋ฅผ ์ถ๊ฐํ๋ผ๊ณ ๋์จ๋ค.
์ด ํํ ๋ฆฌ์ผ๋๋ก ๋ฐ๋ผํ์๋ Undefined ์๋ฌ๊ฐ ๋๋ฌด ๋ ์ ์ ๋ง ๋ง์ด ๊ณ ์ํ๊ณ ์๋๋๊ฑด๊ฐ ์ถ์๋๋ฐ
Firebase admob์ด๋ผ ๊ฒ์ํ๊ณ ํด๋น ์์ํ๊ธฐ๋ฅผ ๋ค์ด๊ฐ๋ณด๋
์ฌ๊ธฐ์ ๋ podfile์ ์๋์ ๊ฐ์ด ์ถ๊ฐํ๋ผ๊ณ ํ๊ณ ํํ ๋ฆฌ์ผ์ด ๋ฌ๋๋ค.
์๋ฌดํผ ๊ฒฐ๊ตญ์ Firebase admob iOS ์์ํ๊ธฐ๋๋ก ํ๋๊น ์ผ๋ถ๋ถ ์ค๋ฅ๊ฐ ํด๊ฒฐ๋๊ธด ํ์ง๋ง
์ฌ์ ํ ์๋ฌ๊ฐ ๋ฐ์ํด์ inpo.plist์ GADIsADManagerApp ์ ์ถ๊ฐํ๊ณ
๋ GoogleMobileAds ํ๋ ์์ํฌ๋ฅผ ์ถ๊ฐ์์ผ์ฃผ๋ ์๋ฌ๊ฐ ์์ ํ ํด๊ฒฐ๋๋ค.
Undefined Objc ์๋ฌ์๋๋ฐ ์์ง๋ ์ ๋ฐ์ํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค ใ
์๋ฌดํผ ์ฑ๊ณตํด์ ๋คํ์ด๋ค!
๋๊ธ