Partager via


Paramètres ANSDK iOS

Xandr Mobile SDK fournit différents paramètres que vous pouvez utiliser pour vous aider dans le développement de votre application. Dans cet article, vous trouverez des détails sur les méthodes ou propriétés, les paramètres d’entrée, les valeurs retournées, les restrictions, les instructions et des exemples pour les paramètres ANSDK iOS.

Propriété Description
(void) optionalSDKInitialization:(sdkInitCompletion _Nullable)success Préconfigure les paramètres courants tels que la vérification de la présence de l’agent utilisateur lors de l’initialisation, la préparation d’un WebView, etc.

Pour plus d’informations, consultez Initialiser les paramètres du KIT de développement logiciel (SDK) ci-dessous.
NSString *publisherUserId Spécifie l’ID d’utilisateur du serveur de publication pour l’utilisateur actuel de l’application.

Pour plus d’informations, consultez Mappage d’ID utilisateur ci-dessous.
NSArray<ANUserId *> *userIdArray Spécifie un dictionnaire contenant des objets qui contiennent des paramètres d’ID utilisateur.

Pour plus d’informations, consultez Mappage d’ID utilisateur ci-dessous.
BOOL disableIDFVUsage Inclut ou exclut le champ IDFV dans la demande d’annonce.

Pour plus d’informations, consultez Mappage d’ID utilisateur ci-dessous.
NSString *geoOverrideCountryCode Affecte un code de pays.

Pour plus d’informations, consultez Prise en charge de la substitution des codes pays et des codes postaux ci-dessous.
NSString *geoOverrideZipCode Attribue un code postal.

Pour plus d’informations, consultez Prise en charge de la substitution des codes pays et des codes postaux ci-dessous.
(void)setLocationWithLatitude:(CGFloat)latitude longitude:(CGFloat)longitude timestamp:(nullable NSDate *)timestamp horizontalAccuracy:(CGFloat)horizontalAccuracy precision:(NSInteger)precision Contrôle la précision des données d’emplacement que vous transmettez au serveur publicitaire.

Pour plus d’informations, consultez Contrôles d’emplacement ci-dessous.
BOOL locationEnabledForCreative Contrôle l’accès à l’emplacement pour les créations.

Pour plus d’informations, consultez Contrôles d’emplacement ci-dessous.
BOOL doNotTrack Indique si vous disposez dans l’application d’informations sur la désactivation de l’utilisateur.

Pour plus d’informations, consultez Refus de l’utilisateur côté éditeur ci-dessous .
BOOL disableIDFAUsage Exclut le champ IDFA dans la demande d’annonce.

Pour plus d’informations, consultez Définir l’utilisation de l’IDFA ci-dessous.
NSUInteger auctionTimeout Définit le délai d’expiration en millisecondes.

Pour plus d’informations, consultez Définir le délai d’expiration des enchères ci-dessous.
BOOL enableTestMode Définit OUI ou NON pour les AdRequests à exécuter en mode test.

Pour plus d’informations, consultez Définir le mode test ci-dessous.
BOOL enableOMIDOptimization Indique si l’optimisation Open-Measurement est activée ou non.

Pour plus d’informations, voir OmiD-Friendly Obstruction ci-dessous .
NSString *contentlanguage Définit le code de la langue du contenu.

Pour plus d’informations, consultez Définir la langue de contenu ci-dessous.

Initialiser les paramètres du Kit de développement logiciel (SDK)

Méthode Description
(void) optionalSDKInitialization:(sdkInitCompletion _Nullable)success Méthode qui vous permet de préconfigurer des paramètres courants tels que la vérification de la présence de l’agent utilisateur lors de l’initialisation du SDK, la préparation d’un WebView, etc.
Le bloc d’achèvement de cette propriété retourne « true » si l’initialisation du KIT de développement logiciel (SDK) se termine correctement et « false » en cas d’échec.

Exemple

[[ANSDKSettings sharedInstance] optionalSDKInitialization:^(BOOL isSDKInitialized) {
 if(isSDKInitialized){
      NSLog(@"SDK Initialized");
    }else{
      NSLog(@"SDK did not initialize");
    }
  }];

Mappage d’ID utilisateur

