Я большой поклонник Firebase, и именно по этой причине я решил использовать его в своем текущем приложении, но я дошел до того, что уже не знаю, может ли он поддерживать мои потребности.Создание приложения «Tinder» с «Firebase» + «Geofire», возможно ли это?
Функциональность приложения такая же, как и приложение «Tinder», вы можете прокручивать, как в отличие от людей, в зависимости от их пола, местоположения и возраста.
Я заметил, что нет причин иметь более одного запроса за раз, поэтому я сохраняю каждого человека по пути на основе его пола, а «ключ» - это «пусковая клавиша», генерирующая огонь. Я использую «push key», потому что он проиндексирован, поэтому пользователь не будет прокручивать дважды того же пользователя. (Смахивающий будет стартовать с первым пользователя, который присоединился к системе)
let lookForGender = "female"
//swipingIndex is the last user index I've swiped.
let baseRef = firebaseApp.database().ref("lookForGender")
.startAt(null, currentUser.swipingIndex);
baseRef.once('value', function (snapshot) {
UsersFeedService.updateState(snapshot);
})
//DB looks like:
"female"
someIndexKey
userObject
someIndexKey
userObject
"male"
someIndexKey
userObject
someIndexKey
userObject
Это хорошо работает, но теперь я ищу способ получить только человек рядом со мной, потому что я добавил «GeoFire», но он должен работать над своим «ключом». И я не могу сохранить пользователей по ключам местоположения, потому что тогда они не будут проиндексированы (поэтому пользователь будет прокручивать только один раз для каждого пользователя).
Гео расположение хотели бы, чтобы дб выглядеть примерно так:
“location”
userObject
“location”
userObject
“location”
userObject
“location”
userObject
Получение снимок всех пользователей и итерация между ними не вариант, так как они, возможно, много пользователей.
Этого можно достичь с помощью firebase? Я не правильно структурирую данные? И если да, то как мне?
Downvoter, мог бы объяснить, почему вместо простого downvoting? Благодарю. – MCMatan
Мое предположение заключается в том, что опрошенный избиратель считал, что вопрос неясен; каков реальный вопрос? Geofire был разработан, чтобы делать то, что вам кажется нужным, - проблема в структуре Firebase, которую вы реализовали; нет никакой причины группировать всех женщин вместе и всех мужчин вместе, где ваши данные GeoFire? Как вы связываете местоположение с пользователем? Все эти вещи должны быть частью вашей структуры, и ваши запросы, естественно, отфильтровывают пользователей, которые находятся за пределами этого пользователя. – Jay
@ Я благодарю вас за ответ, я отредактировал свой вопрос, чтобы уточнить, о чем идет речь, и речь идет о структуре .. – MCMatan