Перейти к основному содержимому
Версия: 4.38.0

Методы и свойства

Методы

Интеграция

  • (void)configureTransportProtocolWithDelegate:(id<ThreadsDelegate> _Nullable)delegate webSocketURL:(NSURL *)webSocketURL providerUid:(NSString *)providerUid historyURL:(NSURL *)historyURL fileUploadingURL:(NSURL *)fileUploadingURL - стартовая конфигурация Threads с веб-сокет транспортным протоколом, необходимо вызывать в AppDelegate. Параметры:
    • delegate - Делегат Threads. Обычно AppDelegate.
    • webSocketURL - URL подключения к сокету
    • providerUid - идентификатор приложения
    • historyURL - URL загрузки истории
    • fileUploadingURL - URL загрузки файлов
  • (void)configureWithDelegate:(id<ThreadsDelegate> _Nullable)delegate productionMFMSServer:(BOOL)productionMFMSServer historyURL:(NSURL *)historyURL fileUploadingURL:(NSURL *)fileUploadingURL -
  • (void)registerApplicationForRemoteNotificationsStandartOptionsWithAuthorizationStatusDenied:(void (^)(void))authorizationStatusDenied completionHandler:(THRRemoteNotificationsRegistrationCompletion _Nonnull)completionHandler - Регистрация приложения на APNS сервере. Параметры:
    • authorizationStatusDenied - Блок обработки отказа пользователя от приема PUSH уведомлений.
    • completionHandler - Блок завершения регистрации приложения на APNS сервере.

Методы регистрации и обработки уведомлений

Методы регистрации и обработки уведомлений, должны быть вызваны только в соответсвующих методах AppDelegate.

- (void)applicationDidRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings;
- (void)applicationDidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

Создание экрана чата

  • (UIViewController *)chatViewControllerWithAttributes:(THRAttributes *)attributes - создание viewController чата, с заданными атрибутами
  • (UIViewController *)chatViewControllerWithAttributes:(THRAttributes *)attributes completionHandler:(THROperationCompletion _Nullable)completionHandler - создание viewController чата, с заданными атрибутами и обработчиком успешности инициализации чата

Инструменты

  • (NSString *)version - Возвращает версию библиотеки Threads
  • (void)clearCachedFiles - Очистить локальный кэш картинок
  • (BOOL)isThreadsOriginPushUserInfo:(NSDictionary *)userInfo - Проверка, принадлежит ли Push уведомление Threads.
  • (NSString *)getAppMarkerFromPushUserInfo:(NSDictionary *)userInfo - Извлечь APP_MARKER из Push уведомления

Программная отправка сообщений

  • (void)sendMessageWithText:(NSString *)text completion:(nullable THROperationCompletion)completion - Отправка текстового сообщения
  • (void)sendMessageWithImage:(UIImage *)image completion:(nullable THROperationCompletion)completion - Отправка изображения

ThreadsDelegate

  • (void)threads:(Threads *)threads unreadMessagesCount:(NSUInteger)unreadMessagesCount - получение количества непрочитанных сообщений
  • (void)threads:(Threads *)threads didReceiveError:(NSError *)error - получение ошибок в работе Threads
  • (void)threads:(Threads *)threads didChangeDeviceAddress:(NSString *)deviceAddress; - оповещение об изменении deviceAddress, в том числе при первом его получении после успешной регистрации пушей

Свойства

Конфигурация

  • id <ThreadsDelegate> delegate - Делегат Threads. Обычно AppDelegate.
  • BOOL isClientIdEncrypted - Флаг указывающий что CLIENT_ID передается в зашифрованном виде.
  • BOOL isShowsNetworkActivity - Параметр для показа сетевой активности в статус-баре.
  • NSInteger fileSizeLimit - Ограничение на размер загружаемого файла в байтах.
  • THRAttributes *attributes - Настройки поведения и отображения чата. Документация.

Клиент

  • NSString *clientId - Текущий установленный CLIENT_ID.
  • NSString *clientName - Имя текущего клиента.
  • NSString *appMarker - Маркер приложения (используется для подключения нескольких приложений к одному серверу или реализации нескольких чатов в одном приложении).
  • NSString *clientSignature - Подпись авторизации CLIENT_ID. Подпись должна быть сгенерирована на вашем сервере на основе CLIENT_ID с использованием закрытого ключа RSA, затем зашифрована в Base64.
  • NSString *data - Json строка, c кастомными параметрами пользователя. Параметры которые будут отображены в общей информации о клиенте: namephoneemail.

Пример:

    {
"name": "Name Surname",
"phone": "+7-999-999-99-99",
"email": "e@mail.com",
"customField":"customValue"
}

Состояние

  • NSInteger unreadMessagesCount - Количество непрочитанных сообщений.