2016-08-25 3 views
1

Недавно мне было поручено сделать простое приложение для чата для iOS, используя Swift .. Итак, у меня есть сервер синтаксического анализа, готовый и запущенный! Все, что я хочу знать, это то, как использовать триггеры.Триггеры в Parse Server с использованием Swift

Предположим, я открыл беседу, и я только что получил новое сообщение. Как я могу получить его, не постоянно проверяя новые сообщения? Я видел, что облачный код - это, вероятно, путь, но если это так, это практично? Я имею в виду, если у меня 5000 пользователей, и они постоянно болтают, будет ли она работать хорошо?

Заранее благодарен!

ответ

1

Вы хотите использовать компонент Parse LiveQuery.

  1. Add Live Query to your server's config:

    let api = new ParseServer({ 
        ..., 
        liveQuery: { 
        classNames: ['Test', 'TestAgain'] 
        } 
    }); 
    
    // Initialize a LiveQuery server instance, app is the express app of your Parse Server 
    let httpServer = require('http').createServer(app); 
    httpServer.listen(port); 
    var parseLiveQueryServer = ParseServer.createLiveQueryServer(httpServer); 
    
  2. Установите библиотеку Анализировать LiveQuery как стручок к вашему проекту (pod 'ParseLiveQuery').

  3. Подписаться на события:

    let myQuery = Message.query()!.where("user", equalTo: PFUser.currentUser()!) 
    let subscription: Subscription<Message> = myQuery.subscribe() 
    
  4. Обработка событий:

    subscription.handleEvent { query, event in 
        // Handle event 
        // This callback gets called every time an object is created, updated, deleted etc. 
    } 
    
+0

Я уже пробовал их, но я не мог заставить их работать! События не отвечают вообще. Я думаю, что это очень скоро для публичного использования. –

+0

Я использую его для своего проекта, он отлично работает. Если у вас возникли проблемы с Parse LiveQuery, отправьте другой вопрос, связанный с ним. Но ваш текущий вопрос может быть решён с помощью Parse LiveQuery. Это то, для чего он предназначен. –

+0

Хорошо. Кстати, если оставить Live Queries в стороне, может ли моя проблема быть достигнута облачным кодом? –