NowChatSdkCallbacks 인터페이스 - Android

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기4분
  • NowChatSdkCallbacks 인터페이스는 호스트 애플리케이션이 NowChatSDK의 작업을 구성하거나 처리할 수 있도록 콜백을 활성화하는 함수를 제공합니다.

    표 1. 속성
    이름 유형 설명
    isFileCollectionBlocked 부울 호스트 애플리케이션이 NowChat에서 파일 선택기를 열지 못하도록 차단해야 하는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 파일 선택기가 열리지 않도록 합니다.
    • false: 파일 선택기를 열 수 있습니다.
    isGalleryCollection차단됨 부울 호스트 응용 프로그램이 NowChat에서 사진 갤러리를 열지 못하도록 해야 하는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 사진 갤러리가 열리지 않도록 합니다.
    • false: 사진 갤러리를 열 수 있습니다.
    isLocationCollectionBlocked 부울 호스트 애플리케이션이 NowChat이 지리적 위치 위치에 액세스하지 못하도록 차단해야 하는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 지리적 위치 지정에 대한 액세스를 차단합니다.
    • false: 지리적 위치 지정에 대한 액세스를 차단하지 않습니다.
    isPhotoCollection 차단됨 부울 호스트 애플리케이션이 NowChat의 카메라 액세스를 차단해야 하는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 카메라에 대한 액세스를 차단합니다.
    • false: 카메라에 대한 액세스를 차단하지 않습니다.

    NowChatSdkCallbacks - loadUri(uri: Uri, context: Context)

    웹 보기, 사용자 지정 탭 또는 외부 브라우저에서 여는 것과 같이 지정된 URI를 처리합니다.

    표 2. 매개변수
    이름 유형 설명
    uri Uri 열 URI입니다.
    컨텍스트 컨텍스트 애플리케이션 컨텍스트입니다.
    표 3. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    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이 종료될 때 반환할 결과 코드를 설정합니다.

    이 콜백은 전체 화면 채팅이 닫히고 사용자가 호스트 애플리케이션으로 다시 반환될 때 호출됩니다.

    표 4. 매개변수
    이름 유형 설명
    exitCode NowChatExit코드 NowChat을 종료하는 이유입니다.
    유효한 값은 다음과 같습니다.
    • ChatPluginNotInstalledError: 채팅 플러그인이 인스턴스에 설치되지 않았습니다.
    • SessionInitializationError: 인스턴스로 세션을 초기화할 수 없습니다.
    • UserExit: 사용자가 위로 단추 또는 뒤로 단추를 사용하여 종료했습니다.
    • 알 수 없음: 알 수 없는 이유입니다.
    표 5. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    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(context: Context)

    NowChat UI 데이터가 로드 중일 때 표시할 뷰를 반환합니다. 일반적으로 구성된 확정되지 않은 진행률 표시줄입니다.

    표 6. 매개변수
    이름 유형 설명
    컨텍스트 컨텍스트 뷰를 생성하는 데 사용할 애플리케이션 컨텍스트입니다.
    표 7. 반환
    유형 설명
    보기 로드할 때 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
      }
    }