2016-07-20 2 views
1

현재 Firebase를 평가 중입니다. 내 응용 프로그램에서는 사용자가 이제 SQLite DB에 저장된 엔터티 (사용자 지정 연습)를 만들 수 있습니다. FB로 옮기고 싶지만 질문이 있습니다.Firebase 실시간 데이터베이스에서 서버와 동기화 할 경로 제한

사용자가 다른 장치와 연습 문제를 동기화 할 수 있도록 허용하고 싶습니다. 표준 사용 사례. 하지만 사용자가 내 앱으로 계정을 갖도록 강요하고 싶지 않으므로 동기화가 필요하고 필요없는 한 익명으로 사용할 수 있습니다. 익명 인 경우 서버와의 동기화를 비활성화하는 방법이 있습니까? 어쨌든 익명으로 데이터를 가져올 수 없기 때문에 익명의 데이터를 서버와 동기화하는 것은 의미가 없으므로 장치 또는 초기 설정을 변경하면 새 ID가 부여되고 해당 데이터는 포기됩니다.

사용자가 익명 인 동안 내가 원하는 것은 Firebases RTDB에서만 로컬로 항목을 유지하지만 로그인 한 즉시 동기화합니다. 그게 가능하니?

감사합니다.

답변

0

Firebase Realtime Database는 클라우드 호스트 된 데이터베이스로, 네트워크에 연결되어 있지 않은 순간부터 중간 순간까지 계속 작동합니다. 오프라인에서 무기한으로 작동하는 데이터베이스를 찾고 있다면 어느 시점에서 동기화가 이루어 지기만하면 Firebase 데이터베이스가 현재 적합하지 않을 수 있습니다.

+0

답변 해 주셔서 감사합니다. 앞으로 추가 될 가능성이 있습니까? 내가 원하는 것은 일반적인 유스 케이스처럼 보인다. – EvilDuck

0

질문을 올바르게 이해하면 데이터베이스 rules을 사용하여 원하는 동작을 수행 할 수 있어야합니다.

읽기는 전역으로 설정하고 쓰기는 인증 된 사용자로만 제한합니다. 익명 사용자가 계정을 만들면 사용자는 쓰기 액세스 권한을 얻고 모든 로컬 데이터를 데이터베이스에 푸시 할 수 있습니다.

+0

그러나 쓰기가 인증 된 사용자로 제한되는 경우 사용자가 로컬 FB 저장소에도 쓸 수 없습니까? 나는 규칙이 온라인 부분뿐만 아니라 전체 데이터베이스에 적용된다고 생각했다. – EvilDuck

+0

"물건을 현지에 보관하는"이라고 말했을 때 지역에서 무엇을 의미 했습니까? 나는 그 장치에서 로컬로 생각했다. 내가 생각하는 또 다른 방법은 모든 사용자에 대해 자동으로 생성 된 사용자 ID를 생성하는 것입니다. "익명 사용자가 아닌"사용자는 자신이 설정 한 사용자 정의 사용자 ID를 가진 사용자 일뿐입니다. – Bill

+0

"local"은 Firebase Realtime Database에 있지만 로컬 . 그것들을 서버에 동기화하지 않고. – EvilDuck

관련 문제