Использовать идентификатор экземпляра как уникальный идентификатор для моего приложения для Android
Я хочу создать уникальный идентификатор для моего приложения. Как указано в следующей ссылке
Я хочу использовать Instance ID в качестве уникального идентификатора.
String uniqueID = InstanceID.getInstance(context).getId();
Из-за некоторой настройки конфигурации мой сервер ожидает, что уникальный идентификатор будет только в нижнем регистре. В качестве экземпляра идентификатор дает как строчные, так и прописные буквы. Я думал преобразовать каждый символ идентификатора экземпляра в соответствующее ему значение ASCII и отправить его как мой уникальный идентификатор. Будет ли это правильный подход?
Кроме того, я читал о FirebaseInstaceId
https://firebase.google.com/docs/reference/android/com/google/firebase/iid/FirebaseInstanceId
Рекомендуется использовать FirebaseInstanceId вместо Instance Id? Я не нашел нигде написанного в документации. Пожалуйста, предложите.
Благодарю.
1 ответ
Использование InstanceID в качестве уникального идентификатора для вашего приложения должно быть приемлемым, однако, в зависимости от вашего варианта использования, вы должны принять к сведению, что InstanceID изменяется всякий раз, когда приложение удаляется, так как оно представляет каждый экземпляр приложения (отсюда и имя InstanceId) и это отличается для каждого устройства.
Как вы обрабатываете данные, полностью зависит от вас. До тех пор, пока вы можете использовать его соответственно.
InstanceId и FirebaseInstanceId вызывают одну и ту же службу за кулисами, только FirebaseInstanceId - это объект, который следует использовать при использовании FCM. Не пробовал использовать оба одновременно, но звонил getId
должен возвращать одно и то же значение для одного и того же экземпляра (если в библиотеке нет чего-то другого).
Также посмотрите этот, возможно, полезный пост.