mirror of
https://github.com/hub-team/OnlineChatSdk-SwiftPM.git
synced 2026-04-14 16:53:52 +00:00
Update README.md
This commit is contained in:
144
README.md
144
README.md
@@ -1,28 +1,140 @@
|
||||
# OnlineChatSdk
|
||||
|
||||
[](https://travis-ci.org/bekannax/OnlineChatSdk)
|
||||
# OnlineChatSdk-Swift
|
||||
[](https://cocoapods.org/pods/OnlineChatSdk)
|
||||
[](https://cocoapods.org/pods/OnlineChatSdk)
|
||||
[](https://cocoapods.org/pods/OnlineChatSdk)
|
||||
|
||||
## Example
|
||||
## Добавление в проект
|
||||
|
||||
To run the example project, clone the repo, and run `pod install` from the Example directory first.
|
||||
|
||||
## Requirements
|
||||
|
||||
## Installation
|
||||
|
||||
OnlineChatSdk is available through [CocoaPods](https://cocoapods.org). To install
|
||||
it, simply add the following line to your Podfile:
|
||||
|
||||
```ruby
|
||||
pod 'OnlineChatSdk'
|
||||
|
||||
## Получение id
|
||||
Перейдите в раздел «Настройки - Установка» и скопируйте значение переменной id.
|
||||

|
||||
|
||||
## Пример использования
|
||||
Добавьте свой **ViewController** с суперклассом `ChatController`.
|
||||
```swift
|
||||
class MyController: ChatController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
load("<Ваш id>", "<Домен вашего сайта>")
|
||||
}
|
||||
}
|
||||
```
|
||||
Так же при загрузке можно указать **language** и **clientId**.
|
||||
```swift
|
||||
load("<Ваш id>", "<Домен вашего сайта>", "en", "newClientId")
|
||||
```
|
||||
|
||||
## Author
|
||||
## События
|
||||
* **operatorSendMessage** - оператор отправил сообщение посетителю.
|
||||
* **clientSendMessage** - посетитель отправил сообщение оператору.
|
||||
* **clientMakeSubscribe** - посетитель заполнил форму.
|
||||
* **contactsUpdated** - посетитель обновил информацию о себе.
|
||||
* **sendRate** - посетитель отправил новый отзыв.
|
||||
* **clientId** - уникальный идентификатор посетителя.
|
||||
|
||||
bekannax, bekannax@gmail.com
|
||||
Для каждого события есть персональный обработчик.
|
||||
```swift
|
||||
override func onOperatorSendMessage(_ data: NSDictionary) {
|
||||
|
||||
}
|
||||
|
||||
override func onClientSendMessage(_ data: NSDictionary) {
|
||||
|
||||
}
|
||||
|
||||
override func onClientMakeSubscribe(_ data: NSDictionary) {
|
||||
|
||||
}
|
||||
|
||||
override func onContactsUpdated(_ data: NSDictionary) {
|
||||
|
||||
}
|
||||
|
||||
override func onSendRate(_ data: NSDictionary) {
|
||||
|
||||
}
|
||||
|
||||
override func onClientId(_ clientId: String) {
|
||||
|
||||
}
|
||||
```
|
||||
Или можно задать один обработчик на все события.
|
||||
```swift
|
||||
override func onEvent(_ name: String, _ data: NSDictionary) {
|
||||
switch name {
|
||||
case ChatController.event_operatorSendMessage:
|
||||
break
|
||||
case ChatController.event_clientSendMessage:
|
||||
break
|
||||
case ChatController.event_clientMakeSubscribe:
|
||||
break
|
||||
case ChatController.event_contactsUpdated:
|
||||
break
|
||||
case ChatController.event_sendRate:
|
||||
break
|
||||
case ChatController.event_clientId:
|
||||
break
|
||||
case ChatController.method_getContacts:
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Методы
|
||||
* **setClientInfo** - изменение информации о посетителе.
|
||||
* **setTarget** - пометить посетителя целевым.
|
||||
* **openReviewsTab** - отобразить форму для отзыва.
|
||||
* **openTab** - отобразить необходимую вкладку.
|
||||
* **sendMessage** - отправка сообщения от имени клиента.
|
||||
* **receiveMessage** - отправка сообщения от имени оператора.
|
||||
* **setOperator** - выбор любого оператора.
|
||||
* **getContacts** - получение контактных данных.
|
||||
|
||||
```swift
|
||||
callJsSetClientInfo("{name: \"Имя\", email: \"test@mail.ru\"")
|
||||
|
||||
callJsSetTarget("reason")
|
||||
|
||||
callJsOpenReviewsTab()
|
||||
|
||||
callJsOpenTab(1)
|
||||
|
||||
callJsSendMessage("Здравствуйте! У меня серьёзная проблема!")
|
||||
|
||||
callJsReceiveMessage("Мы уже спешим на помощь ;)", "", 2000)
|
||||
|
||||
callJsSetOperator("Логин оператора")
|
||||
|
||||
callJsGetContacts() // результат прилетает в getContactsCallback
|
||||
override func getContactsCallback(_ data: NSDictionary) {
|
||||
|
||||
}
|
||||
```
|
||||
Подробное описание методов можно прочесть в разделе «Интеграция и API - Javascript API».
|
||||
|
||||
## Получение token
|
||||
Перейдите в раздел «Интеграция и API - REST API», скопируйте существующий token или добавьте новый.
|
||||

|
||||
|
||||
## ChatApi
|
||||
**getNewMessages** - получение новых сообщений от оператора.
|
||||
|
||||
```swift
|
||||
ChatApi.getNewMessages("<TOKEN>", "<clientId>")
|
||||
{(result) in
|
||||
if result?["error"] != nil {
|
||||
print("error : \(String(describing: result?["error"]))")
|
||||
} else {
|
||||
print("result : \(result.debugDescription)")
|
||||
}
|
||||
}
|
||||
```
|
||||
Подробное описание можно прочесть в разделе «Интеграция и API - REST API - Инструкции по подключению».
|
||||
|
||||
## License
|
||||
|
||||
|
||||
Reference in New Issue
Block a user