Dim Map As Map = CreateMap( _
"sender_id": MainPage.key.Get("uid"), _
"sender": MainPage.key.Get("user_name"), _
"message": TextField.Text, _
"timestamp": DateTime.Now _
)
Dim path As PathBuilder
path.Initialize
path.Collection("chats").Document(ChatDocID).Collection("messages")'Sub collection in chats
Log(path.Complete)
Ожидание(store.CreateDocument(path.Complete,"",Map)) Complete(Data As Map)
Журнал (Данные)[/КОД]
[CODE lang="b4x" title="Прослушивать изменения в коллекции или документе"]Public Sub StartListen
UsersListerner = Store.CollectionListen("пользователи")
ChatsListener = Store.CollectionListen(ChatDocCollection)
Конец субтитра
Публичный субконецПрослушать
Если UsersListerner.IsInitialized, то UsersListerner.Remove
Если ChatsListener.IsInitialized Тогда ChatsListener.Remove
Конец субтитра
Частный подмагазин_CollectionChanged (данные как карта)
Log("Коллекция изменена: " и данные)
Если Data.IsInitialized Тогда
Уменьшить параметры как карту = Data.Get("данные")
Выберите Data.Get("тип")
Магазин кейсов.TYPE_ADDED
Тускло слева как логическое значение = ложь
Если Params.Get("sender_id") == Key.get("uid") Тогда
Слева = Истина
Конец, если
Chat1.AddItem(Params.Get("сообщение"),Params.Get("отправитель"), Left)
Конец выбора
Конец, если
Конец субтитра
Частный дополнительный Firestore_DocumentChanged (данные как карта)
Если Data.Get("type") == Store.TYPE_MODIFIED Тогда
Выберите Data.Get("коллекция").
Дело "delivery_requests"
Запрос Dim As Map = Data.Get("data")
DeliveryRequest = запрос
GetRequestState(request.Get("статус").As(Int))
Случай "rider_coordinates"
Dim ride As Map = Data.Get("данные")
' Dim geo As Map = ride.Get("geopoint")
CameraPosition.Initialize(ride.Get("широта"),ride.Get("долгота"),Zoom)
Если Marker.IsInitialized == False Тогда
Маркер = gmap.AddMarker3(ride.Get("широта"),ride.Get("долгота"),"Rider",FontUtils.FontToBitmap(Chr(0xF21C),False,20,Colors.red))
Конец, если
OreebaUtils.AnimateTo(Marker,2000,ride.Get("широта"),ride.Get("долгота"),CameraPosition,gmap)
Конец выбора
Конец, если
Конец субтитра
[/КОД]
[CODE lang="b4x" title="Как использовать GetFileurl" Highlight="4,7"]PrescriptionFile = $"prescriptions/${UserID}/${Product.Get("id")}/${FileResult. НастоящееИмя}"$
Storage.UploadFile(FileResult.Dir,FileResult.FileName, $"/${PrescriptionFile}"$)
Ожидание (хранилище) Storage_UploadCompleted (ServerPath как строка, успех как логическое значение)
Store.GetFileurl(PrescriptionFile)
'Результат: https://firebasestorage.googleapis.com/v0/b/project-id.appspot.com/o/prescriptions%2FDj0pOcizCDVqeZk8DssQCmSeXCr1%2FT3yw5j7jgocqFwIVWWQ3%2FIMG-20231022-WA0003.jpg?alt=media
Fields.Put("photo_url",Store.GetFileurl(PrescriptionFile))
Подождите завершения (Store.UpdateDocument("users",DocumentID,Fields)) Complete(m As Map)