Генерация уникального идентификатора для экземпляра приложения - PullRequest
0 голосов
/ 16 февраля 2019

Я хочу создать уникальный идентификатор (String) для экземпляра приложения.

Мне это нужно, потому что я храню профили пользователей в Firestore в следующем формате:

/phones/{phoneId}/users/{user}/

.. где несколько профилей пользователей на 1 устройстве (без аутентификации).phoneId должен быть уникальным строковым идентификатором для экземпляра приложения.

Однако, когда я выполняю:

var uniqueID = UUID.randomUUID().toString()
Log.d("UniqueID", uniqueID )

uniqueId каждый раз возвращает случайную строку. В документации говорится, что «GUID также можно использовать для уникальной идентификации экземпляра приложения» - но, как я уже сказал, я не получаю одну и ту же строку каждый раз, когда uniqueId печатает.

Есть ли причина, почему это так или есть лучшая альтернатива иметь неизменяемую строку для уникальной идентификации экземпляра приложения?

1 Ответ

0 голосов
/ 16 февраля 2019

Каждый раз, когда вы звоните UUID.randomUUID().toString(), он генерирует уникальный идентификатор.Это по определению.Если вам нужен один уникальный идентификатор, вы должны вызывать UUID.randomUUID().toString() только один раз и сохранять значение в что-то вроде SharedPreferences между запусками приложения.

Обратите внимание, что это очень похоже на назначение FirebaseИдентификаторы экземпляров , поэтому вы можете также использовать это для идентификации устройства.

...