アプリで端末識別する方法
iOSアプリで端末識別するためにUDIDやハードウェアアドレス(Wifi MACアドレスなど)が使えなくなってかなり経つが、では何を使うべきかiOSとandroidで整理してみたい。
iOS
・UIDevice#identifierForVendor
端末ごとベンダーごと
一般的にはこれを使う。
・UUID
NSUUID#UUID
取得操作ごと
・ASIdentifierManager#advertisingIdentifier
端末ごと オプトアウト可能
広告表示制御用でしか使えない
・UDID
アプリからは利用できない
・Wifi MACアドレス
アプリからは利用できない
.
android
・デバイスID(IMEI/MEID/ESN)
telephonyManager#getDeviceId()
READ_PHONE_STATEパーミッションが必要
・Wifi MACアドレス
NetworkInterface#getHardwareAddress
・UUID
UUID.randomUUID().toString()
・AdvertisingID
GooglePlay開発者サービス
広告表示制御用でしか使えない
・Googleアカウント
AccountManager.get(this).getAccounts()
GET_ACCOUNTSパーミッションが必要