Program Club

iOS6 UDID-identifierForVendor가 identifierForAdvertising에 비해 어떤 이점이 있습니까?

proclub 2020. 11. 5. 19:46
반응형

iOS6 UDID-identifierForVendor가 identifierForAdvertising에 비해 어떤 이점이 있습니까?


Apple은 iOS6에 대한 개인 정보 설정을 변경하고 장치 UUID (UDID)를 더 이상 사용하지 않습니다. WWDC 프리젠 테이션 및 문서에 따르면 UIDevice클래스 에서 UDID를 대체하는 두 가지가 있습니다 .

-identifierForVendor

  • 동일한 개발자의 앱간에 동일한 ID입니다.
  • 해당 팀 ID에 대한 마지막 앱을 제거하여 지워졌습니다.
  • 백업되었습니다.

-identifierForAdvertising

  • 장치에 고유합니다.
  • 모든 응용 프로그램에서 사용할 수 있습니다. 광고에 사용 — iAd가 iOS 6 이상용 UDID에서 변환되었습니다.
  • "모든 콘텐츠 및 설정 지우기"로 재설정합니다.
  • 백업되었습니다.

공급 업체에서 앱을 마지막으로 제거하고 "모든 콘텐츠 및 설정을 삭제"하여 재설정되므로 나에게 -identifierForVendor열등한 것 같습니다 -identifierForAdvertising.

어떤 장점 않는 -identifierForVendor이상이 -identifierForAdvertising?


중요 사항 :

Apple은 방금 iOS 6.0을 출시했고 NDA가 해제되었습니다.

참조한 코드를 선점 적으로 포함시킨 개발자

[[UIDevice currentDevice] identifierForAdvertising]

이 방법은 iOS 6에 포함되어 있지 않습니다 . 위 방법을 사용하면 앱이 충돌하고 거부됩니다.

대신 Apple은 ASIdentifierManager메서드를 포함 하는 새 클래스를 만들었습니다 advertisingIdentifier. 여기에 애플 문서 가 있습니다.


사용자는 휴대 전화에서 광고 추적 사용을 제한 할 수 있습니다. 설정> 일반> 정보> 광고 에서 옵트 아웃 메커니즘에 대한이 문서를 참조하십시오 .

ASIdentifierManager클래스에는 advertisingTrackingEnabled사용자의 광고 추적이 제한되어 있는지 여부에 따라 true 또는 false를 반환 하는 속성 이 있습니다. advertisingIdentifier옵트 아웃에 관계없이 속성 에서 기기의 광고 식별자를 반환 하더라도 사용자가 옵트 아웃 한 경우 식별자를 사용해서는 안됩니다.

따라서 identifierForVendor의 장점은 광고 추적에 대한 사용자의 옵트 인 또는 옵트 아웃에 관계없이 항상이 ID에 액세스 할 수 있고 전화에 대해이 ID를 사용할 수 있다는 것입니다.


identifierForAdvertising광고와 관련이없는 용도로 사용 하는 경우 (예 : identifierForAdvertising광고 네트워크가 아닌 경우에도 자체 서버로 전송하거나 identifierForAdvertising동일한 요청을 잠재적으로 개인을 식별 할 수있는 기타 데이터).

내 의심이 맞다면 identifierForVendorover 의 장점은 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을 반환 할 수 있습니다 (이런 일이 발생하면 얼마 동안 "대기"에 대한 문서 조언. :(

그들은 언제든지 작동하고 설치 / 제거에 의존하지 않는 명백한 솔루션을 사용하지 않았습니다. 팀 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

참고 URL : https://stackoverflow.com/questions/11836225/ios6-udid-what-advantages-does-identifierforvendor-have-over-identifierforadve

반응형