Viser annoncer

Hvis din applikation viser annoncer, kan du flytte hele annoncestyringen til Finteza. Annoncekampagner på iOS-enheder kan lanceres lige til tiden og for alle brugere på én gang. Der kræves ikke nogen applikationsændring, venten på offentliggørelsen af en ny version i App Store og påkrævet opdatering af alle enheder.

Faktisk behøver du kun at definere annonceområder i din applikation, mens hele indholdsstyring, detaljerede statistikker og konverteringer er tilgængelige i Finteza.

Selvom reklamer kaldes bannere i Finteza, er de ikke begrænset til statiske billeder og GIF-animationer. Et banner er en beholder, der kan indeholde en række indholdstyper, herunder HTML5: destinationssider, karruseller, pop-ups osv.

The FintezaBannerView klasse er ansvarlig for at downloade og vise bannerindholdet i SDK.  Det stammer fra UIView hvilket gør det muligt at føje det til hierarkiet af iOS-applikationstyper på standard måde.

Oprettelse af en annoncezone i Finteza #

Før du opretter et banner i applikationen, skal du konfigurere en annoncezone i Finteza. Det giver dig mulighed for at administrere indholdet af annonceblokken.

Gå til sektionen Websteder i Finteza panel, find din applikation og klik på "ny zone":

  • Angiv navn og tilladte indholdsformater. JPG, PNG, GIF og HTML understøttes i øjeblikket.
  • Indstil zonestørrelsen, hvis det er kendt på forhånd, eller vælg automatisk zoneskalering.
  • Gem ændringerne, og kopier zone-ID. Det bør være specificeret i applikationen.
Oprettelse af en annoncezone for et websted/applikation

Oprettelse af et banner i applikationen #

Du kan oprette et banner via Interface Builder eller programmatisk.

Interface Builder

Opret et nyt interfaceelement af UIView type. Indstil FintezaBannerView i feltet "Custom Class" under fanen "Identity inspector". Angiv de nødvendige begrænsninger for bannerplacering.

Oprettelse af et banner via Interface Builder

Bannerstørrelsen kan defineres baseret på intrinsicContentSize.


Programmatisk

Brug følgende kode til at oprette et banner med visse dimensioner:

Objective-C:

FintezaBannerView *banner = [[FintezaBannerView alloc] initWithFrame:bannerFrame];

Swift:

var banner = FintezaBannerView(frame: bannerFrame)

Brug følgende kode til at oprette et banner, der optager hele visningen (ved hjælp af Auto Layout):

Objective-C:

FintezaBannerView *banner = [[FintezaBannerView alloc] initWithFrame:CGRectZero];
[self.view addSubview:banner];
 
banner.translatesAutoresizingMaskIntoConstraints=NO;
[NSLayoutConstraint activateConstraints:@[
   [banner.topAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.topAnchor],
   [banner.bottomAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.bottomAnchor],
   [banner.leadingAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.leadingAnchor],
   [banner.trailingAnchor constraintEqualToAnchor:self.view.layoutMarginsGuide.trailingAnchor]
  ]];

Swift:

let banner = FintezaBannerView(frame: .zero)
self.view.addSubview(banner)
 
banner.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
   banner.topAnchor.constraint(equalTo: self.view.layoutMarginsGuide.topAnchor),
   banner.bottomAnchor.constraint(equalTo: self.view.layoutMarginsGuide.bottomAnchor),
   banner.leadingAnchor.constraint(equalTo: self.view.layoutMarginsGuide.leadingAnchor),
   banner.trailingAnchor.constraint(equalTo: self.view.layoutMarginsGuide.trailingAnchor)
  ])

Initialisering #

Indstil zone-ID og webstedsadresse for banneret.

Objective-C og Swift:

banner.zoneID = @"{ZONE_ID}";
banner.site = @"{WEBSITE_URL}";

For {ZONE_ID}, indstil Fintesa annonce zone ID. I {WEBSITE_URL}, indstil applikationsnavnet eller webstedsdomænet, som zonen svarer til.

Disse parametre kan også indstilles i "Interface Builder". For at gøre dette skal du vælge FintezaBannerView klasseobjekt og gå til fanen "Attributes inspector":

Zone-ID og websted/applikationsnavn kan specificeres via Interface Builder

Downloader indhold #

Ring til load metode til lancering af indholdsdownload.

Objective-C:

[banner load];

Swift:

banner.load()

Du kan angive et delegeret objekt til at modtage underretninger om status for download af indhold. For at gøre dette skal du indstille et objekt, der implementerer protokollen i delegeret ejendom:

@protocol FintezaBannerViewDelegate <NSObject>
- (void)fintezaBannerDidLoad:(nonnull FintezaBannerView *)banner;  // kaldes, hvis indholdet er downloadet med succes
- (void) fintezaBannerDidFail: (nonnull FintezaBannerView *) banner; // kaldes i tilfælde af fejl
@end

F.eks. Tillader en delegeret at føje et banner til overordnet visning, men først når indholdet er downloadet.

Definition af bannerstørrelse baseret på intrinsicContentSize #

Hvis du bruger Auto Layout, kan bannerstørrelsen indstilles baseret på standarden intrinsicContentSize ejendom.

For FintezaBannerView, intrinsicContentSize er lig med den indstillede værdi i zoneindstillinger i Finteza. Størrelsen af zonen bliver kendt ved anmodningstrinnet for banneret.

Hvis der ikke er angivet nogen nøjagtig zonestørrelse ("Custom height", "width\height" er indstillet i zoneindstillingerne), intrinsicContentSize defineres baseret på det uploadede bannerindhold. For JPG-, PNG- og GIF-bannere er dette billedstørrelsen.

Denne metode er ikke egnet til HTML og adaptive bannere, da det er umuligt at eksplicit bestemme indholdsstørrelsen for dem.


Annoncerotation #

Annoncerotationstid indstilles af rotationTime egenskab i sekunder (standardværdien er 10 minutter). For roterende bannere, er load metoden skal kaldes hver gang den overordnede visning, der indeholder banneret, vises (for eksempel i viewWillAppear). Dette resulterer ikke i unødvendige netværksanmodninger før det angivne tidspunkt i rotationTime udløber.

Objective-C og Swift:

banner.rotationTime = 60  // rotation hvert minut

For at deaktivere rotation, skal du indstille rotationTime = 0.

The rotationTime parameter skal specificeres, før du ringer til load metode.