69 votes

iOS6 UDID - Quels sont les avantages de identifierForVendor ont plus de identifierForAdvertising?

Apple est en train de changer leurs paramètres de confidentialité pour iOS6 et de la dépréciation de l'appareil Uuid (avec leur udid). Selon une présentation de la WWDC et les docs il y a deux remplacements pour les avec leur udid, à la fois dans l' UIDevice classe:

-identifierForVendor

  • ID est identique entre les applications du même développeur.
  • Effacée avec la suppression de la dernière application pour que l'Équipe d'ID.
  • Sauvegardés.

-identifierForAdvertising

  • Unique de l'appareil.
  • Disponible pour toutes les applications; utilisé pour la publicité - la sai a converti à partir UDID iOS 6 et versions ultérieures.
  • Reset avec "Effacer Contenu Et Réglages".
  • Sauvegardés.

Il me semble qu' -identifierForVendor est inférieure à -identifierForAdvertising , car il permettrait d'obtenir de réinitialisation sur la dernière désinstallation d'une application à partir d'un fournisseur et par "effacer contenu et réglages".

Quels sont les avantages d' -identifierForVendor ont plus de -identifierForAdvertising?

34voto

JRG-Developer Points 4054

Remarque Importante:

Apple vient de sortir iOS 6.0 et le NDA a été levé.

Pour les développeurs qui préventivement inclus code référencés

[[UIDevice currentDevice] identifierForAdvertising]

cette méthode a PAS été inclus dans iOS 6. Si vous utilisez la méthode ci-dessus, votre application (plus probable) de crash et d'être rejetée!

Au lieu de cela, Apple a créé une nouvelle classe ASIdentifierManager , ce qui inclut la méthode advertisingIdentifier. Voici l' apple docs sur elle:

22voto

Mr. T Points 4405

Les utilisateurs peuvent limiter l'utilisation de suivi de la publicité sur leur téléphone. Voir cet article sur le mécanisme d'opt-out dans Réglages > Général > à Propos de > la Publicité.

Le nouveau ASIdentifierManager classe possède une propriété, advertisingTrackingEnabled, ce qui renvoie true ou false selon si l'utilisateur a limité de suivi de la publicité. Même si le périphérique est de la publicité identifiant est retourné par l' advertisingIdentifier des biens indépendamment de l'opt-out, vous n'êtes pas censé utiliser l'identificateur de l'utilisateur si l'utilisateur a choisi.

Donc l'avantage de identifierForVendor est que vous aurez toujours accès à et le droit d'utiliser cet id de l'appareil indépendamment de l'utilisateur de l'opt-in ou opt-out pour la publicité de suivi.

8voto

Ole Begemann Points 85798

Je soupçonne que Apple va simplement rejeter votre application si vous utilisez identifierForAdvertising pour tout ce qui n'est pas en lien avec la publicité (c'est à dire, si vous envoyez l' identifierForAdvertising de vos propres serveurs, même si vous n'êtes pas un réseau de publicité ou si vous envoyez l' identifierForAdvertising dans la même demande avec d'autres données susceptibles de permettre l'identification d'une personne).

Si mon soupçon est correct, l'avantage de l' identifierForVendor sur identifierForAdvertising , c'est qu'il n'obtiendrez pas votre application rejeté.

5voto

g_low Points 1303

Ils sont deux identifiants différents signifiait pour deux raisons différentes. Je pense que le identifierForVendor serait le seul à utiliser pour faire des choses qui nécessitent l'application d'un lien à un utilisateur spécifique / de l'appareil tels que fournir des notifications push et la mise à jour de l'utilisateur, les données de l'app server-side (comme leur partition ou ce que d'autres données sont stockées pour eux).
Le identifierForAdvertising doit être utilisé pour des choses comme la publicité ciblée et aussi pour vérifier l'efficacité d'une campagne publicitaire (vérifiez l'installation de dispositifs de apps en raison d'une publicité en particulier).

1voto

wzbozon Points 2851

Pour créer un uniqueString basé sur l'identifiant unique de l'appareil en iOS 6:

#import <AdSupport/ASIdentifierManager.h>

NSString *uniqueString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog(@"uniqueString: %@", uniqueString);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X