FMPPush

Описание

Класс FMPPush предназначен для работы с push-уведомлениями.

class FMPPush

Свойства

Свойство Описание

service

Сервис push-уведомлений.

var service: FMPPush.Service { get }

token

Текущий токен устройства.
var token: String { get }

Методы

Метод Описание

tokens(completion:)

Получение списка токенов устройств для текущего пользователя.
func tokens(completion: @escaping FMPTokensHandler)

Параметры:

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

topics(completion:) Получение списка тем сообщений, доступных текущему пользователю.
func topics(completion: @escaping FMPTopicsHandler)

Параметры:

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

addToken(completion:) Добавление текущего токена устройства в список доступных пользователю токенов на сервере.
func addToken(completion: @escaping FMPRequestResponseHandler)

Параметры:

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

removeToken(completion:) Удаление текущего токена устройства из списка доступных пользователю токенов на сервере.
func removeToken(completion: @escaping FMPRequestResponseHandler)

Параметры:

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

subscribe(to:completion:) Подписка на сообщения указанных тем.
func subscribe(to topics: [String], completion: @escaping FMPRequestResponseHandler)

Параметры:

  • topics. Массив названий тем сообщений;

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

unsubscribe(from:completion:) Отписка от сообщений указанных тем.
func unsubscribe(from topics: [String], completion: @escaping FMPRequestResponseHandler)

Параметры:

  • topics. Массив названий тем сообщений;

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

copy() Получение экземпляра класса-строителя для копирования FMPPush. Возвращает экземпляр класса-строителя FMPPush.Builder.
func copy() -> FMPPush.Builder

Примеры

Получение списка токенов устройств:

// Построим экземпляр класса FMPPush. Подробнее в примерах к FMPPush.Builder.
let push: FMPPush = fmp.push.build()
  
// Получим список токенов
push.tokens { (success, error, tokens) in
    if success {
        // Выведем идентификаторы токенов
        print(tokens.map {$0.token})
    } else {
        // Выведем код и описание ошибки
        print(error?.code, error?.description)
    }
}

Получение списка тем сообщений:

// Построим экземпляр класса FMPPush. Подробнее в примерах к FMPPush.Builder.
let push: FMPPush = fmp.push.build()
 
// Получим список тем сообщений
push.topics { (success, error, topics) in
    if success {
        // Выведем названия тем
        print(topics.map {$0.name})
    } else {
        // Выведем код и описание ошибки
        print(error?.code, error?.description)
    }
}

Добавление/удаление текущего токена устройства на сервере:

// Построим экземпляр класса FMPPush. Подробнее в примерах к FMPPush.Builder.
let push: FMPPush = fmp.push.build()
 
// Добавим токен устройства на сервер
push.addToken { (response) in
    if response.success {
        // Выведем ответ сервера
        print(response.result)
    } else {
        // Выведем код и описание ошибки
        print(response.error?.code, response.error?.description)
    }
}
  
// Удалим токен устройства с сервера
push.removeToken { (response) in
    if response.success {
        // Выведем ответ сервера
        print(response.result)
    } else {
        // Выведем код и описание ошибки
        print(response.error?.code, response.error?.description)
    }
}

Подписка/отписка на темы сообщений:

// Построим экземпляр класса FMPPush. Подробнее в примерах к FMPPush.Builder.
let push: FMPPush = fmp.push.build()
 
// Подпишемся на несколько тем сообщений
push.subscribe(to: ["topic1","topic2"]) { (response) in
    if response.success {
        // Выведем ответ сервера
        print(response.result)
    } else {
        // Выведем код и описание ошибки
        print(response.error?.code, response.error?.description)
    }
}
 
// Отпишемся от нескольких тем сообщений
push.unsubscribe(from: ["topic1","topic2"]) { (response) in
    if response.success {
        // Выведем ответ сервера
        print(response.result)
    } else {
        // Выведем код и описание ошибки
        print(response.error?.code, response.error?.description)
    }
}

Копирование FMPPush:

// Построим экземпляр класса FMPPush. Подробнее в примерах к FMPPush.Builder.
let push: FMPPush = fmp.push.build()
  
// Скопируем экземпляр класса FMPPush.
let pushCopy: FMPPush = push.copy().build()

См. также:

Фреймворк FMPWrapper | Классы