Channel Developers

이 문서는 채널톡 iOS SDK(이하 SDK)의 ChannelIO에 대해서 설명합니다.

매개변수

타입

필수 여부

설명

application

UIApplication

O

Application 객체입니다.

ChannelIO 객체를 초기화 합니다. SDK의 메서드를 사용하기에 앞서 ChannelIO 초기화 과정이 필요합니다.

Swift
Objective-C

SceneDelegate를 사용하는 경우에 필요합니다. UIWindowScene으로 ChannelWindow를 반환합니다. 클래스 변수로 ChannelIO 용 변수를 선언합니다. 아래 예시에서는 channelWindow 입니다.

매개변수

타입

필수 여부

설명

windowScene

UIWindow

O

UIWindowScene 객체입니다.

Swift
Objective-C

ChannelIO에 발생하는 이벤트의 대리자입니다.

Swift
Objective-C

SDK를 사용하기 위해 필요한 정보를 로드합니다. 부트를 성공한 이후에는 채널톡의 기능을 사용할 준비를 마칩니다. 더 자세한 내용은 부트라이프 사이클을 참고합니다.

매개변수

타입

필수 여부

설명

config

CHTBootConfig

O

부트 설정입니다.플러그인 키,채널톡 버튼 위치 등을 설정합니다.

completion

((CHTBootStatus, CHTUser?) -> Void)?

X

부트 상태와 유저 정보를 반환합니다.

Swift
Objective-C

시스템 푸시 알림 수신과 track을 제외한 모든 기능을 비활성화 합니다. 채널톡 서버와의 소켓 통신이 끊기기 때문에 실시간 기능 (채팅, 마케팅 팝업 등) 사용이 불가능합니다. 더 자세한 안내는 라이프 사이클을 참조합니다.

Swift
Objective-C

SDK와 채널과의 연결을 끊습니다. SDK의 모든 기능 사용이 중단됩니다. 더 자세한 안내는 라이프 사이클을 참조합니다.

Swift
Objective-C

전역 화면에 채널 버튼을 표시합니다.

Swift
Objective-C

전역 화면에서 채널 버튼을 숨깁니다.

Swift
Objective-C

메신저를 표시합니다.

Swift
Objective-C

메신저를 닫습니다.

Swift
Objective-C

유저챗을 엽니다. 새로운 상담을 열거나, 기존에 존재하는 유저챗을 열 수 있습니다.

매개변수

타입

필수 여부

설명

chatId

String?

X

채팅의 ID 입니다.chatId가 유효하지 않거나,nil 인 경우 새로운 유저챗을 엽니다.

message

String?

X

새로 채팅을 여는 경우,메시지 입력창에 미리 입력되어 있는 메시지입니다.chatId가 nil인 경우 유효합니다.

Swift
Objective-C

해당 API는 Deprecated 되었습니다. openWorkflow를 사용해 주세요.

서포트봇에 대한 지원 종료로 인해 해당 API는 Deprecated 되었으며, 해당 API는 openWorkflow SDK API와 같은 동작을 수행하게 됩니다. message 인자는 무시됩니다.

유저챗을 열어 특정 서포트봇을 실행합니다.

매개변수

타입

필수 여부

설명

supportBotId

String?

X

서포트봇의 ID 입니다.supportBotId가 유효하지 않거나,nil 인 경우 채팅방을 닫습니다.

message

String?

X

서포트봇 동작을 완료한 후 입력창에 표시될 메시지입니다.

Swift
Objective-C

유저챗을 열며 특정 워크플로우를 실행합니다.

  • 워크플로우 트리거가

    “채널톡 버튼에서 새 상담을 시작할 때”

    로 설정된 경우에만 가능합니다.

  • workflowId 인자로 전달한 값에 대응하는 워크플로우가 존재하면 해당 워크플로우가 실행됩니다. 만약 workflowId를 전달하지 않으면 아무런 동작이 수행되지 않습니다.

  • 전달한 workflowId에 대응하는 워크플로우가 존재하지 않으면 에러페이지가 보여집니다.

Swift
Objective-C

parameter

type

required

description

workflowId

String?

X

워크플로우의 ID입니다.

유저의 이벤트를 트래킹합니다. 더 자세한 안내는 이벤트 트래킹 문서를 참조합니다.

매개변수

타입

필수 여부

설명

eventName

String

O

