백엔드 시스템을 갖출 수 없는 경우 Google Spreadsheet 를 활용하면 간단하면서도 어느정도 대체 가능한 시스템을 구축할 수 있다.
1. 다운로드
장점 - 가장 쉬움
단점 - 데이터가 보호되지 않음
IEnumerator RequestSheetData(string docId, string gid)
{
UnityWebRequest www = UnityWebRequest.Get($"https://docs.google.com/spreadsheets/d/{docId}/export?format=tsv&gid={gid}");
yield return www.SendWebRequest();
if (www.isHttpError == true || www.isNetworkError == true)
yield break;
Parser(www.downloadHandler.text);
}
Spreadsheet 주소
https://docs.google.com/spreadsheets/d/{DOCUMENT_ID}
{DOCUMENT_ID} 값은 아래의 빨간 밑줄 부분 참고

Google Documentation 에서 사용하는 URL Parameter 모음 (Official 자료는 없음)
| Default Parameters | 설명 |
| /copy | |
| /export | 다운로드 |
| /export?format=[csv|tsv] | 다운로드 포멧 지정 |
| /edit | |
| /preview | |
| /create | |
| /pub? | |
| /fm?id= | |
| /tq?tqx=out:html |
| Optional Parmeters | 설명 |
| &key=[ID] | |
| &gid=[#] | Spreadsheet 의 Sheet ID |
| &single=[true|false] | |
| &range=[CellAddress|CellAddress1:CellAddress2] | 지정한 Cell 주소값 범위 내의 데이터만 필터링 |
| &embedded=[true|false] | |
| &widget=[true|false] | |
| &output=[html|txt|csv|pdf] | |
| &gridlines=[false] | |
| &rm=[minimal|embedded|full|demo|?] | |
| &ui=2 (interface version) | |
| &chrome=[false] (full screen mode) | |
| &width=[width] | |
| &height=[height] | |
| &frameborder=[size of border] | |
| &q=[Search Query] | |
| &viewer? | |
| &start= | |
| &channel= | |
| &ibd= | |
| &client= | |
| &fmcmd=12 | |
| &size=0 | |
| &fzr=[true] | |
| &portrait=[false] | |
| &fitw=[true] | |
| &printtitle=[true] | |
| &sheetnames=[true] | |
| &pagenum=[CENTER] | |
| &attachment=[true] | |
| &alt=[rss] | |
| &tq=[query params here] | |
| ©Destination=[Drive FolderID] |
CSV 와 TSV Format 차이 비교
Spreadsheet 값
| KEY | EN | KR |
| google_signin | Sign in with Google | 구글 로그인 |
| .. | ||
| ,, | ||
| ., | ||
| ,. |
CSV Format
- 쉼표(,)로 구분
- 값에 쉼표가 들어가면 데이터가 변질됨
KEY,EN,KR
google_signin,Sign in with Google,구글 로그인
..,,
",,",,
".,",,
",.",,
TSV Format
- 탭(/t)으로 구분
KEY EN KR
google_signin Sign in with Google 구글 로그인
..
,,
.,
,.
2. Google Script API 를 사용해 Spreadsheet 의 데이터를 가공해 다운로드
Google Script API 를 통해 Spreadsheet 값을 재가공해 다운로드
developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app
Class SpreadsheetApp | Apps Script | Google Developers
newRichTextValue() Creates a builder for a Rich Text value. // Sets cell A1 to have the text "Hello world", with "Hello" bolded. var cell = SpreadsheetApp.getActive().getRange('A1'); var bold = SpreadsheetApp.newTextStyle().setBold(true).build(); var value
developers.google.com
3. Spreadsheet 값을 Firebase Realtime Database 에 동기화해 사용
Firebase Realtime Database 환경 구성
다음 방법을 통해 Google Script API 를 추가하면 Spreadsheet 값이 자동으로 Firebase Realtime Database 에 반영됨
medium.com/firebase-developers/sheets-to-firebase-33132e31935b
Sync Google Sheets to a Firebase Realtime Database
Often when testing a design, it’s useful to create a prototype with realistic data. Users tend to give better feedback when the content is…
medium.com
'Works > Unity 3D' 카테고리의 다른 글
| [Unity] Terrain Optimization (0) | 2020.10.13 |
|---|---|
| [Unity] Optimize Light for mobile (0) | 2020.10.07 |
| [Unity] Firebase Cloud Functions (0) | 2020.10.01 |
| [Unity] Toon Shader (0) | 2020.09.26 |
| [Unity] PostProcessing (0) | 2020.09.25 |
댓글