Partager via


Demande d’annonces multiples pour iOS

Vue d’ensemble

Cet article fournit des instructions et des exemples de code pour lancer et configurer une demande multi-annonce (ANMultiAdRequest). ANMultiAdRequest vous permet d’utiliser une seule demande de balise universelle (UTv3) pour lancer plusieurs enchères, dont les résultats sont retournés dans une seule réponse de serveur.

ANMultiAdRequest, comme un AdUnit, implémente un sous-ensemble de ANAdProtocol. Cela permet à un d’adopter ANMultiAdRequest le type et le comportement de différents AdUnits (bannière, natif, vidéo, etc.) en utilisant les mêmes spécifications de chaque AdUnit type. Les mots clés personnalisés peuvent être affectés à un ANMultiAdRequest et seront hérités par le contenu .AdUnits

Initialisation

Les utilisateurs peuvent choisir parmi l’une des trois méthodes d’initialisation. Tous nécessitent un memberId et un delegate objet en tant qu’arguments pour ANMultiAdRequest être initialisé. Le memberId et delegate ne peut être défini qu’une seule fois par instance. Un paramètre d’ID de serveur de publication facultatif peut être défini à ce stade. Tous AdUnits doivent contenir le même memberId que celui passé dans le processus d’initialisation. AdUnits contenant placementIds utilise le associé memberId de ce placement. Une fois l’initialisation réussie, une ANMultiAdRequest classe instance est retournée.

Remarque

Le ANMultiAdRequest instance rejette AdUnitsmemberId avec des valeurs différentes de la leur.

Méthodes d’initialisation

Initialiser avec une liste d’un ou plusieurs AdUnits

Initialise un instance de ANMultiAdRequest avec une liste d’un ou plusieurs AdUnits. Par exemple,

Sans ID d’éditeur

- (nullable instancetype)
    initWithMemberId:(NSInteger)memberId
            delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
             adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit, ...;

Avec l’ID d’éditeur

- (nullable instancetype)
    initWithMemberId:(NSInteger)memberId
         publisherId:(NSInteger)publisherId
            delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
             adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
                     ... NS_REQUIRES_NIL_TERMINATION;

Initialiser avec une liste de AdUnits et appeler la load méthode

Active l’initialisation et appelle la load méthode avec une seule ligne de code. Comme le processus ci-dessus, le instance est initialisé avec une liste d’un ou AdUnitsplusieurs . Si un échec se produit pendant le load cycle de vie, la classe n’est pas initialisée et un objet null est retourné. Lorsqu’un processus réussitload, une classe instance est retournée, après quoi la réussite ou l’échec de l’instance est communiqué à l’appelant via ANMultiAdRequestDelegate. Par exemple,

Sans ID d’éditeur

- (nullable instancetype)
    initAndLoadWithMemberId:(NSInteger)memberId
                   delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
                    adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
                            ...;

Avec l’ID d’éditeur

- (nullable instancetype)
    initAndLoadWithMemberId:(NSInteger)memberId
                publisherId:(NSInteger)publisherId
                   delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
                    adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
                            ... NS_REQUIRES_NIL_TERMINATION;

Initialisation simple

Cette initialisation de base retourne une instance de la classe, mais n’effectue aucune action. La configuration peut être effectuée à l’aide de propriétés et de méthodes de classe. Le délégué initialisé est défini sur le à mesure qu’il AdUnits est ajouté.

Sans ID d’éditeur

- (nullable instancetype)initWithMemberId:(NSInteger)memberId
                              andDelegate:(nonnull id<ANMultiAdRequestDelegate>)

Sans ID d’éditeur

- (nullable instancetype)
    initWithMemberId:(NSInteger)memberId
         publisherId:(NSInteger)publisherId
         andDelegate:(nullable id<ANMultiAdRequestDelegate>)delegate;

Arguments

Variable Type Attributs Portée Description
memberId Nsinteger nonatomic, readonly, assigner Required ID de membre. Tout AdUnits contenu dans le ANMultiAdRequest doit avoir identique memberIds ou le ANMultiAdRequest sera rejeté. Le memberId peut également être atteint en passant un placementId.
delegate ANMultiAdRequestDelegate nonnull Obligatoire Objet à notifier avec des rappels et des informations pertinents.
adUnits Liste des adUnits nonnull Facultatif Liste de pour l’initialisation AdUnits d’un ANMultiAdRequest.

Remarque

Si l’initialisation réussit, le SDK retourne YES, sinon retourne NO.

Configuration

Toutes les ANMultiAdRequest propriétés et méthodes de configuration sont les mêmes en type et en utilisation que celles utilisées par AdUnits. Si les propriétés sont définies dans , ANMultiAdRequesthéritent de AdUnits ces propriétés. Ils ne sont pas permanents. Une fois que le ANMultiAdRequest a terminé son cycle de vie, AdUnits accède à ses valeurs de propriété locales après avoir été supprimé de la liste des AdUnits encapsulés par le ANMultiAdRequest instance.

Paramètres

