Advertisement
Guest User

AdMob

a guest
Oct 12th, 2016
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 3.87 KB | None | 0 0
  1. import UIKit
  2. import GoogleMobileAds
  3.  
  4. class AdViewController: UIViewController, GADBannerViewDelegate {
  5.    
  6.     var banner:GADBannerView!
  7.     var bannerBackground:UIView!
  8.    
  9.     override func viewDidLoad() {
  10.         super.viewDidLoad()
  11.        
  12.         //init banner
  13.         initBanner()
  14.        
  15.         //set layout
  16.         setLayout()
  17.        
  18.     }
  19.    
  20.     func setLayout(){
  21.        
  22.         var views:[String:AnyObject] = ["topGuide" : self.topLayoutGuide, "bottomGuide" : self.bottomLayoutGuide]
  23.        
  24.         if !Constants.IS_PREMIUM  {
  25.             views["banner"] = bannerBackground
  26.         }
  27.        
  28.         let metrics:[String:AnyObject] = ["bannerHeight" : Constants.IS_IPAD ? kGADAdSizeLeaderboard.size.height : kGADAdSizeBanner.size.height]
  29.        
  30.         //horizontal constraints
  31.         var constraints:[NSLayoutConstraint] = []
  32.         constraints.appendContentsOf( NSLayoutConstraint.constraintsWithVisualFormat("H:|-0-[topGuide]-0-|", options: [], metrics: metrics, views: views) )
  33.        
  34.         if !Constants.IS_PREMIUM  {
  35.             constraints.appendContentsOf( NSLayoutConstraint.constraintsWithVisualFormat("H:|-0-[banner]-0-|", options: [], metrics: metrics, views: views) )
  36.         }
  37.        
  38.         //vertical constraints
  39.        
  40.         if !Constants.IS_PREMIUM {
  41.            
  42.             constraints.appendContentsOf( NSLayoutConstraint.constraintsWithVisualFormat("V:|-0-[topGuide]->=0-[banner(==bannerHeight)]-0-|", options: [], metrics: metrics, views: views) )
  43.            
  44.         }else{
  45.            
  46.             constraints.appendContentsOf( NSLayoutConstraint.constraintsWithVisualFormat("V:|-0-[topGuide]->=0-|", options: [], metrics: metrics, views: views) )
  47.            
  48.         }
  49.        
  50.         self.view.addConstraints(constraints)
  51.        
  52.     }
  53.    
  54.     //init banner
  55.     func initBanner(){
  56.        
  57.         bannerBackground = UIView()
  58.         bannerBackground.hidden = true
  59.         bannerBackground.backgroundColor = Constants.color12
  60.         bannerBackground.translatesAutoresizingMaskIntoConstraints = false
  61.         self.view.addSubview(bannerBackground)
  62.        
  63.         if !Constants.IS_PREMIUM {
  64.            
  65.             bannerBackground.hidden = false
  66.            
  67.             banner = GADBannerView()
  68.             banner.alpha = 0
  69.             if Constants.IS_IPAD {
  70.                 banner.adSize = kGADAdSizeLeaderboard
  71.             }else{
  72.                 banner.adSize = kGADAdSizeBanner
  73.             }
  74.             banner.adUnitID = Constants.ADMOB_ID
  75.             banner.delegate = self
  76.             banner.translatesAutoresizingMaskIntoConstraints = false
  77.             banner.rootViewController = self
  78.            
  79.             let request = GADRequest()
  80.             request.testDevices = Constants.ADMOB_TEST_DEVICES
  81.             banner.loadRequest(request)
  82.            
  83.             bannerBackground.addSubview(banner)
  84.            
  85.             bannerBackground.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-0-[banner]-0-|", options: [], metrics: nil, views: ["banner" : banner]))
  86.            
  87.             bannerBackground.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-0-[banner(==bannerHeight)]-0-|", options: [], metrics: ["bannerHeight" : Constants.IS_IPAD ? kGADAdSizeLeaderboard.size.height : kGADAdSizeBanner.size.height], views: ["banner" : banner]))
  88.            
  89.         }
  90.        
  91.     }
  92.    
  93.     func adView(bannerView: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
  94.         print("Ad:" + error.localizedDescription)
  95.     }
  96.    
  97.     func adViewDidReceiveAd(bannerView: GADBannerView!) {
  98.         UIView.animateWithDuration(Constants.BANNER_ANIMATION_INTERVAL, animations: {
  99.             self.banner.alpha = 1
  100.         })
  101.     }
  102.    
  103.     override func didReceiveMemoryWarning() {
  104.         super.didReceiveMemoryWarning()
  105.     }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement