diff --git a/Seattle Bridge Tracker/AdMob/Banner Ads.swift b/Seattle Bridge Tracker/AdMob/Banner Ads.swift index 0141a6d..26892b4 100644 --- a/Seattle Bridge Tracker/AdMob/Banner Ads.swift +++ b/Seattle Bridge Tracker/AdMob/Banner Ads.swift @@ -14,10 +14,18 @@ final class BannerViewController: UIViewControllerRepresentable { let adUnitID: String = "ca-app-pub-8092077340719182/1348152099" + var finishedLoading: () -> Void = {} + func makeCoordinator() -> Coordinator { Coordinator(bannerViewController: self) } + init() {} + + init(finishedLoading: @escaping () -> Void) { + self.finishedLoading = finishedLoading + } + func makeUIViewController(context: Context) -> UIViewController { let banner = GADBannerView(adSize: GADAdSizeBanner) let viewController = UIViewController() @@ -47,20 +55,25 @@ final class BannerViewController: UIViewControllerRepresentable { print("banner failed to show! Error: \(String(describing: error))") } func bannerViewDidReceiveAd(_ bannerView: GADBannerView) { - + bannerViewController.finishedLoading() } } } struct BannerAds: View { + @State var shimmering = true var body: some View { if !Utilities.isFastlaneRunning && !Utilities.areAdsDisabled { ZStack { - Rectangle() - .background(.white) - .shimmering(active: true, duration: 0.75, bounce: false) - .frame(width: 320, height: 50) - BannerViewController() + if shimmering { + Rectangle() + .background(.white) + .shimmering(active: true, duration: 0.75, bounce: false) + .frame(width: 320, height: 50) + } + BannerViewController(finishedLoading: { + shimmering = false + }) .frame(width: 320, height: 50) } }