чтение данных firestore из другого проекта

#swift #firebase #firebase-realtime-database #google-cloud-firestore #swift5

# #swift #firebase #firebase-база данных в реальном времени #google-облако-firestore #swift5

Вопрос:

Я создал приложение для заказа еды, и я хочу создать другое приложение для чтения данных firestore из него, я провел много исследований, но не нашел способа сделать это.

Я хочу, чтобы, если FireStore получит новые данные, которые являются FirstName, LastName, area, PhoneNumber из первого приложения, я хотел бы прочитать их во втором приложении, возможно ли это?

Это мой код

    import UIKit
   import Firebase
 
  class infoViewController: UIViewController, UITextFieldDelegate {



@IBOutlet var firstName: UITextField!
@IBOutlet var lastName: UITextField!
@IBOutlet var phoneNumber: UITextField!
@IBOutlet var area: UITextField!
    


override func viewDidLoad() {
    super.viewDidLoad()
    
 
    overrideUserInterfaceStyle = .light
   
    
    
    
    firstName.delegate = self
    lastName.delegate = self
    phoneNumber.delegate = self
    area.delegate = self
    
    
    let Tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
    
    view.addGestureRecognizer(Tap)
    

}




@objc func dismissKeyboard() {

    view.endEditing(true)
}




func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    self.view.endEditing(true)
    return false
}


let db = Firestore.firestore()
var ref: DocumentReference? = nil



@IBAction func checkOut(_ sender: UIButton) {
    
    
    
    ref = db.collection("check order").addDocument(data: [
        
        "firstname": firstName.text!,
        "lastname": lastName.text!,
        "area": area.text!,
        "phone": phoneNumber.text!
                   
    ]
    
    )
    
    
    if firstName.text == "" || lastName.text == "" || phoneNumber.text == "" || area.text == "" {
        
  
        let optionMenu = UIAlertController(title: nil, message: "Please complete your infrmation", preferredStyle: .alert)
        

        let cancelAction = UIAlertAction(title: "OK", style: .cancel, handler:
                                            nil)
        optionMenu.addAction(cancelAction)
        
     
        self.present(optionMenu, animated: true, completion: nil)
        
    }
}



}
 

Комментарии:

1. Привет, добро пожаловать в StackOverflow. Что вы подразумеваете под отправкой данных в разные приложения? Вы имеете в виду разные viewcontrollers / классы или разные приложения для iOS?

2. @LucaSfragara эй, я имею в виду другое приложение для iOS

3. @LucaSfragara я думаю, вы поняли идею, но возможно ли получать уведомления, если в firestore сохраняются новые данные?

4. Попробуйте взглянуть на триггеры FireBase firebase.google.com/docs/functions/firestore-events . Дайте мне знать, если ответ, который я опубликовал, полезен.

5. @LucaSfragara да, это полезно, спасибо, но проблема в том, что если firestore получил новый список данных, как я могу отправить его во второе приложение?

Ответ №1:

У вас должно быть первое приложение для загрузки данных в firestore. (просто создайте новый документ для каждой загрузки в списке). Затем во втором приложении выполните запрос по тому же списку и проверьте наличие новых документов. Если есть новые документы, просто принесите их.

Ответ №2:

У вас может быть два разных приложения, которые «разговаривают» с одной и той же Firebase. Просто добавьте приложение в проект Firestore в консоли, загрузите и установите конфигурацию.

Предположим, вы хотите записать данные с помощью App_A и прочитать данные с помощью App_B . Это простой вопрос добавления слушателя (наблюдателя) Firebase в App_B в ту же коллекцию, в которую App_A записывает свои данные.

Смотрите документацию по прослушиванию обновлений в реальном времени

Когда данные записываются из App_A, Firebase отправляет событие в App_B, содержащее записанные данные, чтобы App_B мог их обработать.

Если вы ищете какие-либо данные, просто добавьте прослушиватель в коллекцию, который представит любые данные, которые были добавлены, изменены или удалены.

Если вы хотите прослушать определенные данные, вы можете ограничить результаты, добавив запрос; например, предположим, что ваш пользователь находится в Техасе, и этот пользователь должен получать уведомления только о событиях, которые происходят в Техасе.

App_B добавит прослушиватель к тому же узлу, который App_A также записывает данные, и эти данные должны включать поле для имени состояния; тогда App_B будет прослушивать любые документы, содержащие это имя состояния:

 db.collection("some_collection").whereField("state", isEqualTo: "Texas")
 

Комментарии:

1. я думаю, что нашел то, что мне нужно, это триггеры облачного firestore firebase.google.com/docs/functions/firestore-events но проблема в том, что я новичок в разработке, и я не знаю, как использовать node.js в swift.