기능구현/아웃게임

[UI] - 닉네임 생성(금칙어 적용) - 구글 시트 URL로 받아오기

MuscleDeveloper5683 2025. 2. 19. 16:42
728x90
SMALL

 

지난 번에 특수문자와, 이모티콘을 제한시켰다.

 

이번에는 욕이나, 특정인물 등.. 게임에서 사용하지 못하는 언어들을 제한시켜보자.

 

1. 구글 시트에 금지어 리스트들을 저장 시켜 둔  후

2. 해당 정보들을 받아와 금칙어 처리를 하자.

 

 

⚪️두가지의 방법이 있다.⚪️

1번째 방법 (실시간 Google Sheets 데이터 가져오기)

2번째 방법 (로컬 txt 파일 사용) - 다음장에 이어...

 

 

❗️❗️두가지 방법의 차이점❗️❗️

 

인터넷 연결 필요 불필요
실시간 반영 즉시 반영 수동으로 업데이트 필요 (파일 갱신)
성능 실시간 네트워크 요청 때문에 느릴 수 있음 빠름 (네트워크 요청 없음)
유연성 Google Sheets에서 금지어 수정 후 바로 반영 가능 수정 후 다시 txt 파일을 새로 받아와야 함

 

 

 

1번 방법 (실시간 Google Sheets 데이터 가져오기)

 

1. Google Sheets 금지어 리스트 작성

 

 

 

2. 파일 > 공유 > 링크가 있는 모든 사용자 보기 가능으로 설정

 

Unity에서 Google Sheets 데이터를 가져오기 위해 Google Sheets API 또는 공개 URL 사용

 

 

 

3. 구글 시트를 가져올 스크립트 생성 (GoogleSheetsLoader.CS)

🛑🛑 주의 🛑🛑

https://docs.google.com/spreadsheets/d/문서ID/edit?usp=sharing - 잘못된 예시

 

위 링크처럼 edit?usp=sharing 형식으로 작성하면, 브라우저에서 Google Sheets를 직접 열 수는 있지만, CSV 데이터를 다운로드하는 URL이 아니기 때문에 아래와 같이 SCV로 받아와야 한다.

 

https://docs.google.com/spreadsheets/d/문서ID/export?format=csv - 잘된 예시

 

 

 

 

Unity에서 금지어 목록을 가져오려면 UnityWebRequest를 사용하면 된다.

 

 

 

 

 

4. 가져온 데이터를 OnInputFieldValueChanged()에서 필터링

 

 

 

 

 

 

 

정리

  • Google Sheets에서 금지어 목록을 작성하고 공개 URL을 생성
  • Unity에서 UnityWebRequest로 데이터를 가져와 bannedWords 리스트로 저장
  • IsBannedWord()를 만들어 금지어 필터링
  • 기존 LobbyManager 코드에 IsBannedWord()를 추가하여 금지어 검증

 

결과

 

 

 

 

 

728x90