Importante

  • Cette offre est actuellement en alpha et peut être modifiée ou déconseillée sans préavis.
  • La propriété externalUid de ANBannerAdViewla classe , InterstitialAdViewANNativeAdRequest et ANInstreamVideoAd est désormais déconseillée. Vous pouvez utiliser publisherUserId la propriété décrite ci-dessous dans ANSDKSettings la classe à la place. Les propriétés déconseillées seront supprimées dans le SDK v8.0.
  • La propriété ANSDKSettings.externalUserIdArray et ANExternalUserId la classe sont désormais déconseillées et seront supprimées dans le SDK v8.0. Vous pouvez utiliser la propriété ANSDKSettings.userIdArray et ANUserId la classe équivalentes décrites ci-dessous comme remplacement.
Propriété Description
NSString *publisherUserId Spécifie une chaîne qui correspond à l’ID utilisateur du serveur de publication pour l’utilisateur actuel de l’application.
NSArray<ANUserId *> *userIdArray Spécifie un dictionnaire contenant des objets qui contiennent des paramètres d’ID utilisateur.

Xandr prend en charge les ID d’utilisateur des sources externes ci-dessous :
-Criteo
- Le Trade Desk
-Netid
- LiveRamp
- UID 2.0
- ID fourni par l’éditeur/PPID (les éditeurs peuvent inscrire leur propre source via l’API et passer l’ID utilisateur)

Vous pouvez définir l’ID d’utilisateur en :
- création d’un tableau d’objets ANUserId , et
- affectation du tableau d’objets à la propriété userId Arrayd’ANSDKSettings dans l’API MobileSDK.
BOOL disableIDFVUsage Spécifie une valeur booléenne qui exclut le champ IDFV dans la requête publicitaire. La valeur par défaut de la propriété est définie sur NO.

En raison de l’introduction des modifications apportées à la transparence du suivi des applications (ATT) dans iOS 14.5 et versions ultérieures, les éditeurs peuvent utiliser l’identificateur pour les fournisseurs (IDFV) de l’appareil dans les cas où il n’y a pas d’ID interne de premier tiers de l’éditeur et l’identificateur pour les annonceurs (IDFA) n’est disponible.

IDFV sera utilisé dans les cas où IDFV et l’ID interne du serveur de publication ne sont pas présents pour une demande de publicité donnée.

Remarque

  • L’ID de l’éditeur et l’ID d’utilisateur sont des paramètres globaux.
  • Il suffit de définir le ou les ID utilisateur une seule fois par session d’application, car ces valeurs sont utilisées dans toutes les demandes publicitaires consécutives dans la même session.
  • Xandr ne stocke pas ces valeurs dans différentes sessions d’application.

Exemple

