Files
Woka_Native_iOS/WOKA/Helpers/AdResuable/AdReusable.swift
BilalKhanWDI bbddd1336f - Added google ad banner for webseries.
- Added google ad for karaoke
- Added google ad for karaoke record ui
- Added google ad for fm
- Made a delegate function to handle the ad received or failure
- Added ads to games webview bottom banner
2024-09-16 19:58:03 +05:30

62 lines
2.1 KiB
Swift

//
// AdReusable.swift
// WOKA
//
// Created by MacBook Pro on 16/09/24.
//
import UIKit
import GoogleMobileAds
class AdReusable {
// Singleton instance
static let sharedInstance = AdReusable()
// Private init to prevent creating additional instances
private init() {}
// Function to set up banner ads with an existing banner view
func setupBannerAd(bannerView: GADBannerView, in containerView: UIView, adUnitID: String, viewController: GADBannerViewDelegate & UIViewController, height: CGFloat? = 0.0, width: CGFloat? = 0.0) {
// Adjust the view width and height based on provided values
let viewWidth = containerView.frame.inset(by: containerView.safeAreaInsets).width - (width ?? 0)
let viewHeight = containerView.frame.height - (height ?? 0)
// Create the adaptive banner size
// let adaptiveSize = GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth)
let adaptiveSize = GADPortraitInlineAdaptiveBannerAdSizeWithWidth(viewWidth)
bannerView.adSize = adaptiveSize
// Set the delegate to handle banner events
bannerView.delegate = viewController
// Adjust the banner's frame
bannerView.frame = CGRect(x: 0, y: 0, width: viewWidth, height: viewHeight)
// Center the banner within the containerView
bannerView.center = CGPoint(x: containerView.frame.width / 2, y: containerView.frame.height / 2)
// If height is provided, add rounded corners
if let heightValue = height, heightValue > 0 {
bannerView.layer.cornerRadius = 2
bannerView.clipsToBounds = true
}
// Add the banner view to the container
containerView.addSubview(bannerView)
// Set the ad unit ID and root view controller for the banner
bannerView.adUnitID = adUnitID
bannerView.rootViewController = viewController
// Load the ad request
bannerView.load(GADRequest())
// Ensure the layout is updated
bannerView.layoutIfNeeded()
}
}