Paramètre Type Attributs Description
memberId Nsinteger Readonly ID de membre. Tout AdUnits contenu dans le MultiAdRequest doit avoir identique memberIds ou sera MultiAdRequest rejeté par le bus d’impression de Xandr. Le memberId peut également être atteint en passant un placementId.
location ANLocation readwrite Emplacement de l’utilisateur. Location peut être défini avec horizontalAccuracy et un precision niveau. Consultez Méthodes d’emplacement ci-dessous.
age Nsstring readwrite Âge de l’utilisateur.
gender ANGender readwrite Le sexe de l’utilisateur.
customKeyword Tableau readwrite Mots clés personnalisés appliqués à .MultiAdRequest Ces mots clés seront hérités par le attaché AdUnits. Cette liste peut être complétée dans chacune AdUnit d’elles par des mots clés personnalisés supplémentaires.
AdUnit Objet readwrite Élément AdUnit à ajouter au MultiAdRequest
countOfAdUnits NSUintetger Readonly Retourne le nombre de AdUnits contenus par le MultiAdRequest instance.

Méthodes d’emplacement

setLocationWithLatitude définit la valeur de la location propriété d’un MultiAdRequest objet . Il peut être appelé avec un paramètre supplémentaire precision . Par exemple,

Sans paramètre de précision

- (void)setLocationWithLatitude:(CGFloat)latitude
                      longitude:(CGFloat)longitude
                      timestamp:(nullable NSDate *)timestamp
             horizontalAccuracy:(CGFloat)horizontalAccuracy;

Avec le paramètre de précision

- (void)setLocationWithLatitude:(CGFloat)latitude
                      longitude:(CGFloat)longitude
                      timestamp:(nullable NSDate *)timestamp
             horizontalAccuracy:(CGFloat)horizontalAccuracy
                      precision:(NSInteger)precision;

Paramètres

Paramètre Type Portée Description
latitude CGFloat Obligatoire Latitude de l’emplacement.
longitude CGFloat Obligatoire Longitude de l’emplacement.
timestamp NSDate Facultatif Horodatage de la définition de l’emplacement.
horizontalAccuracy CGFloat Obligatoire Rayon d’incertitude pour l’emplacement.
precision Nsinteger Facultatif Détermine la précision décimale de degré pour l’emplacement.

Méthodes

  • load

    Charge tout ce qui est contenu AdUnits en envoyant une multi-tag UTv3 requête au bus Impression de Xandr. Pour chaque ANMultiAdRequest instance, une seule charge peut être active à la fois. Les chargements sont terminés quand l’une MultiAdRequestDelegate des méthodes est déclenchée. Retourne YES en cas de réussite et NO d’échec.

    - (BOOL)load;
    
  • addAdUnit

    Ajoute un AdUnit à anMultiAdRequest.  AdUnitssera rejeté si leur memberId ne correspond pas au memberId affecté au ou ne correspond pas au MultiAdRequestmemberId de l’autre AdUnits contenu dans .ANMultiAdRequest Retourne YES en cas de réussite et NO d’échec.

    - (BOOL)addAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;
    

    Argument

    Paramètre Type Portée Description
    AdUnit Objet Obligatoire Élément AdUnit à ajouter au MultiAdRequest
  • removeAdUnit

    Supprime un AdUnit du .ANMultiAdRequest Retourne YES en cas de réussite et NO d’échec.

    - (BOOL)removeAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;
    

    Argument

    Paramètre Type Portée Description
    AdUnit Objet Obligatoire Élément AdUnit à ajouter au MultiAdRequest
  • addCustomKeywordWithKey

    Ajoute un mot clé personnalisé au ANMultiAdRequest. Stockés en tant que paire de clés et de valeur, les mots clés personnalisés sont hérités par le AdUnits contenu dans .ANMultiAdRequest

    - (void)addCustomKeywordWithKey:(nonnull NSString *)key
                              value:(nonnull NSString *)value;
    

    Argument

    Paramètre Type Portée Description
    key Nsstring Obligatoire Identificateur de clé pour le mot clé personnalisé.
    value Nsstring Obligatoire Valeur du mot clé personnalisé.
  • removeCustomKeywordWithKey

    Supprime un mot clé personnalisé du ANMultiAdRequest. Le mot clé supprimé n’est plus hérité par le AdUnits contenu dans .ANMultiAdRequest

    - (void)removeCustomKeywordWithKey:(nonnull NSString *)key;
    

    Argument

    Paramètre Type Portée Description
    key Nsstring Obligatoire Identificateur de clé de la mot clé personnalisée à supprimer.
  • clearCustomKeywords

    Supprime tous les mots clés personnalisés du ANMultiAdRequest. Les mots clés supprimés ne seront plus hérités par le AdUnits contenu dans .ANMultiAdRequest

    - (void)clearCustomKeywords;
    
  • stop

    Arrête le ANMultiAdRequest, avant que la requête ne soit terminée.

    - (void)stop;
    

Méthodes ANMultiAdRequestDelegate

  • multiAdRequestDidComplete

    Retourne la réussite de ANMultiAdRequest. La réussite indique que tous les contenus AdUnits ont été chargés et ont un résultat clair

    - (void)multiAdRequestDidComplete:(nonnull ANMultiAdRequest *)MultiAdRequest;
    
  • multiAdRequestDidFailWithError

    Retourne un message d’erreur si le UT Request généré par un ANMultiAdRequest instance échoue, pour une raison quelconque.

    - (void)multiAdRequestDidFailWithError:(nonnull NSError *)error;
    

Remarque

[ANMultiAdRequest load] peut également échouer en retournant NO même avant l’envoi d’un UT Request. Si la charge retourne YES , cela signifie que a UT Request été lancé, et que toutes les autres erreurs passeront par la méthode déléguée.