// 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" ]];
ANSDKSettings.sharedInstance().disableIDFAUsage = true[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;

Prise en charge de la substitution des codes pays et des codes postaux

Le Kit de développement logiciel (SDK) utilise les informations de ville/DMA/pays du flux standard (données au niveau du journal) à des fins de création de rapports. Toutefois, ces valeurs doivent être remplacées à partir des données de latitude et de longitude géocodées de l’inverseur pour conserver l’intégrité des données intactes. Si ces valeurs ne sont pas remplacées, les données au niveau du journal pointent vers les emplacements basés sur les adresses IP et projettent un jeu de données incorrect, en particulier avec des données mobiles.

Propriété Description
NSString *geoOverrideCountryCode Indique une valeur de chaîne pour remplacer le code de pays.
NSString *geoOverrideZipCode Indique une valeur de chaîne pour remplacer le code postal.

Exemple

//Set
ANSDKSettings.sharedInstance.geoOverrideCountryCode = @"US";
ANSDKSettings.sharedInstance.geoOverrideZipCode = @"10010";
.......
//Get
NSString* countryCode = ANSDKSettings.sharedInstance.geoOverrideCountryCode;
NSString* zipCode = ANSDKSettings.sharedInstance.geoOverrideZipCode

Contrôles d’emplacement

Propriété Description
(void)setLocationWithLatitude:(CGFloat)latitude longitude:(CGFloat)longitude timestamp:(nullable NSDate *)timestamp horizontalAccuracy:(CGFloat)horizontalAccuracy precision:(NSInteger)precision Méthode permettant de contrôler la précision des données d’emplacement que vous transmettez au serveur publicitaire. Une meilleure localisation des données peut entraîner une meilleure monétisation de vos annonces.
BOOL locationEnabledForCreative Propriété permettant de contrôler l’accès à l’emplacement pour les créatifs. La valeur par défaut est OUI. NON désactive l’emplacement du créatif.

Les créations rendues dans un WebView peuvent accéder à l’emplacement d’un utilisateur via les API d’emplacement HTML5.

Remarque :
- Par défaut, lorsqu’un créateur demande l’emplacement, une fenêtre contextuelle s’affiche pour les utilisateurs qui demandent l’autorisation explicite d’utiliser l’emplacement.
- Lorsque l’accès à l’emplacement est désactivé, les fenêtres contextuelles ne s’affichent pas aux utilisateurs et le créatif reçoit une erreur PERMISSION_DENIED pour les appels d’API d’emplacement HTML5.

Le precision paramètre entraîne l’arrondi interne de toutes les informations d’emplacement au nombre spécifié de chiffres après la décimale avant d’être passées au serveur publicitaire. La corrélation entre la valeur de et la distance de précision d’emplacement precision est la suivante :

Précision (entier) Précision de la résolution
2 Environ 1 kilomètre
3 Environ 100 mètres
4 Environ 10 mètres
-1 La résolution complète est passée

Exemple

CLLocation *location = [locationManager location];
NSDate *now = [NSDate date];
[banner.setLocationWithLatitude:location.coordinate.latitude
  longitude:location.coordinate.longitude
  timestamp: now
  horizontalAccuracy: location.horizontal_accuracy
  precision: 4];

Refus de l’utilisateur côté serveur de publication

Pour toute demande AdRequest, le SDK Xandr Mobile vérifie le niveau de l’appareil ou de l’environnement du système d’exploitation et remplit automatiquement la valeur de limitAdTracking (LMT) en arrière-plan. Si LMT=true, cela indique que l’utilisateur refuse le suivi sur les paramètres de l’appareil ou du système d’exploitation. Toutefois, les éditeurs conservent des informations sur l’opt-in/out du suivi de leurs utilisateurs et sont donc tenus de transmettre ces informations si leur utilisateur a choisi de se conformer à leurs réglementations en matière de confidentialité. Pour faciliter cela, la fonctionnalité de refus de l’utilisateur côté éditeur a été introduite dans le Kit de développement logiciel (SDK) mobile.

Propriété Description
BOOL doNotTrack Indique si vous disposez dans l’application d’informations sur la désactivation de l’utilisateur. S’il est défini sur OUI, les cookies de suivi et l’IDFA seront désactivés pour toutes les enchères futures. La valeur par défaut est NO.

Exemple

[ANSDKSettings sharedInstance].doNotTrack = YES;

Définir l’utilisation de l’IDFA

L’identificateur des annonceurs (IDFA) est un ID fourni par Apple pour suivre les utilisateurs avec leur consentement à des fins publicitaires par les éditeurs qui ont une application sur le App Store Apple. Une API est introduite dans le SDK mobile Xandr pour activer ou désactiver l’utilisation d’IDFA en incluant ou en excluant le champ IDFA dans la demande d’annonce.

Propriété Description
BOOL disableIDFAUsage Propriété pour exclure le champ IDFA dans la demande d’annonce. La valeur par défaut est NO.

Exemple

[ANSDKSettings sharedInstance].disableIDFAUsage = YES;

Définir le délai d’expiration de la vente aux enchères

Propriété Description
NSUInteger auctionTimeout Définit la période, en millisecondes, pour attendre qu’un soumissionnaire réponde à une demande d’offre.

Si le soumissionnaire ne répond pas dans la valeur définie pour le délai d’attente (par exemple, 500 millisecondes), la demande d’offre entraîne un échec.

Exemple

[[ANSDKSettings sharedInstance] setAuctionTimeout:500];

Définir le mode de test

Propriété Description
BOOL enableTestMode Définit OUI ou NON pour les AdRequests à exécuter en mode test pour le débogage ou le test. La valeur par défaut est NO.

Remarque : L’étendue de la définition du mode de test pour l’exécution d’AdRequest sur OUI est limitée au débogage/développement ou à des fins de test uniquement, et ne doit pas être utilisée dans un environnement de production. L’activation du mode test dans un environnement de production entraîne des conséquences inattendues et a un impact sur la monétisation de votre application.

Exemple

ANSDKSettings.sharedInstance.enableTestMode = YES;

Obstruction compatible OMID

Le Kit de développement logiciel Open Measurement (SDK OM) est conçu pour faciliter la visibilité et la mesure de vérification tierces pour les publicités diffusées dans les environnements d’applications mobiles sans nécessiter plusieurs kits SDK de fournisseurs de services de vérification publicitaire (fournisseur de mesures).

Open Measurement Interface Definition (OMID) est une API de mesure ouverte fournie par IAB. En bref, il permet à un éditeur d’obtenir des données sur la visibilité d’une publicité au sein d’un appareil mobile. Pour plus d’informations sur OMID, visitez le site IAB ici.

Les obstacles conviviaux sont les vues qu’OMID exclut de tous les calculs de visibilité lorsqu’elle est ajoutée à la session OMID. Lorsqu’un élément d’interface utilisateur doit être considéré comme faisant partie de l’annonce, il peut être ajouté comme un obstacle convivial pour l’empêcher de compter dans la couverture de la publicité. Par exemple, tout élément natif tel qu’un bouton fermer, un texte de logo ou un autre objet qui doit être considéré comme faisant partie d’une publicité (et qui ne doit pas être comptabilisé pour la mesure de la visibilité) doit être enregistré comme un obstacle convivial. Cela s’applique à toutes les vues ancêtres ou homologues dans la hiérarchie de vues.

L’API OMID permet :

  • Ajout d’un obstacle convivial
  • Suppression d’un obstacle convivial
  • Suppression de tous les obstacles conviviaux

En plus des fonctionnalités mentionnées ci-dessus, le SDK OM facilite une propriété (enableOMIDOptimization) qui permet l’optimisation.

Pour ajouter un obstacle convivial, supprimer un obstacle convivial ou supprimer tout obstacle convivial pour Bannière, Interstitial et Video AdUnits, vous devez passer la vue en tant qu’argument à l’API.

Remarque

Les AdUnits natifs ne prennent pas en charge l’API de suppression.

Propriété Description
BOOL enableOMIDOptimization Indique si Open-Measurement'optimisation pour la mesure d’affichage et de vérification des publicités servies est activée et, si ce n’est pas le cas, activez la même option. La valeur par défaut est NO.

Lorsqu’il est défini sur « YES », le Kit de développement logiciel (SDK) om s’occupe d’effectuer l’optimisation de Open-Measurement. Ici, dans le cadre de l’optimisation, la visibilité est suivie jusqu’à ce qu’une annonce soit entièrement visible par l’utilisateur. Une fois que l’annonce cesse d’être visible, le suivi de la visibilité s’arrête.

Remarque : Cette API prend uniquement en charge les types de bannières et d’annonces natives.

Exemple

ANSDKSettings.sharedInstance.enableOMIDOptimization = true;
 
// Examples for Adding a Friendly Obstruction for AdUnits (Banner, Interstitial and Video)
[adObject addOpenMeasurementFriendlyObstruction:friendlyObstructionView];
 
// Example for Adding a Friendly Obstruction for Native AdUnit
[self.nativeResponse
    registerViewForTracking:self.nativeView
    withRootViewController:self clickableViews:@[]
    openMeasurementFriendlyObstructions:@[friendlyObstructionView1, friendlyObstructionView2, ...]
    error:nil];
 
// Examples for Removing a Friendly Obstruction for AdUnits (Banner, Interstitial and Video)
[adObject removeOpenMeasurementFriendlyObstruction:friendlyObstructionView];

Définir la langue du contenu

Propriété Description
NSString *contentlanguage Définit le code ANSI à deux lettres pour la langue du contenu ; par exemple, EN.

Exemple

ANSDKSettings.sharedInstance.contentLanguage = @"EN";