Вы можете делать то, что делали, но это не надежно и не гарантировано. Пожалуйста, прочитайте: https://developer.android.com/training/articles/user-data-ids
для лучшей обработки уникальных идентификаторов. Конечно, вы можете получить идентификатор телефонной сети, но что, если у этого устройства нет оператора связи. Вы можете получить идентификатор устройства, но что, если он вернет null для этого производителя. Вы можете получить идентификатор рекламодателя, и это часто рекомендуется, но он МОЖЕТ ИЗМЕНИТЬСЯ, он вряд ли изменится, но если они сделают сброс до заводских настроек или что-то в этом роде, он изменится.
Поэтому лучше всего создать свои собственные уникальные идентификаторы и сохранить их локально в приложении либо в реализации БД, либо в 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
Вы также можете так же легко выполнить однократную проверку в своем приложении onCreate, чтобы исправить любого с неправильным идентификатором, а затем установить флаг, который вы исправили, чтобы вы не исправили его снова в sharedpref.
person
Sam
schedule
09.05.2018