Home / iOS / Swift / Banners

Swift

Banners

Un banner es un formato de anuncio que ocupa un espacio determinado dentro de la aplicación (por ejemplo 320x50) para mostrar los anuncios.

Los tamaños (en puntos) disponibles para banners son los siguientes:

  • TappxBannerSizeSmartBanner: Se ajusta al tamaño disponible dentro de la pantalla del dispositivo. Los tamaños que solicitará son: 320x50 y 728x90.
  • TappxBannerSize320x50: Banner típicamente para teléfonos.
  • TappxBannerSize728x90: Banner típicamente para tablets.
  • TappxBannerSize300x250: También conocido como Mrec. Es un banner rectangular para teléfonos y tablets.

Añadir en el archivo ViewController.swift las siguientes líneas:

import UIKit

class ViewController: UIViewController
{
var tappxBanner: TappxBannerViewController?
override func viewDidLoad() {
super.viewDidLoad()
self.tappxBanner = TappxBannerViewController(delegate: self, andSize: TappxBannerSize.smartBanner, andPosition: TappxBannerPosition.bottom)
self.tappxBanner?.load()
}
}

extension ViewController: TappxBannerViewControllerDelegate {
func presentViewController() -> UIViewController! {
return self;
}
}

Importante: Para permitir una correcta gestión de memoria recuerda en implementar la siguiente función donde sea necesario:

if self.tappxBanner != nil {
self.tappxBanner?.removeBanner()
self.tappxBanner = nil
}

Banner Avanzado

En el caso que quiera especificar una posición diferente a TOP y BOTTOM, hay dos posibilidades más:

Especificando una posición concreta:

self.tappxBanner = TappxBannerViewController(delegate: self,
andSize: TappxBannerSize.smartBanner, andLocation: CGPoint(x: X, y: Y))

Especificando una UIView:

self.tappxBanner = TappxBannerViewController(delegate: self,
andSize: TappxBannerSize.smartBanner, andView: self.bannerView)

Delegates

Puedes escuchar los eventos del banner estableciendo las funciones "delegates":

extension AdViewController: TappxBannerViewControllerDelegate {
func tappxBannerViewControllerDidFinishLoad(_ vc: TappxBannerViewController!) {
print("BANNER: FinishLoad")
}
func tappxBannerViewControllerDidFail(_ vc: TappxBannerViewController!, withError error: Error!) {
print("BANNER: Failed %@", error.localizedDescription)
}
func tappxBannerViewControllerDidPress(_ vc: TappxBannerViewController!) {
print("BANNER: DidPress")
}
func tappxBannerViewControllerDidClose(_ vc: TappxBannerViewController!) {
print("BANNER: DidClose")
}
}