Чтобы запустить пример проекта, клонируйте репозиторий и сначала запустите pod install из каталога примера.
Для запуска тестового приложения нужно:
-Клонировать репозиторий
-Запустить терминал
-Перейти в скаченную дирректорию (в папку Example)
-Выполнить команду pod install
Полный функционал с нашим GUI доступен через CocoaPods.
-Добавьте строчку в Podfile вашего приложения
pod 'UseDesk_SDK_Swift'-Выполните команду в терминале pod update
-Подключаем библиотеку import UseDesk`
.package(url: "https://github.com/usedesk/UseDeskSwift.git", from: "2.1.0")Начиная с версии 2.0.0 мы заменяем параметр signature на token. Токен выдается в коллбэке после инициализации чата и привязывается к связке почта-телефон-имя пользователя. Для идентификации различных пользователей на одном устройстве вы должны хранить и передавать полученный токен в метод инициализации.
В параметре Url вместо pubsub.usedesk.ru нужно указывать pubsubsec.usedesk.ru
| Переменная | Тип | Описание |
|---|---|---|
| CompanyID* | String | Идентификатор компании. Как найти описано в документации |
| ChanelId* | String | Идентификатор канала (добавлен в v1.1.5). Как найти описано в документации |
| UrlAPI* | String | Адрес API. Стандартное значение secure.usedesk.ru/ |
| Knowledge Base ID | String | Идентификатор базы знаний. Если не указан, база знаний не используется |
| API Token* | String | Личный API ключ |
| String | Почта клиента | |
| Phone | String | Телефон клиента |
| Url* | String | Адрес сервера в формате - pubsubsec.usedesk.ru |
| UrlToSendFile | String | Адрес для отправки файлов. Стандартное значение https://secure.usedesk.ru/uapi/v1/send_file |
| Port | String | Порт сервера |
| Name | String | Имя клиента |
| NameOperator | String | Имя оператора |
| NameChat | String | Имя чата. Отображается в шапке |
| FirstMessage | String | Автоматическое сообщение. Отправиться сразу после иницилизации от имени клиента |
| Note | String | Текст заметки |
| AdditionalFields | [Int : String] | Массив дополнительный полей в формате - id : "значение". Для текстовых полей значение - строка, для списка - строка с точно совпадающим значением списка, для флага - строка "false" или "true" |
| AdditionalNestedFields | [[Int : String]] | Массив допл полей типа вложенный список. Каждый подмассив представляет один вложенный список. Формат фложенного списка - [id1: "значение", id2 : "значение", id3 : "значение"], где id1, id2, id3 идентификаторы значений по уровням вложенности |
| Token | String | Подпись, однозначно идентифицирующая пользователя и его чат на любых устройствах для сохранения истории переписки. (генерирует наша система, ограничение не меньше 64 символа) |
| LocaleIdentifier | String | Идентификатор языка. Доступные языки: русский ("ru"), английский ("en"), португальский ("pt"), испанский ("es"). Если переданный идентификатор не поддерживается, будет выбран русский язык. |
| CustomLocale | [String : String] | Можно передать свой словарь переводов |
| Storage | UDStorage | Хранилище поддерживающее протокол UDStorage. Для каждого отдельного чата нужно передавать свое отдельное хранилище. |
| isCacheMessagesWithFile | Bool | Сохранять ли сообщения содержащие файлы |
| PresentIn | UIViewController | В каком контроллере открывать |
| isPresentDefaultControllers | Bool | Показывать ли контроллеры автоматически в указанном родительском контроллере |
| isUseBase | Bool | Начиная с версии 0.3.19 не используется |
| Signature | String | Начиная с версии 2.0.0 не используется |
* - обязательный параметр
| Тип | Описание |
|---|---|
| Bool | Успешность подключения к чату |
| UDFeedbackStatus | Статус показа формы обратной связи |
| String | Токен пользователя |
| Тип | Описание |
|---|---|
| UDError | Задокументированый тип ошибки |
| UDFeedbackStatus | Описание ошибки |
let usedesk = UseDeskSDK()
usedesk.start(withCompanyID: "1234567", chanelId: "1234", knowledgeBaseID: "1", api_token: "143ed59g90ef093s", email: "lolo@yandex.ru", phone: "89000000000", url: "pubsubsec.usedesk.ru", urlToSendFile: "https://secure.usedesk.ru/uapi/v1/send_file", port: "213", name: "Name", operatorName: "NameOperator", nameChat: "NameChat", firstMessage: "message", note: "Note text", additionalFields: [1 : "value"], additionalNestedFields: [[1 : "value1", 2 : "value2", 3 : "value3"]], token: "Token", localeIdentifier: "en", customLocale: customLocaleDictionary, presentIn: self, isPresentDefaultControllers: true, connectionStatus: { success, error in
})let usedesk = UseDeskSDK()
usedesk.start(withCompanyID: "1234567", chanelId: "1234", api_token: "143ed59g90ef093s", email: "lolo@yandex.ru", phone: "89000000000", url: "pubsubsec.usedesk.ru", urlToSendFile: "https://secure.usedesk.ru/uapi/v1/send_file", port: "213", name: "Name", operatorName: "NameOperator", nameChat: "NameChat", firstMessage: "message", note: "Note text", token: "Token", localeIdentifier: "en", customLocale: customLocaleDictionary, connectionStatus: { success, error in
})- Выполняем операцию инициализации чата параметрами без GUI:
| Переменная | Тип | Описание |
|---|---|---|
| CompanyID* | String | Идентификатор компании. Как найти описано в документации |
| ChanelId* | String | Идентификатор канала (добавлен в v1.1.5). Как найти описано в документации |
| UrlAPI* | String | Адрес - devsecure.usedesk.ru/uapi |
| API Token* | String | Личный API ключ |
| Url* | String | Адрес сервера в формате - pubsubsec.usedesk.ru |
| Knowledge Base ID | String | Идентификатор базы знаний. Если не указан, база знаний не используется |
| String | Почта клиента | |
| Phone | String | Телефон клиента |
| UrlToSendFile | String | Адрес для отправки файлов. Стандартное значение https://secure.usedesk.ru/uapi/v1/send_file |
| Port | String | Порт сервера |
| Name | String | Имя клиента |
| NameOperator | String | Имя оператора |
| NameChat | String | Имя чата. Отображается в шапке |
| FirstMessage | String | Автоматическое сообщение. Отправиться сразу после иницилизации от имени клиента |
| Note | String | Текст заметки |
| AdditionalFields | [Int : String] | Массив дополнительный полей в формате - id : "значение". Для текстовых полей значение - строка, для списка - строка с точно совпадающим значением списка, для флага - строка "false" или "true" |
| AdditionalNestedFields | [[Int : String]] | Массив допл полей типа вложенный список. Каждый подмассив представляет один вложенный список. Формат фложенного списка - [id1: "значение", id2 : "значение", id3 : "значение"], где id1, id2, id3 идентификаторы значений по уровням вложенности |
| Token | String | Подпись, однозначно идентифицирующая пользователя и его чат на любых устройствах для сохранения истории переписки. (генерирует наша система, ограничение не меньше 64 символа) |
| isUseBase | Bool | Начиная с версии 0.3.19 не используется |
| Signature | String | Начиная с версии 2.0.0 не используется |
* - обязательный параметр
let usedesk = UseDeskSDK()
usedesk.startWithoutGUICompanyID(companyID: "1234567", chanelId: "1234", knowledgeBaseID: "1", api_token: "143ed59g90ef093s", email: "lolo@yandex.ru", phone: "89000000000", url: "pubsubsec.usedesk.ru", urlToSendFile: "https://secure.usedesk.ru/uapi/v1/send_file", port: "213", name: "Name", operatorName: "NameOperator", nameChat: "NameChat", firstMessage: "message", note: "Note text", additionalFields: [1 : "value"], additionalNestedFields: [[1 : "value1", 2 : "value2", 3 : "value3"]], token: "Token", connectionStatus: { (success, error) in
})| Тип | Описание |
|---|---|
| Bool | Успешность подключения к чату |
| UDFeedbackStatus | Статус показа формы обратной связи |
| String | Токен пользователя |
| Тип | Описание |
|---|---|
| UDError | Задокументированый тип ошибки |
| UDFeedbackStatus | Описание ошибки |
Документация находится по адресу - http://sdk.usedocs.ru/
Сергей, kon.sergius@gmail.com
Максим, ixotdog@gmail.com
UseDesk_SDK_Swift is available under the MIT license. See the LICENSE file for more info.