Использовать идентификатор экземпляра как уникальный идентификатор для моего приложения для 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 должен возвращать одно и то же значение для одного и того же экземпляра (если в библиотеке нет чего-то другого).

Также посмотрите этот, возможно, полезный пост.

Другие вопросы по тегам