NowChatSdkCallbacks 인터페이스 - Android
NowChatSdkCallbacks 인터페이스는 호스트 애플리케이션에 대한 콜백을 활성화하여 NowChatSDK에서 작업을 구성하거나 처리하는 기능을 제공합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| isFileCollectionBlocked | 부울 | 호스트 애플리케이션이 NowChat에서 파일 선택기를 열지 못하도록 해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
| isGalleryCollectionBlocked | 부울 | 호스트 애플리케이션이 NowChat에서 사진 갤러리를 열지 못하도록 차단해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
| isLocationCollectionBlocked | 부울 | 호스트 애플리케이션이 NowChat이 지리적 위치 지정에 접근하는 것을 차단해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
| isPhotoCollection 차단됨 | 부울 | 호스트 애플리케이션이 NowChat의 카메라 접근을 차단해야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
NowChatSdkCallbacks - didEndSessionWithId(sessionId: 문자열)
채팅 화면이 닫히고 채팅 세션이 종료될 때 호출됩니다.
주:
함수를 재정의하여 이 콜백에 대해 원하는 기능을 정의해야 하며, 기본 구현은 로그에 "채팅 세션이 종료$sessionId." 메시지를 작성하기만 하면 됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| sessionId | 문자열 | 종료된 세션의 Sys_id입니다. 테이블: 대화 세션 [sys_cs_session] |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 기본 기능을 재정의하기 위해 코드를 배치할 위치를 보여 줍니다.
class SampleNowChatSDKCallbacks : NowChatSdkCallbacks {
override fun didEndSessionWithId(sessionId: String) {
Log.i("NowChat", "Chat session $sessionId ended.")
}
//override other methods
}
NowChatSdkCallbacks - loadUri(uri: Uri, context: Context)
지정된 URI를 처리합니다(예: 웹 뷰, 사용자 지정 탭 또는 외부 브라우저에서 열기).
| 이름 | 유형 | 설명 |
|---|---|---|
| uri | Uri | 열 URI입니다. |
| 컨텍스트 | 컨텍스트 | 애플리케이션 컨텍스트 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
class SampleNowChatSDKCallbacks : NowChatSdkCallbacks {
override fun loadUri(uri: Uri, context: Context) {
// Open the uri in a webview
val webview = WebView(context)
webview.loadUrl(uri.toString())
}
// Override other methods
}
NowChatSdkCallbacks - onExit(exitCode: NowChatExitCode)
NowChat이 종료될 때 반환할 결과 코드를 설정합니다.
이 콜백은 전체 화면 채팅이 닫히고 사용자가 호스트 애플리케이션으로 다시 반환될 때 호출됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| exitCode | NowChatExitCode | NowChat을 종료하는 이유입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
class SampleNowChatSDKCallbacks : NowChatSdkCallbacks {
override fun onExit(exitCode: NowChatExitCode) {
when (exitCode) {
NowChatExitCode.UserExit -> Log.i("NowChat", "User exited using the up button or back button")
NowChatExitCode.SessionInitializationError -> Log.i("NowChat", "Unable to initialize session with instance")
NowChatExitCode.ChatPluginNotInstalledError -> Log.i("NowChat", " Chat plugin not installed on instance.")
NowChatExitCode.Unknown -> Log.i("NowChat", "User exited for Unknown reason")
}
}
// Override other methods
}
NowChatSdkCallbacks - provideProgressView(컨텍스트: 컨텍스트)
NowChat UI 데이터가 로드될 때 표시할 뷰를 반환합니다. 일반적으로 구성되지 않은 확정되지 않은 진행률 표시줄입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 컨텍스트 | 컨텍스트 | 뷰를 생성하는 데 사용할 애플리케이션 컨텍스트입니다. |
| 유형 | 설명 |
|---|---|
| 보기 | 로드 시 NowChat 서비스가 사용하는 뷰입니다. |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
class SampleNowChatSDKCallbacks : NowChatSdkCallbacks {
override fun provideProgressView(context: Context): View? {
return ProgressBar(context).apply {
indeterminateTintList = ColorStateList.valueOf(
MaterialColors.getColor(
context,
android.R.attr.colorPrimary,
Color.BLACK)
)
}
// Override other methods
}
}