Asignación de identificadores de usuario en iOS
Nota:
Esta oferta está actualmente en Alfa y está sujeta a cambios o desuso sin previo aviso.
Información general
Xandr le ofrece la opción de enviar identificadores de primer fabricante del publicador e id. de usuario desde orígenes de terceros en solicitudes de anuncios. Son configuraciones globales y basta con establecer los identificadores de usuario una vez por sesión de aplicación, ya que estos valores se usarían en todas las solicitudes de anuncios consecutivas de la misma sesión. Tenga en cuenta que, Xandr no almacena estos valores en diferentes sesiones de aplicaciones.
Estructura del SDK móvil
Id. de primera entidad del publicador
Nota:
Aviso de desuso:
The
externalUid
la propiedad deANBannerAdView
,ANNativeAdRequest
InterstitialAdView
yANInstreamVideoAd
la clase ahora está en desuso. En su lugar, puede usarpublisherUserId
la propiedad que se describe a continuación enANSDKSettings
la clase . Los métodos en desuso se quitarán en SDK v8.0.
Puede establecer el identificador de primera entidad del publicador mediante la publisherUserId
propiedad de ANSDKSettings
en mobile SDK API.
Propiedad | Tipo | Atributo | Description |
---|---|---|---|
publisherUserId |
NSString |
readwrite | Especifica una cadena que corresponde al identificador de usuario del publicador para el usuario actual de la aplicación. |
IDFV como identificador de primera entidad del publicador
Debido a la introducción de los cambios de transparencia de seguimiento de aplicaciones (ATT) en iOS 14.5 y versiones posteriores, el SDK de Xandr Mobile ofrece a los editores que usen el identificador para proveedores (IDFV) del dispositivo en los casos en los que no haya ningún identificador de primer fabricante del publicador e identificador de anunciantes (IDFA) disponible. Esta característica facilita que los publicadores pasen IDFV en las solicitudes de anuncios automáticamente siempre que el identificador de primera entidad del publicador y el IDFA no se presenten. Esta característica está habilitada de forma predeterminada y, si los publicadores quieren desactivarla, pueden usar disableIDFVUsage
la propiedad de ANSDKSettings
en mobile SDK API.
Propiedad | Tipo | Atributo | Description |
---|---|---|---|
disableIDFVUsage |
BOOL |
readwrite | Especifica un valor booleano que excluye el campo IDFV en la solicitud de anuncio. El valor predeterminado de la propiedad se establece en NO y IDFV se usará en los casos en los que IDFV y el identificador de primera entidad del publicador no estén presentes para una solicitud de anuncio determinada. |
/**
An AppNexus disableIDFVUsage is a boolean value which exclude the IDFV field in ad request. Default value of disableIDFVUsage is set to NO and IDFV will be used in cases where IDFV and Publisher First Party ID is not present.
*/
@property (nonatomic, readwrite) BOOL disableIDFVUsage;
Nombre de usuario
Nota:
Aviso de desuso:
La propiedad "ANSDKSettings.externalUserIdArray" y la clase "ANExternalUserId" ahora están en desuso y se quitarán en SDK v8.0. Puede usar la propiedad equivalente "ANSDKSettings.userIdArray" y la clase "ANUserId" que se describen a continuación en su lugar como reemplazo.
Xandr admite los identificadores de usuario de los orígenes externos siguientes:
- NetID
- Utiq
- ID5
- Criteo
- Id. unificado 1.0 Trade Desk
- Id. de hidron (Audigent)
- Publink (Epsilon)
- SharedID
- EUID
- Id. de Yahoo Connect
- Id. de Panorama
- El departamento de comercio
- NetID
- LiveRamp
- UID 2.0
- Id. proporcionado por el publicador/PPID (los editores pueden registrar su propio origen a través de la API y pueden pasar el identificador de usuario).
Puede establecer el id. de usuario mediante
- crear una matriz de objetos ANUserId y
- asignar la matriz de objetos a la
userIdArray
propiedad deANSDKSettings
en mobile SDK API.
Propiedad | Tipo | Atributo | Description |
---|---|---|---|
userIdArray |
NSArray |
readwrite | Especifica un diccionario que contiene objetos que contienen parámetros de id. de usuario. |
// In ANSDKSettings.h:
/**
A Dictionary containing objects that hold UserId parameters.
*/
@property (nonatomic, readwrite, strong, nullable) NSArray<ANUserId *> *userIdArray ;
// In ANUserId.h
/*
* Supported Third Party ID Sources
* */
typedef NS_ENUM(NSUInteger, ANUserIdSource) {
ANUserIdSourceLiveRamp,
ANUserIdSourceNetId,
ANUserIdSourceCriteo,
ANUserIdSourceTheTradeDesk,
ANUserIdSourceUID2
};
/**
Defines the User Id Object from an Extended Third Party Source
*/
@interface ANUserId : NSObject
/**
Source of the User Id
*/
@property (nonatomic, readwrite, strong, nonnull) NSString *source;
/**
The User Id String
*/
@property (nonatomic, readwrite, strong, nonnull) NSString *userId;
- (nullable instancetype)initWithSource:(ANUserIdSource)source userId:(nonnull NSString *)userId;
- (nullable instancetype)initWithStringSource:(nonnull NSString *)source userId:(nonnull NSString *)userId isFirstParytId:(BOOL)firstParytId;
@end
Ejemplos de uso
// iOS: ObjC to show a banner ad
#import "MyViewController.h"
#import "ANBannerAdView.h"
@interface MyViewController ()
@property (nonatomic, strong) ANBannerAdView *banner;
@end
@implementation MyViewController
ANBannerAdView *banner = nil;
- (void) viewDidLoad
{
// User Id from External Third Party Sources
NSMutableArray<ANUserId *> *userIdArray = [[NSMutableArray<ANUserId *> alloc] init];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceNetId userId:@"userid-netid-foobar" ]];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceTheTradeDesk userId:@"userid-ttd-foobar" ]];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceUID2 userId:@"userid-uid2-foobar" ]];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceCriteo userId:@"userid-Criteo-foobar"]];
[userIdArray addObject:[[ANUserId alloc] initWithANUserIdSource:ANUserIdSourceLiveRamp userId:@"userid-liveramp-foobar" ]];
[userIdArray addObject:[[ANUserId alloc] initWithStringSource:@“Generic Source” userId:@“userid-generic-foobar” isFirstParytId:true]];
ANSDKSettings.sharedInstance.userIdArray = userIdArray;
// Publisher User Id
ANSDKSettings.sharedInstance.publisherUserId = @"foobar-publisherfirstpartyid";
// IDFV as Publisher User Id
ANSDKSettings.sharedInstance.disableIDFVUsage = NO;
// Load Banner Ad
CGSize size = CGSizeMake(300, 250);
// NOTE Setting size is necessary only for fetching banner and video ad objects.
// This field is ignored when the placement returns a native ad object.
CGRect someRect = CGRectMake(...);
// Create the banner ad view here, but wait until the delegate fires before displaying.
self.banner = [ANBannerAdView adViewWithFrame:someRect placementId:@"13572468" adSize:size];
//... Needed Setup
// Load an ad!
[self.banner loadAd];
}
@end