나는 안드로이드 애플리케이션을 작성하고 firebase 익명 인증을 사용자에게 사용하고 있습니다. 프로그램이 장치에 처음 설치되면 해당 장치에 익명 로그인을 사용하여 고유 ID를 만든 다음 메모리에 저장 한 다음 해당 장치의 고유 사용자 이름으로 항상 고유 ID를 사용합니다. 여기 내 코드는 다음과 같습니다.Firebase 익명 로그인 문제
public String getUserId() {
SharedPreferences prefs = getSharedPreferences("USER_ID",
Context.MODE_PRIVATE);
String id = prefs.getString("USER_ID", "NOT_FOUND");
return id;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String userId = getUserId();
if (userId.equals("NOT_FOUND")) {
if (f == null) {
f = new Firebase(
"https://marketlist.firebaseio.com/sharedlists");
}
try {
Firebase ref = f.getParent();
SimpleLogin authClient = new SimpleLogin(ref);
authClient
.loginAnonymously(new SimpleLoginAuthenticatedHandler() {
@Override
public void authenticated(Error error, User user) {
if (error != null) {
System.out.println("");
} else {
// We are now logged in
String id = user.getUid();
SharedPreferences prefs = getSharedPreferences(
"USER_ID", Context.MODE_PRIVATE);
prefs.edit().putString("USER_ID", id)
.commit();
}
}
});
Firebase.goOffline();
} catch (Exception ex) {
Firebase.goOffline();
}
}
}
나는이 ID의 고유성에 대해 우려하고 있습니다. firebase 익명 로그인은 온라인 익명 사용자들 사이에서 고유 ID를 제공합니까, 아니면 응용 프로그램 기반 고유 ID를 제공합니까? 두 개의 장치에 동일한 ID가 부여 될 가능성이 있습니까? 기회가 있다면, 그 id가 존재하는지 어디에서 확인할 수 있습니까? (나는 또한 주어진 id를 firebase 저장소에 저장하고, 그 id가 이전에 주어 졌는지를 확인하기를 원한다).
감사합니다.
답변 해 주셔서 감사합니다. – yrazlik