it-swarm.com.de

iOS 6-UDID - Welche Vorteile hat IdentifierForVendor gegenüber Identifier For Advertising?

Apple ändert seine Datenschutzeinstellungen für iOS6 und verwirft Geräte-UUIDs (UDIDs). Gemäß einer WWDC-Präsentation und den Dokumenten gibt es zwei Ersetzungen für die UDIDs, beide in der UIDevice-Klasse:

-identifierForVendor

  • ID, die zwischen Apps desselben Entwicklers identisch ist.
  • Durch Entfernen der letzten App für diese Team-ID gelöscht.
  • Gesichert.

-identifierForAdvertising

  • Einzigartig am Gerät.
  • Verfügbar für alle Anwendungen; Wird für Werbung verwendet - iAd wurde von UDID für iOS 6 und höher konvertiert.
  • Zurücksetzen mit "Alle Inhalte und Einstellungen löschen".
  • Gesichert.

Mir scheint, dass -identifierForVendor-identifierForAdvertising unterlegen ist, da er bei der letzten Deinstallation einer App von einem Anbieter zurückgesetzt würde und "alle Inhalte und Einstellungen löschen".

Welche Vorteile hat -identifierForVendor gegenüber -identifierForAdvertising?

69
Tihom

Wichtige Notiz:

Apple hat gerade iOS 6.0 veröffentlicht und das NDA wurde aufgehoben.

Für Entwickler, die präemptiv Code enthalten, auf den verwiesen wird

[[UIDevice currentDevice] identifierForAdvertising]

diese Methode wurde unter iOS 6 mit NICHT aufgenommen. Wenn Sie die obige Methode verwenden, stürzt (höchstwahrscheinlich) Ihre App ab und wird abgelehnt!

Stattdessen hat Apple eine neue Klasse ASIdentifierManager erstellt, die die Methode advertisingIdentifier enthält. Hier sind die Apple-Dokumente drauf:

34
JRG-Developer

Nutzer können die Verwendung von Anzeigenverfolgung auf ihrem Telefon einschränken. Siehe diesen Artikel zum Opt-Out-Mechanismus unter Einstellungen> Allgemein> Info> Werbung. 

Die neue ASIdentifierManager-Klasse verfügt über die Eigenschaft advertisingTrackingEnabled, die entweder true oder false zurückgibt, je nachdem, ob der Benutzer die Anzeigenverfolgung eingeschränkt hat. Obwohl die Werbe-ID des Geräts unabhängig von der Ablehnung von der advertisingIdentifier-Eigenschaft zurückgegeben wird, dürfen Sie die ID nicht verwenden, wenn der Benutzer die Ablehnung vorgenommen hat.

Der Vorteil von IdentForVendor ist also, dass Sie immer Zugriff auf diese ID haben und das Recht haben, diese ID für das Telefon zu verwenden, unabhängig davon, ob der Benutzer das Aktivieren oder Deaktivieren der Werbeverfolgung aktiviert.

22
Mr. T

Ich vermute, dass Apple Ihre App einfach ablehnen wird, wenn Sie identifierForAdvertising für alles verwenden, das nicht zu Werbezwecken verwendet wird (dh, wenn Sie die identifierForAdvertising an Ihre eigenen Server senden, obwohl Sie kein Werbenetzwerk sind oder die identifierForAdvertising in der gleiche Anforderung mit anderen Daten, die möglicherweise eine Person identifizieren könnten).

Wenn mein Verdacht stimmt, besteht der Vorteil von identifierForVendor gegenüber identifierForAdvertising darin, dass Ihre App nicht abgelehnt wird.

8
Ole Begemann

Es handelt sich dabei um zwei verschiedene IDs, die für zwei verschiedene Zwecke gedacht sind: Ich würde meinen, dass der IdentifierForVendor derjenige ist, der zum Ausführen von Dingen verwendet wird, für die die App eine Verknüpfung mit einem bestimmten Benutzer/Gerät erfordert, beispielsweise Push-Benachrichtigungen und Aktualisieren der Benutzer-App Datenserver (wie ihre Punktzahl oder was auch immer andere Daten für sie gespeichert werden).
.__ Die KennungForAdvertising sollte beispielsweise für gezielte Werbung und zur Überprüfung der Wirksamkeit einer bestimmten Anzeigenkampagne verwendet werden (prüfen, welche Geräte aufgrund einer bestimmten Anzeige Apps installiert haben).

5
g_low

Verwenden Sie die VendorID. Dies ist ein sehr aufschlussreicher Artikel http://www.doubleencore.com/2013/04/unique-identifiers/

3
idiogo

So erstellen Sie einen uniqueString basierend auf der eindeutigen Kennung des Geräts in iOS 6: 

#import <AdSupport/ASIdentifierManager.h>

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

identifierForAdvertising ist in Bezug auf die Nachverfolgung wahrscheinlich überlegen, kann jedoch vom Benutzer derzeit oder zukünftig abgelehnt werden. Auf der anderen Seite ist identifierForVendor wahrscheinlich nicht so sehr Gegenstand des Benutzers.

0
Gustav

Diese APIs sind so schlecht konzipiert, dass es eindeutig heißt: Apple möchte nicht, dass wir Benutzergeräte identifizieren.

Schauen Sie sich einfach die BezeichnerForVendor-Beschreibung an.

Es wird gelöscht, wenn der Benutzer alle Apps desselben Anbieters löscht. : ( Es ist nicht zuverlässig - kann nichts zurückgeben (Dokumentation empfiehlt, einige Zeit zu "warten", wenn dies geschieht. :(

Sie verwendeten keine offensichtliche Lösung, die jederzeit funktioniert und nicht auf Installationen/Entfernungen angewiesen ist - geben Sie SHA-1 (oder einen anderen Hash) der internen Hardware-Geräte-ID zurück, die mit der Team-ID verkettet ist.

0
Hrissan

Der Benutzer kann den BezeichnerForAdvertising jederzeit in den Einstellungen ändern BezeichnerForVendor ändert sich nach der Neuinstallation der App, wenn keine weiteren Apps auf diesem Gerät von diesem Hersteller verfügbar sind.

Hier ist eine Alternative und die beste Lösung, um Geräteidentifizierer zu installieren oder dauerhaft zu installieren:

beschreibung: https://blog.onliquid.com/persistent-device-unique-identifier-ios-keychain/

code: https://Gist.github.com/miguelcma/e8f291e54b025815ca46

0
Igor

Es ist wichtig zu wissen, dass die Sicherung des IdentifierForVendor nur auf demselben Gerät wiederhergestellt werden kann. Wenn die Sicherung auf einem anderen Gerät wiederhergestellt wird, wird die Kennung gelöscht.

0
malhal