Вы можете сделать то, что сделали, но это ненадежно или не гарантировано. Пожалуйста, прочитайте:
https://developer.android.com/training/articles/user-data-ids
для лучшей обработки уникальных идентификаторов.
Конечно, вы можете получить идентификатор телефонной сети, но что, если у этого устройства нет оператора связи?
Вы можете получить идентификатор устройства, но что делать, если оно возвращает ноль для этого производителя.
Вы можете получить идентификатор рекламодателя, и это часто рекомендуется, но он МОЖЕТ ИЗМЕНИТЬ, вряд ли он изменится, но если они выполнят сброс настроек или что-то в этом роде, то это так.
Таким образом, вам лучше всего создать собственные уникальные идентификаторы и сохранить их локально вместе с приложением либо в реализации БД, либо в SharedPreferences.
Итак, чтобы ответить на ваш вопрос, если у вас есть существующая аудитория, которая использовала неправильный, неправильный способ использования уникальных идентификаторов, то вам нужно создать фабрику идентификаторов с логикой if / else, чтобы исправить это.
If (first time accessing an ID for this installed application)
//createOne and store it
else if(ID already exists and matches ANDROID_SECURE_ID method)
//get it the old way,
//create new one, and update your access to APIs or DB with new associated ID so that you never hit this code path again
else
//use correct ID implementation that you created
Вы также можете легко выполнить однократную проверку в Application onCreate, чтобы исправить кого-либо с неправильным идентификатором, а затем установить флаг, который вы исправили, чтобы вы не исправили его снова в sharedpref.