69

Appleは、iOS6のプライバシー設定を変更し、デバイスのUUID(UDID)を廃止します。WWDCのプレゼンテーションとドキュメントによると、UDIDには2つの代替品があり、どちらもUIDeviceクラスに含まれています。

-identifierForVendor

  • 同じ開発者のアプリ間で同一のID。
  • そのチームIDの最後のアプリが削除されて消去されました。
  • バックアップしました。

-identifierForAdvertising

  • デバイスに固有です。
  • すべてのアプリケーションで利用できます。広告に使用—iAdはiOS6以降のUDIDから変換されました。
  • 「すべてのコンテンツと設定を消去」でリセットします。
  • バックアップしました。

ベンダーからのアプリの最後のアンインストール時、および「すべてのコンテンツと設定を消去する」ことによってリセットされるため、それ-identifierForVendorは劣っているように思われます。-identifierForAdvertising

どのような利点が-identifierForVendorあり-identifierForAdvertisingますか?

4

10 に答える 10

34

重要な注意

AppleはiOS6.0をリリースしたばかりで、NDAは解除されました。

参照するコードを先制的に含めた開発者向け

[[UIDevice currentDevice] identifierForAdvertising]

この方法はiOS6には含まれていません。上記の方法を使用すると、アプリが(ほとんどの場合)クラッシュして拒否されます。

ASIdentifierManager代わりに、Appleはメソッドを含む新しいクラスを作成しましたadvertisingIdentifier。これがその上のアップルドキュメントです:

于 2012-09-19T21:41:30.980 に答える
23

ユーザーは、携帯電話での広告追跡の使用を制限できます。[設定] > [一般] > [概要] > [広告] の下 にあるオプトアウト メカニズムに関するこの記事を参照してください。

新しいASIdentifierManagerクラスにはプロパティadvertisingTrackingEnabledがあり、ユーザーが広告追跡を制限しているかどうかに応じて true または false を返します。デバイスの広告 ID はadvertisingIdentifierオプトアウトに関係なくプロパティによって返されますが、ユーザーがオプトアウトしている場合、その ID を使用することは想定されていません。

したがって、identifierForVendor の利点は、ユーザーが広告追跡をオプトインまたはオプトアウトするかどうかに関係なく、電話でこの ID に常にアクセスし、使用する権利があることです。

于 2012-10-02T21:51:14.660 に答える
8

identifierForAdvertising広告に関係のないものにアプリを使用する場合(つまり、identifierForAdvertising広告ネットワークでなくても独自のサーバーに を送信する場合、またはidentifierForAdvertising同じリクエストで を個人を特定する可能性のあるその他のデータ)。

私の疑いが正しければ、identifierForVendorオーバーの利点はidentifierForAdvertising、アプリが拒否されないことです。

于 2012-09-04T10:27:52.147 に答える
5

これらは、2 つの異なる目的のための 2 つの異なる ID です。identifierForVendor は、プッシュ通知を提供したり、ユーザーのアプリ データ サーバーサイドを更新したりするなど、特定のユーザー/デバイスにアプリをリンクする必要があることを行うために使用するものだと思います (スコアやその他のデータが保存されているなど)。彼ら)。
identifierForAdvertising は、ターゲットを絞った広告などに使用する必要があります。また、特定の広告キャンペーンの有効性を確認するためにも使用する必要があります (特定の広告のためにどのデバイスがアプリをインストールしたかを確認します)。

于 2012-09-28T16:06:33.410 に答える
3

VendorIDを使用します。これは非常に啓発的な記事ですhttp://www.doubleencore.com/2013/04/unique-identifiers/

于 2013-11-14T12:34:37.093 に答える
1

iOS 6 でデバイスの一意の識別子に基づいて uniqueString を作成するには:

#import <AdSupport/ASIdentifierManager.h>

NSString *uniqueString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog(@"uniqueString: %@", uniqueString);
于 2013-07-27T03:57:44.613 に答える
0

ユーザーは設定でいつでも identifierForAdvertising を変更できます。identifierForVendor は、アプリの再インストール後に変更されます (このベンダーのアプリがデバイス上にない場合)。

以下は、デバイス識別子を取得または永続化するための最良の代替ソリューションです。

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

コード: https://gist.github.com/miguelcma/e8f291e54b025815ca46

于 2016-06-06T23:59:44.423 に答える
0

identifierForAdvertising追跡に関してはおそらく優れていますが、ユーザーによる現在または将来のオプトアウトの対象となる可能性があります。一方identifierForVendor、ユーザーの対象になる可能性は低くなります。

于 2013-07-30T21:54:24.393 に答える
0

知っておくべき重要なことは、identifierForVendor のバックアップは同じデバイスにのみ復元できるということです。バックアップが異なるデバイスに復元されると、識別子はクリアされます。

于 2014-01-15T06:44:47.433 に答える