728x90
게임을 제작할 때 유저들이,
경쟁과 기쁨을 느낄 수 있는 요소 중에 하나가 리더보드라고 생각한다.
리더보드를 구현할 수 있는 방법은 다양한데 내가 특정하게 사용하려고 하면 그 기능을 활용할 수 있는 서비스는 많지 않다.
나는
내 등수가 나와야함, 1~10등까지 나와야함, nickname, flag등 다양한 다른 정보가 있어야함
이걸 모두 만족하게 하려고 하면
GPGS -> metadata를 넣는방법이 없음, 복잡함
firebase -> 등수를 넣는 방법이 없음, 하려고하면 복잡하며, 비용이 많이 생길 수 있음
Unity cloud -> 최고임, 지워주는것도 가끔씩 지워주고 grade도 나눠줌, metadata 는 chatgpt는 없다고 말하는데 거짓말임,
option에서 넣을 수 있다!
public async Task ReportScoreWithMetadataAsync(long score, string flag, string nickname, string color, string size, string model)
{
try
{
AddPlayerScoreOptions options = new AddPlayerScoreOptions();
// 메타데이터 생성
Dictionary<string, string> metadata = new Dictionary<string, string>
{
{ "flag", flag },
{ "nickname", nickname },
{ "color", color },
{ "size", size },
{ "model", model }
};
options.Metadata = metadata;
// 리더보드에 점수와 메타데이터 업로드
LeaderboardEntry scoreResponse = await LeaderboardsService.Instance.AddPlayerScoreAsync(LEADERBOARD_ID, score, options);
Debug.Log("점수와 메타데이터가 리더보드에 성공적으로 업로드되었습니다: " + scoreResponse.Score);
}
catch (System.Exception e)
{
Debug.LogError("점수 업로드 또는 메타데이터 저장에 실패했습니다: " + e.Message);
}
}
이런느낌!
728x90
'개발 > Unity' 카테고리의 다른 글
Steam game 출시 (0) | 2024.11.14 |
---|---|
2d ai 제작 사이트 (0) | 2024.09.15 |
클릭한 곳에 particle 생성 (0) | 2024.08.20 |
Admob, SDK34 (0) | 2024.07.31 |
번역을 넣었더니 속도가 너무 느려졌어요 (0) | 2024.07.22 |