728x90
반응형
SwiftUI로 넘어오면서 Admob광고를 어떻게 추가하느냐가 문제가 되었다. 구글에서는 SwiftUI발표 이후 따로 이에 대해 따로 발표한게 없는 것으로 안다.
다행히 SwiftUI는 완전 새로운 것이 아니기 때문에 하위호환성도 어느정도 가지고 있다.
StackOverflow에 다행히 해결 방법이 존재 하였다.
# Google AdMob integration in SwiftUI
우선,
UIViewControllorRepresentable을 상속받아 GADBannerViewController를 정의한다.
import GoogleMobileAds
import SwiftUI
import UIKit
struct
GADBannerViewController: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> UIViewController {
let view = GADBannerView(adSize: kGADAdSizeBanner)
let viewController = UIViewController()
view.adUnitID = "your ad unit id in there."
view.rootViewController = viewController
viewController.view.addSubview(view)
viewController.view.frame = CGRect(origin: .zero, size: kGADAdSizeBanner.size)
view.load(GADRequest())
return viewController
}
func updateUIViewController(
_ uiViewController: UIViewController,
context: Context) {
}
}
다음 SwiftUI의 바디에서 사용 하면 된다.
HStack {
Spacer()
GADBannerViewController()
.frame(width: kGADAdSizeBanner.size.width, height: kGADAdSizeBanner.size.height)
Spacer()
}
728x90
반응형
'개발 > iOS' 카테고리의 다른 글
iOS UIKit 튜토리얼 - UITableView - 2 / TableViewCell 커스텀하기 (0) | 2021.04.09 |
---|---|
iOS UIKit 튜토리얼 - UITableView - 1 (0) | 2021.04.08 |
Swift 함수 2 - 함수형 프로그래밍? (0) | 2019.12.01 |
Swift 상수, 변수 (0) | 2019.11.27 |
SwiftUI] 스위프트UI에서 UNUserNotificationCenter 사용하기 (0) | 2019.11.20 |
댓글