Чтобы запустить пример проекта, клонируйте репозиторий и сначала запустите pod install
из каталога примера.
Для запуска тестового приложения нужно:
-Клонировать репозиторий
-Запустить терминал
-Перейти в скаченную дирректорию (в папку Example)
-Выполнить команду pod install
Полный функционал с нашим GUI доступен через CocoaPods.
-Добавьте строчку в Podfile вашего приложения
pod 'UseDesk_SDK_Swift'
-Выполните команду в терминале pod update
-Подключаем библиотеку import UseDesk`
Начиная с версии 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/uapi |
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 идентификаторы значений по уровням вложенности |
AdditionalId | String | Дополнительный идентификатор клиента |
Token | String | Подпись, однозначно идентифицирующая пользователя и его чат на любых устройствах для сохранения истории переписки. (генерирует наша система, ограничение не меньше 64 символа) |
LocaleIdentifier | String | Идентификатор языка. Доступные языки: русский ("ru"), английский ("en"), португальский ("pt"), испанский ("es"). Если переданный идентификатор не поддерживается, будет выбран русский язык. |
CustomLocale | [String : String] | Можно передать свой словарь переводов |
Storage | UDStorage | Хранилище поддерживающее протокол UDStorage. Для каждого отдельного чата нужно передавать свое отдельное хранилище. |
isCacheMessagesWithFile | Bool | Сохранять ли сообщения содержащие файлы |
PresentIn | UIViewController | В каком контроллере открывать |
isSaveTokensInUserDefaults | Bool | Сохранять ли токен юзера ("Token", смотреть выше) в UserDefaults приложения. При занчении "True" позволяет не хранить токены в ваших системах, но он будет храниться только в текущем устройстве. Для доступа к переписке клиента с других устройств и платформ необходимо хранить токен в вашей системе и передавать его при инициализации. В этом случае значение параметра должно быть "False" |
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: "[email protected]", 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"]], additional_id: "additional_id", token: "Token", localeIdentifier: "en", customLocale: customLocaleDictionary, presentIn: self, isSaveTokensInUserDefaults: true, isPresentDefaultControllers: true, connectionStatus: { success, error in
})
let usedesk = UseDeskSDK()
usedesk.start(withCompanyID: "1234567", chanelId: "1234", api_token: "143ed59g90ef093s", email: "[email protected]", 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 | Адрес API. Стандартное значение secure.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 идентификаторы значений по уровням вложенности |
AdditionalId | String | Дополнительный идентификатор клиента |
Token | String | Подпись, однозначно идентифицирующая пользователя и его чат на любых устройствах для сохранения истории переписки. (генерирует наша система, ограничение не меньше 64 символа) |
isSaveTokensInUserDefaults | Bool | Сохранять ли токен юзера ("Token", смотреть выше) в UserDefaults приложения. При занчении "True" позволяет не хранить токены в ваших системах, но он будет храниться только в текущем устройстве. Для доступа к переписке клиента с других устройств и платформ необходимо хранить токен в вашей системе и передавать его при инициализации. В этом случае значение параметра должно быть "False" |
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: "[email protected]", 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"]], additional_id: "additional_id", token: "Token", isSaveTokensInUserDefaults: true, connectionStatus: { (success, error) in
})
Тип | Описание |
---|---|
Bool | Успешность подключения к чату |
UDFeedbackStatus | Статус показа формы обратной связи |
String | Токен пользователя |
Тип | Описание |
---|---|
UDError | Задокументированый тип ошибки |
UDFeedbackStatus | Описание ошибки |
Документация находится по адресу - http://sdk.usedocs.ru/
Сергей, [email protected]
Максим, [email protected]
UseDesk_SDK_Swift is available under the MIT license. See the LICENSE file for more info.