비속어 필터 기능

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 :
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :
    public void Initialize1()
    {
    if (filterManager.LoadInvalidString())
    {
    Debug.Log(“성공했습니다.”);
    }
    else
    {
    Debug.LogError(“실패했습니다.”);
    }
    }
    해당 코드를 호출하였으나 실패로그가 발생합니다.
    sdk추가 후 추가 설정이 필요한 것이 있을까요?
    뒤끝 리소스폴더 내에 json파일이 정상적으로 있는것은 확인하였습니다.

jsonFileContents Exception Object reference not set to an instance of an object
UnityEngine.Debug:LogError (object)
TheBackend.ToolKit.InvalidFilter.FilterManager:LoadInvalidString (string)
TheBackend.ToolKit.InvalidFilter.FilterManager:LoadInvalidString ()
BackendManager:Initialize1 ()

안녕하세요 개발자님,
남겨주신 정보상 비속어 목록 로드 과정에서 null 객체를 참조하며 예외가 발생하고 있는 것으로 확인됩니다.

정확한 문제 확인을 위해 TheBackend.ToolKit.InvalidFilter.FilterManager filterManager = new(); 를 포함한 비속어 필터 초기화 전체 코드 흐름을 공유해 주실 수 있을까요?

using TheBackend.ToolKit.InvalidFilter;
public FilterManager filterManager = new();
    public void Initialize1()
    {
        if (filterManager.LoadInvalidString())
        {
            Debug.Log("성공했습니다.");
        }
        else
        {
            Debug.LogError("실패했습니다.");
        }
    }
        if (!Backend.IsInitialized)
        {
            Backend.InitializeAsync(callback => {

                if (callback.IsSuccess())
                {
                    //성공 시 statusCode 204 Success
                    Debug.Log($"초기화 성공 : {callback}");
                    Initialize1();
                }
                else
                {
                    //실패 시 statusCode 400번대 에러 발
                    Debug.Log($"초기화 실패 : {callback}");
                }
}

호출을 Start에서 실행해도 같은결과가 나왔습니다.

혹시 수정된것이 있는것일까요?

수정사항은 존재하지 않습니다.
json파일 내부의 내용이 형식에 맞게 되어 있는지 아래 링크를 참조해서 확인 요청드립니다.
만약 형식이 문제가 없는데도 계속 발생한다면 해당 파일을 전달해 주시면 확인할 수 있도록 하겠습니다.

기본sdk에 설치 이후 해당 파일에 대한 수정사항이 없습니다.

해당 파일을 공유해주실 수 있을까요?

혹시 파일 공유 방법을 알 수 있을까요? 여기에 파일 등재가 안되는것같습니다.

help@backnd.com 으로 공유해주시면 빠르게 확인할 수 있도록 하겠습니다.

invaildstring파일 전송하였습니다.

보내주신 파일 확인하였습니다.
담당부서에서 상세 확인 후 안내드릴 수 있도록 하겠습니다.

좋아요 1

내부 테스트시에 정상적으로 로드 되고 json데이터도 문제가 없는 것으로 확인됩니다.
내부 테스트가 진행된 Unity버전은 Unity 2022.3.20f1, Unity 6000.0.23f1 입니다.
관련 toolkit이 최근에 업데이트가 된 적이 없고 내부 프로젝트에서 정상적으로 동작하기에 현재로써는 정확한 원인을 알기 어려움이 있습니다.

안내드리는 내용에 따라 조치 후 동작 여부를 확인하여 주시면 감사하겠습니다.

  • 기존에 설치된 BackendInvalidFilter를 삭제하고 재설치
  • 다른 유니티 버전에서 실행
  • 빈프로젝트에서 필터링만 설치하고 로드 테스트
  • 아래의 필터링 로드 예시 코드를 추가 및 실행하여 에러가 발생하는지 확인
    void Start() {
        var jsonFileName = "InvalidString";
        try {
            TextAsset jsonFile = Resources.Load < TextAsset > (jsonFileName);
    
            if (jsonFile == null) {
                Debug.LogError($ "{jsonFileName}.json is null");
            }
    
            if (LoadInvalidString(jsonFile.text)) {
                Debug.Log($ "필터링 성공했습니다.");
            } else {
                Debug.LogError("실패했습니다.");
            }
        } catch (Exception e) {
            Debug.LogError($ "{jsonFileName}.json Exception " + e.Message);
        }
    
        bool LoadInvalidString(string jsonFileContents) {
            try {
                var json = JsonUtility.FromJson < StringList > (jsonFileContents);
    
                if (json == null) {
                    Debug.LogError("jsonFileContents is not type");
                    return false;
                }
    
                for (int i = 0; i < json.invalidString.Count; i++) {
                    Debug.Log($ "str_{i}: {json.invalidString[i].ToString()}");
                }
    
                return true;
            } catch (Exception e) {
                Debug.LogError("jsonFileContents Exception " + e.Message);
                return false;
            }
        }
    }