Методы и свойства
Методы
Интеграция
(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 кастомными параметрами пользователя. Параметры которые будут отображены в общей информации о клиенте:name
,phone
,email
.
Пример:
{
"name": "Name Surname",
"phone": "+7-999-999-99-99",
"email": "e@mail.com",
"customField":"customValue"
}
Состояние
NSInteger unreadMessagesCount
- Количество непрочитанных сообщений.