iOS6の新しいIDFA 機能は、iOS6 を実行しているユーザーのコンバージョン トラッキングに適しています。ただし、アプリの最小サポート バージョンが iOS 6 未満の場合、iOS6 より前のデバイスで実行する場合、どのような方法で処理するのが一般的でしょうか?
Jumptap は、iOS6より前のデバイスで UDID を引き続き使用できると述べています。
広告用識別子 (IDFA) は、iOS 6 で導入されました。これは、広告主がコンバージョンの追跡や高度なターゲティングなどに使用します。iOS 6 (またはそれ以降) を使用するデバイスでは、IDFA はデバイス識別子として UDID を置き換えることを目的としています。iOS 5 (またはそれ以前) を使用するデバイスでは、Apple はデバイス識別子として UDID の使用を引き続きサポートします。
しかし、それは私にはうまくいきません。iOS のバージョン チェックは実行時のものです。つまり、コードは非推奨の UDID アクセサーに常に静的にリンクし、実行時にのみそれを読み取るかどうかを決定します。確かに、Apple のレビュー プロセスは UDID への静的リンクを確認し、アプリを拒否します。コードを逆コンパイルしてロジックが正しいことを確認したり、100% コード カバレッジ テストを実行して、iOS6 で実行したときにコードが読み取られないことを確認したりしませんか?!?!
また、AppsFlyer は、SDK で UDID を有効にできることを次のように述べています。
*UDID の詳細: 一部の広告ネットワーク (Tapjoy など) では、CPI キャンペーンを実行するために UDID が必要です。上記のケースでは、UDID を有効にし、アプリの利用規約を更新して、個人情報の収集についてユーザーに通知する明確なプライバシー ステートメントを作成する必要があります。
これは、ユーザーに通知する限り、UDID の読み取りが許可されていることを意味しているようです。ただし、Appleの公式ドキュメントにはこれについての言及はありません。