Firebase의 실시간 DB를 사용하여 만들고있는 iOS 앱에서 채팅 기능을 개발 중입니다. 나는 '타이핑 인디케이터'를 구현했습니다. 사용자가 타이핑을 시작하면, DB에서 플랙이 플립됩니다.Firebase Chat App - 시간 초과 후 입력 표시기를 중지합니다.
사용자가 아무런 활동도하지 않으면 약 5 초 후에 다시 false로 설정하는 것이 가장 안전하고 안전한 방법은 무엇입니까? 사용자가 타이핑을 시작할 때마다 타임 아웃을 리셋하는 것만으로 클라이언트에서 쉬울 수 있습니다. 그러나이 시간 초과 전에 클라이언트가 중단되거나 사용자가 종료하면 어떻게됩니까?
Firebase의 클라우드 기능을 사용하여 키를보고 서버에서 타임 아웃을 수행하여 표시기가 true로 설정 될 때마다 기능을 실행하는 것이 더 좋습니까? 이것은 규모가 커지면 안전하지만 비용이 많이들 것입니다.
의견이 있으십니까?
[-onDisconnectSetValue :] (https://firebase.google.com/docs/reference/ios/firebasedatabase/api/reference/Classes/FIRDatabaseReference#/c:objc (cs) FIRDatabaseReference (im) onDisconnectSetValue :) 클라이언트가 연결을 끊으면 노드 값을 false로 설정할 수 있습니다. Firebase에는 타이머가 없으며 두 클라이언트의 연결이 끊어지면 (허용 된 응답에 따라) 전체 시스템이 동기화되지 않습니다. – Jay