Вопрос уникальной идентификации устройства/пользователя зачастую стоит при разработке приложений. Все хотят собрать много данных, независимо от сервисов аналитик.
В статье автор разбирает различные подходы к идентификации пользователя в современной Android разработке с учетом всех ограничений. Обратите внимание на 2 библиотеки: Android-device-identification и Fingerprint-android.