Methods (Host -> SDK)
Host 애플리케이션에서 'Test Solution' SDK를 제어하기 위해 호출할 수 있는 함수 목록입니다. 이 함수들은 SDK의 동작을 시작하거나 중단시키는 역할을 합니다.
startTest
채팅형 성격 검사를 시작합니다. 이 함수를 호출하면 SDK 화면이 활성화되어 사용자에게 표시됩니다.
함수 호출 시, 테스트에 필요한 필수 및 선택 파라미터를 options 객체에 담아 전달해야 합니다.
Android (Kotlin) 예제
// 필수 값
val requiredOptions = mapOf(
"goodsId" to "[GOODS_ID]",
"suid" to "[SUID]",
"language" to "[LANGUAGE]"
)
// 선택 값
val optionalOptions = mapOf(
"themeColor" to 0xFF6200EE,
"themeMode" to "dark",
"isDevelopment" to true,
"enableHostLogging" to true
)
// options 맵 결합
val testOptions = requiredOptions + optionalOptions
// MethodChannel을 통해 startTest 메소드 호출
channel.invokeMethod("startTest", testOptions)
iOS (Swift) 예제
// 필수 값
var options: [String: Any] = [
"goodsId": "[GOODS_ID]",
"suid": "[SUID]",
"language": "[LANGUAGE]"
]
// 선택 값 추가
options["themeColor"] = 0xFF6200EE
options["themeMode"] = "dark"
options["isDevelopment"] = true
options["enableHostLogging"] = true
// MethodChannel을 통해 startTest 메소드 호출
channel.invokeMethod("startTest", arguments: options)
정보
startTest 함수에 전달할 수 있는 모든 파라미터에 대한 상세 정보는 Parameters 문서를 참고하세요.
quit
현재 진행 중인 테스트를 즉시 강제로 종료하고 SDK 화면을 닫습니다.
이 함수는 사용자가 특정 버튼을 클릭하거나, 앱 내부 로직에 의해 테스트를 중단시켜야 할 때 유용하게 사용할 수 있습니다. quit() 함수가 호출되면 onResult 콜백은 호출되지 않을 수 있습니다.
Android (Kotlin) 예제
// 특정 버튼 클릭 시 테스트 강제 종료
exitButton.setOnClickListener {
channel.invokeMethod("quit")
}
iOS (Swift) 예제
// 특정 버튼 클릭 시 테스트 강제 종료
@IBAction func didTapExitButton(_ sender: UIButton) {
channel.invokeMethod("quit", arguments: nil)
}
getSDKVersion
Host 앱에서 현재 통합된 'Test Solution' SDK의 버전 정보를 확인할 수 있습니다.
getSDKVersion은 별도의 파라미터 없이 호출하며, 문자열(String) 형태의 버전 정보를 반환합니다. (예: "1.2.3+10203")
호출 예시
Android (Kotlin)
// MethodChannel을 통해 getSDKVersion 호출
methodChannel.invokeMethod("getSDKVersion", null, object : MethodChannel.Result {
override fun success(result: Any?) {
val sdkVersion = result as? Map<*, *>
Log.d("MyHostApp", "Test Solution SDK Version: ${sdkVersion.toString()}")
// sdkVersion 변수를 사용하여 필요한 로직 처리
}
override fun error(errorCode: String, errorMessage: String?, errorDetails: Any?) {
Log.e("MyHostApp", "Failed to get SDK version: $errorMessage")
}
override fun notImplemented() {
Log.e("MyHostApp", "getSDKVersion not implemented")
}
})
iOS (Swift)
// FlutterMethodChannel을 통해 getSDKVersion 호출
self.flutterChannel.invokeMethod("getSDKVersion", arguments: nil) { (result) in
if let sdkVersion = result as? [String: Any] {
print("Test Solution SDK Version: \(sdkVersion)")
// sdkVersion 변수를 사용하여 필요한 로직 처리
} else if let error = result as? FlutterError {
print("Failed to get SDK version: \(error.message ?? "Unknown error")")
}
}