我是Firebase的忠實粉絲,這就是我決定在當前應用中使用它的原因,但是我不得不知道它是否能夠支持我的需求。使用「Firebase」+「Geofire」構建「Tinder」應用程序,它甚至有可能嗎?
應用程序功能與「Tinder」應用程序相同,您可以根據人的性別,位置和年齡輕掃/不像人。
我注意到沒有理由每次只能有一個以上的查詢,所以我將每個人都保存在一個基於其性別的路徑中,而「關鍵」是一個「按鍵」。 我使用的是「推鍵」,因爲它是索引的,所以用戶不會兩次滑動同一個用戶。 (滑動操作會從加盟體系的第一個用戶開始)
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
@Jay感謝您的迴應,我編輯了我的問題,以更準確地說明問題是什麼,它是關於結構的。 – MCMatan