클라우드 이벤트 설명
클라우드 이벤트는 cloud_*()
함수 중 하나인 cloud_synchronise()
의 콜백으로 트리거되는 이벤트입니다. 이 이벤트는 DS 맵을 생성하며, 이 맵은 특별한 변수인 async_load
에 저장됩니다. 이 문서에서는 이 이벤트의 사용법을 설명하는 코드 예제를 포함하고 있습니다.
DS 맵 구조
생성된 DS 맵은 다음과 같은 구조를 가집니다:
키 | 설명 |
---|---|
"status" | 상태 코드를 보유합니다. 음수 값은 오류를 나타내며, 오류에 대한 설명은 "errorString"에 포함됩니다. 0 또는 양수 값은 성공을 나타내며, "resultString"에는 반환된 데이터나 성공 메시지가 포함됩니다. |
"id" | 호출된 함수에서 반환된 ID입니다. 여러 개의 cloud_ 요청을 보낼 경우, 어떤 요청에 대한 응답인지 확인하기 위해 사용됩니다. |
"description" | 마지막으로 업로드된 파일에 대한 설명입니다. |
"resultString" | 클라우드에서 반환된 데이터 블롭을 포함하는 문자열입니다. |
"errorString" | 오류가 발생했을 때의 오류 문자열을 반환합니다. |
상태 값 설명
반환된 "status" 맵 항목의 정확한 의미는 다음 표에 설명되어 있습니다:
상태 값 | errorString / resultString | 설명 |
---|---|---|
-1 | errorString = "Not logged in to |
주어진 클라우드 서비스에 성공적으로 로그인하지 않았습니다. |
0 | resultString = recovered data | 클라우드에서 새로운 게임 데이터가 다운로드되었습니다. |
1 | resultString = "AlreadySynchronized" | 마지막 cloud_synchronise() 호출 이후 새로운 데이터가 없습니다. |
2 | resultString = "ConflictDeferral" | 충돌이 발생했지만, 사용자가 이를 무시하기로 선택했습니다. |
3 | resultString = "GameUploadSuccess" | cloud_string_save() 또는 cloud_file_save() 에서 데이터가 성공적으로 클라우드에 업로드되었습니다. |
-n | errorString = Description of error | 다른 음수 값은 동기화 실패를 의미합니다. |
활용 예제
다음은 클라우드 이벤트를 활용하는 몇 가지 예제입니다:
// 클라우드 데이터 동기화 요청
cloud_synchronise();
// 클라우드 데이터 업로드 요청
cloud_string_save("player_data", playerData);
// 클라우드 파일 업로드 요청
cloud_file_save("save_file", saveFileData);
이 예제들은 클라우드 기능을 활용하여 게임 데이터를 저장하고 불러오는 방법을 보여줍니다. 각 요청에 대한 응답은 async_load
를 통해 확인할 수 있습니다.