簡體   English   中英

iOS6 UDID-identifierForVendor相對於identifierForAdvertising有什么優勢?

[英]iOS6 UDID - What advantages does identifierForVendor have over identifierForAdvertising?

蘋果正在更改其iOS6的隱私設置,並棄用設備UUID(UDID)。 根據WWDC的演示文稿和文檔,在UIDevice類中有兩個UDID的替代品:

-identifierForVendor

  • 同一開發人員的應用之間的ID相同。
  • 刪除該團隊ID的最后一個應用后刪除。
  • 支持。

-identifierForAdvertising

  • 設備特有的。
  • 適用於所有應用程序; 用於廣告-iAd已從iOS 6或更高版本的UDID轉換而來。
  • 使用“刪除所有內容和設置”重置。
  • 支持。

在我看來, -identifierForVendor不如-identifierForAdvertising因為它將在上次從供應商處卸載應用程序並通過“擦除所有內容和設置”而重置。

沒有什么優勢-identifierForVendor有超過-identifierForAdvertising

重要說明

蘋果剛剛發布了iOS 6.0,並且取消了保密協議。

對於搶先包含引用代碼的開發人員

[[UIDevice currentDevice] identifierForAdvertising]

這種方法還沒有被列入在iOS 6.如果你使用上面的方法,您的應用(最有可能)崩潰和被拒絕!

相反,蘋果創造了一個新的類ASIdentifierManager ,其中包括法advertisingIdentifier 這是上面的蘋果文檔

用戶可以限制在手機上使用廣告跟蹤。 請參閱“設置”>“常規”>“關於”>“廣告”下的“ 退出”機制文章

ASIdentifierManager類有一個屬性advertisingTrackingEnabled ,它返回如果用戶具有有限的廣告追蹤true或false根據。 即使設備選擇退出, advertisingIdentifier屬性返回設備的廣告標識符,但如果用戶選擇退出,則不應使用該標識符。

因此,identifierForVendor的優勢在於,無論用戶選擇加入還是退出廣告跟蹤,您始終可以訪問並有權使用此ID在手機上使用。

我懷疑,如果您使用identifierForAdvertising進行與廣告無關的任何事情,Apple只會拒絕您的應用程序(即,即使您不是廣告網絡,還是將identifierForAdvertising發送到您自己的服務器,或者如果您將identifierForAdvertising發送到與可能識別個人身份的其他數據進行相同的請求)。

如果我的猜想是正確的,則identifierForVendor優於identifierForAdvertising的優勢在於,它不會使您的應用程序被拒絕。

它們是兩個不同的id,分別用於兩個不同的目的。 我認為IdentifierForVendor將是用於執行要求應用程序鏈接到特定用戶/設備的事情的人,例如提供推送通知和更新用戶的應用程序數據服務器端(例如他們的分數或其他任何存儲的數據)他們)。
identifierForAdvertising應該用於諸如定向廣告之類的事情,並且還應用於檢查特定廣告活動的有效性(檢查以查看哪些設備由於特定廣告而安裝了應用程序)。

使用VendorID 這是一篇很有啟發性的文章http://www.doubleencore.com/2013/04/unique-identifiers/

要基於iOS 6中設備的唯一標識符創建uniqueString:

#import <AdSupport/ASIdentifierManager.h>

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

這些API的設計是如此糟糕,顯然可以說-Apple不想讓我們識別用戶設備。

只需查看identifierForVendor描述即可。

如果用戶刪除同一供應商的所有應用程序,則將其刪除。 :(不可靠-可能會返回nil(如果發生這種情況,文檔建議會“等待”一段時間。

他們沒有使用顯而易見的解決方案,該解決方案可以隨時使用,並且不依賴於安裝/刪除-返回與Team ID串聯的內部硬件設備ID的SHA-1(或任何其他哈希值)。

identifierForAdvertising在跟蹤方面可能更好,但可能會受到用戶當前或將來的選擇退出。 另一方面, identifierForVendor不太可能成為用戶的主題。

要知道的重要一點是,只能將identifierForVendor的備份還原到同一設備上。 如果將備份還原到其他設備,則會清除標識符。

用戶可以隨時在“設置”中更改identifierForAdvertising,重新安裝應用程序后,如果該供應商的設備上沒有其他應用程序,則identifierForVendor也會更改。

這是獲取或永久交叉安裝設備標識符的替代方案和最佳解決方案:

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

代碼: https//gist.github.com/miguelcma/e8f291e54b025815ca46

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM