背景
某インターネット広告企業でデータマイニングエンジニアもとい便利屋をやっております。そしてなんでも屋のようなことをやっていると、時折実配信テストみたいなこともやらされることがあります。その時にiOSアプリの場合だと結構めんどくさい。というのも、広告向けの端末識別子(IDFA)が普通に使っているとわからないからです。そのために、IDFA確認方法を調べてみました
サンプルコード
方法
やることは結構簡単で、広告のトラッキングを許可しているかどうかをみてから、IDFAを取得するだけです。コード的には以下のようになります。
import AdSupport
func getIDFA() -> String {
var idfaString: String!
let manager = ASIdentifierManager.shared()
if manager.isAdvertisingTrackingEnabled { // 広告トラッキングを許可しているのか?
idfaString = manager.advertisingIdentifier.uuidString
} else {
idfaString = "Advertising tracking is prohibited"
// この場合で無理やりIDFAを取得しようとすると、
// 00000000-0000-0000-000000000000 が返ります
}
return idfaString
}
コードに書きましたが、禁止しているのにIDFAを取得しようとするとデタラメな文字列が入ることになりますので、ちゃんと広告トラッキングを許可しているのかをみてから取得しないといけないようです。
まとめ
Native Appの広告配信テストをするのはめんどくさいですが、自分でサンプルアプリを作りIDFAを調べることができるので、とりあえず広告業界にいる人には役立つかもしれない。