반응형
백엔드 시스템을 갖출 수 없는 경우 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
3. Spreadsheet 값을 Firebase Realtime Database 에 동기화해 사용
Firebase Realtime Database 환경 구성
다음 방법을 통해 Google Script API 를 추가하면 Spreadsheet 값이 자동으로 Firebase Realtime Database 에 반영됨
medium.com/firebase-developers/sheets-to-firebase-33132e31935b
반응형
'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 |
댓글