Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La fonctionnalité Dezy Load fournit un nouvel appel d’API pour gérer le moment où tous les suivis sont déclenchés, y compris les suivis tiers et les suivis du KIT de développement logiciel (SDK) mobile. Il optimise également la bannière AdUnit en permettant à l’application hôte de charger sa vue web uniquement quand elle est nécessaire et juste avant qu’elle ne soit nécessaire. Lorsque cette fonctionnalité est activée, la méthode loadAd traditionnelle est suivie ultérieurement d’une deuxième méthode, loadLazyAd.
Déclencher des suivis
La fonctionnalité Dezy Load est développée pour déclencher tous les sdk mobiles et les suivis tiers au même instance, ce qui garantit un alignement entre les deux métriques. Cette fonctionnalité divise le processus de chargement AdUnit en deux étapes : loadAd et loadLazyAd.
Le cycle de vie de haut niveau d’un AdUnit se compose de deux étapes comme le chargement et l’affichage. Cette fonctionnalité divise l’étape de chargement en deux étapes supplémentaires, loadAd et loadLazyAd, suivies de la phase d’affichage . Cela dit, une vue web de bannière peut être attachée à l’affichage, même avant l’appel de loadAd . Toutefois, la phase d’affichage est une commodité fournie par la plateforme et est distincte de la partie de chargement du cycle de vie AdUnit.
La deuxième étape loadLazyAd à l’étapede chargement accomplit deux tâches :
- Termine le chargement d’AdUnit en créant et en chargeant la vue web qui déclenche les suivis tiers dans le créatif.
- Déclenche les suivis du Kit de développement logiciel (SDK) mobile.
Gestion de la consommation du processeur
La fonctionnalité De chargement différé entraîne le renvoi d’un objet AdUnit léger par le loadAd initial et autorise le chargement du contenu ultérieurement. Cette fonctionnalité réduit le temps de chargement de l’objet AdUnit en reportant la création et la configuration de la vue web interne à un point ultérieur. En retardant le chargement de la vue web, cela réduit la consommation de temps processeur supplémentaire pour charger l’objet publicitaire retourné dans la balise universelle dans les cas où adUnit n’est pas utilisé.
En outre, il permet à l’application hôte de choisir le moment optimal pour déclencher les suivis et consommer le temps processeur pour charger la vue web, idéalement au meilleur moment possible avant que l’annonce ne soit affichée à l’utilisateur final (ou est mise en file d’attente pour l’affichage avec une probabilité élevée).
Étendue de la charge différée
L’étendue de cette fonctionnalité est limitée aux bannières AdUnits qui affichent les types de supports de renderer de bannière et d’assembly natif. Il ne s’applique à aucun autre AdUnit, y compris la vidéo instream et native, ni aux types de médias retournés par une bannière AdUnit multiformat autre que bannière et renderer d’assembly natif, y compris bannière-vidéo (vidéo sortante) et bannière native.
Propriétés
Lazy Load améliore l’API publique du Kit de développement logiciel (SDK) mobile avec une propriété qui indique si la fonctionnalité est activée ou non et si elle n’est pas activée de la même façon.
| Propriété | Type | Attribut | Description |
|---|---|---|---|
enableLazyLoad |
BOOL | readwrite | Indique si le chargement différé est activé et si ce n’est pas le cas, activez la même option. |
@property (nonatomic, readwrite) BOOL enableLazyLoad
Méthode
loadLazyAd
Charge la vue web d’un AdUnit chargé de manière différée et déclenche tous les suivis, y compris les suivis tiers et mobiles.
(BOOL) loadLazyAd;
Déléguer les rappels
lazyAdDidReceiveAd
lazyAdDidReceiveAd est déclenché lorsque la méthode loadAd retourne correctement un AdUnit chargé différé, c’est-à-dire un AdUnit avec une vue web non allouée. Toutes les autres fonctionnalités de l’instance AdUnit sont disponibles, y compris une instance renseignée d’ANAdResponseInfo. Si loadAd échoue, les mêmes rappels sont utilisés que pour une unité AdUnit qui n’a pas été chargée de manière différée.
(void)lazyAdDidReceiveAd:(nonnull id)ad;
Exemple - Objectif C
@property (nonatomic, strong, nullable) ANBannerAdView *lazyBanner;
// ...
- (void)viewDidLoad
{
NSString *placementID = @"1234567";
CGRect rect = CGRectMake(...); //Set location on display.
CGSize size = CGSizeMake(...); //Set size of AdUnit.
// Create and configure banner ad view; attach to view hierarchy.
//
ANBannerAdView *banner = [ANBannerAdView adViewWithFrame:rect placementId:placementID adSize:size];
/* native assebly renderer
self.banner.shouldAllowNativeDemand = YES;
self.banner.enableNativeRendering = YES;
*/
self.lazyBanner = banner;
self.lazyBanner.delegate = self; self.lazyBanner.enableLazyLoad = YES; [self.view addSubview:self.lazyBanner]; // Begin the load of AdUnit. // [self.lazyBanner loadAd]; } // ... - (void)readyToDisplayLazyBanner { // Complete the load of AdUnit. // [self.lazyBanner loadLazyAd]; } // // ANAdProtocol delegate methods. // - (void)adDidReceiveAd:(id)ad { // Optional processing when lazy banner webview completes loading. } - (void)lazyAdDidReceiveAd:(id)ad { // Optional Processing when lazy banner is received. }
// ...
- (void)readyToDisplayLazyBanner
{
// Complete the load of AdUnit.
//
[self.lazyBanner loadLazyAd];
}
//
// ANAdProtocol delegate methods.
//
- (void)adDidReceiveAd:(id)ad
{
// Optional processing when lazy banner webview completes loading.
}
- (void)lazyAdDidReceiveAd:(id)ad
{
// Optional Processing when lazy banner is received.
}
Exemple - Swift
import UIKit
import AppNexusSDK
class BannerAdViewController: UIViewController , ANBannerAdViewDelegate{
var banner: ANBannerAdView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.title = "Banner Ad"
let adWidth: Int = 300
let adHeight: Int = 250
let adID = ""
// We want to center our ad on the screen.
let screenRect: CGRect = UIScreen.main.bounds
let originX: CGFloat = (screenRect.size.width / 2) - CGFloat((adWidth / 2))
let originY: CGFloat = (screenRect.size.height / 2) - CGFloat((adHeight / 2))
// Needed for when we create our ad view.
let rect = CGRect(origin: CGPoint(x: originX,y :originY), size: CGSize(width: adWidth, height: adHeight))
let size = CGSize(width: adWidth, height: adHeight)
// Make a banner ad view.
self.banner = ANBannerAdView(frame: rect, placementId: adID, adSize: size)
self.banner?.rootViewController = self
self.banner?.delegate = self
/* native assebly renderer
self.banner?.shouldAllowNativeDemand = true
self.banner?.enableNativeRendering = true
*/
self.banner?.enableLazyLoad = true
// Load an ad.
self.banner?.loadAd()
}
func adDidReceiveAd(_ ad: Any) {
print("Ad did receive ad")
view.addSubview(self.banner!)
}
func ad(_ ad: Any, requestFailedWithError error: Error) {
print("Ad request Failed With Error")
}
func lazyAdDidReceiveAd(_ ad: Any) {
self.banner?.loadLazyAd()
}
}