트래킹할 이벤트 이름입니다.최대 64자 입니다.

eventProperty

[String: Any]?

X

이벤트에 대한 추가 정보입니다.

Swift
Objective-C

track 이 호출 될 때의 화면 이름과, 유저챗 프로필을 설정합니다. setPage 보다 먼저 track 을 호출하는 경우 이벤트에 페이지 정보가 반영되지 않습니다.

매개변수

타입

필수 여부

설명

page

String?

X

track이 호출 될 때의 화면 이름입니다. `.track(nil)` 을 호출하는 경우 이벤트의 페이지가 `null`로 설정됩니다.

profile

[String: Any]

X

유저챗 프로필 값. - profile 객체 내부의 특정 필드에 nil을 전달할 경우, 해당 필드의 값은 제거되어 적용 됩니다. - 설정된 유저챗 프로필은 유저챗이 생성될 때 적용됩니다.

Swift
Objective-C

setPage에 의해 설정된 화면 이름과, 유저챗 프로필을 초기화 합니다. 기본 설정은 track을 호출하는 ViewController의 이름입니다.

Swift
Objective-C

표시되고 있는 팝업을 숨깁니다.

Swift
Plaintext
[ChannelIO hidePopup];

유저 정보를 수정합니다.

매개변수

타입

필수 여부

설명

userData

[String: Any?]

O

수정할 유저 정보입니다.

completion

((Bool, User?) -> Void)?

X

유저 정보 수정 결과를 반환합니다.

Swift
Objective-C

유저에게 태그를 추가합니다.

매개변수

타입

필수 여부

설명

tags

[String]

O

• 추가할 수 있는 태그의 최대 개수는 10개입니다. • 태그는 소문자로 변환되어 저장됩니다. • 이미 추가된 태그는 무시됩니다. • nil이나 빈 문자열, 혹은 이를 포함하는 리스트는 허용하지 않습니다.

completion

((Error?, User?) -> Void)?

X

태그를 추가한 결과로 User를 반환합니다. 추가에 실패한 경우 에러를 반환합니다.

Swift
Objective-C

유저의 태그를 제거합니다. 존재하지 않는 태그는 무시합니다.

매개변수

타입

필수 여부

설명

tags

[String]

O

제거할 태그입니다. • null이나 빈 문자열, 혹은 이를 포함하는 리스트는 허용하지 않습니다.

completion

((Error?, User?) -> Void)?

X

태그를 제거한 결과로 User를 반환합니다. 제거에 실패한 경우 에러를 반환합니다.

Swift
Objective-C

디바이스 토큰에 대한 변경 사항을 채널톡에 전달합니다.

매개변수

타입

필수 여부

설명

deviceToken

Data

O

푸시 알림을 받기 위한 deviceToken입니다.

Swift
Objective-C

SDK가 처리해야 하는 푸시 데이터인지 확인합니다.

매개변수

타입

필수 여부

설명

_

[AnyHashable: Any]

O

푸시 알림으로 받은 userInfo 객체입니다.

Swift
Objective-C

채널톡에 유저가 푸시 알림을 받았음을 전달합니다.

Swift
Objective-C

디바이스에 푸시 정보를 저장합니다.

Swift
Objective-C

디바이스에 저장된 채널 푸시 정보가 있는지 확인합니다.

Swift
Objective-C

storePushNotification을 통해 디바이스에 저장 된 푸시 정보를 이용하여 유저챗을 엽니다.

Swift
Objective-C

부트가 된 상태인지 확인합니다.

Swift
Objective-C

디버그 모드를 설정합니다. true로 설정한 경우 로그 메시지가 표시됩니다.

Plaintext
ChannelIO.setDebugMode(with: true)
Objective-C

SDK의 테마를 설정합니다.

매개변수

타입

필수 여부

설명

appearance

CHTAppearance

O

.light와.dark 로 명시하는 경우 해당 속성으로 테마를 고정합니다..system 인 경우 기기의 시스템 테마를 따릅니다.

Swift
Objective-C

setAppearance으로 변경 되었습니다.

SDK의 테마를 설정합니다.

매개변수

타입

필수 여부

설명

appearance

CHTAppearance

O

.light와.dark 로 명시하는 경우 해당 속성으로 테마를 고정합니다..system 인 경우 기기의 시스템 테마를 따릅니다.

Swift
Objective-C