- 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
62 lines
2.1 KiB
Swift
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()
|
|
}
|
|
}
|
|
|