Методы и свойства
Методы
Интеграция
(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- Количество непрочитанных сообщений.