Chcę zintegrować publiczny czat w mojej aplikacji, ale nie mam pojęcia, jak utworzyć backend.Publiczny pokój rozmów z promieniem za pomocą Firebase (Sugerowane żądania)
Używam firebase do mojej aplikacji, a konfiguracja jest prosta między dwoma użytkownikami lub grupą użytkowników. Tworzę prywatny pokój oparty na punkcie referencyjnym w Firebase, który umożliwia użytkownikom z tej grupy dostęp do wiadomości.
Teraz, powiedzmy, że jestem w LA, chcę, aby użytkownicy mogli czatować z innymi użytkownikami znajdującymi się w promieniu 1 mil od ich lokalizacji (lat/lng). Wiem, że jest to możliwe, ponieważ istnieje taka aplikacja, która można znaleźć pod adresem https://itunes.apple.com/sg/app/popcorn-messaging/id718416705?mt=8.
Przeczytaj tylko następujące informacje, jeśli chcesz wiedzieć, co próbowałem. Może to być nieco mylące.
Jednym ze sposobów, w jaki o tym pomyślałem, jest stworzenie pokoju rozmów na całym świecie z milami. Na przykład zacznij od łaci: 0, lng: 0, a następnie przesuń milę w prawo, potem kolejną milę w prawo itd., Ale to przynosi więcej szkody niż pożytku. Będę miał miliony chatroomów i nie wszystkie będą używane.
Drugi sposób, który myślałem, że mogę zaimplementować, to stworzyć czat, jeśli nie istnieje w promieniu użytkownika. Więc jeśli jestem w LA i nie ma chatroomów, utworzy się jeden w tym miejscu i powiedzą, że jeśli inna osoba pojedzie do LA, ponieważ chatroom został już utworzony w lokalizacji 1 mile, to załaduje chatroom dla tego użytkownika .
Wszelkie sugestie będą bardzo mile widziane.
oznaczałoby to, że będę musiał ustawić go do statycznego odległości od początku. Załóżmy, że podzielę wszystkie pokoje rozmów na 1 x 1 milę. USER_A znajduje się 2 bloki od USER_B, mogą one znajdować się w tym samym pokoju rozmów sieciowych lub nie (w zależności od siatki). Wolałbym, żeby było w stosunku do lokalizacji użytkowników. Nie jestem też zbytnio zainteresowany statycznymi pokojami 1 x 1 mila. Gdybym miał zmienić promień, w którym pokoje są widoczne, musiałbym stworzyć całkiem nowy zestaw pokoi. Staje się zbyt brudny i nie jest skalowalny. Może nadają wiadomości w jednym pokoju, a wszyscy w promieniu 1 mila otrzymają go? –
Nieco więcej o mojej aplikacji: chcę po prostu stworzyć aplikację, w której użytkownicy mogą anonimowo rozmawiać z innymi (ACTIVE) użytkownikami, jeśli znajdują się w określonym promieniu. Tak, muszą być aktywne, aby zobaczyć rozmowę. Jeśli A widzisz B, to B także widzi A. Myślę o jednym dużym czacie i umieszczeniu latka/lng na każdej wiadomości. Podczas pobierania wiadomości pobierać tylko te, które są w pewnym promieniu? –
Zaktualizowałem. Mam nadzieję, że te aktualizacje pomogą wyjaśnić wyzwania. Wydaje się jednak fajnym wyzwaniem. Powodzenia! –