보상과 지갑

서버가 결정하고 플레이어별 지갑에 지급하는 일간, 주간 또는 일회성 보상입니다.

코드 주석과 API 이름은 SDK와 일치하도록 영어로 유지합니다.

이 페이지의 내용

보상 정의#

보상 페이지에서 보상을 만듭니다:

필드의미
보상 키코드에서 사용하는 식별자입니다. 예: daily_coins.
수량과 재화지급할 수량과 재화(예: coins).
쿨다운daily, weekly 또는 once.
활성비활성 보상은 숨겨지며 수령할 수 없습니다.

보상 목록#

로그인한 플레이어가 있으면 각 보상에 claimable과 next_claim_at이 포함됩니다:

C#
var available = await Majacloud.Rewards.ListAsync();
foreach (var reward in available.Value)
    Debug.Log(reward.RewardKey + " claimable: " + reward.Claimable + " next: " + reward.NextClaimAt);

수령#

서버가 수령 가능 여부를 판단하고 지갑에 원자적으로 지급합니다. 같은 기간에 다시 수령하면 conflict와 details.next_claim_at으로 실패합니다.

C#
var claim = await Majacloud.Rewards.ClaimAsync("daily_coins");
if (claim.Ok)
{
    Debug.Log($"+{claim.Value.Amount} {claim.Value.Currency}, balance {claim.Value.Balance}");
}
else if (claim.Error.Code == MajacloudErrorCode.Conflict)
{
    DateTime? next = claim.Error.GetDetailDateTime("next_claim_at"); // UTC
}

지갑#

플레이어의 재화별 잔액을 조회합니다:

C#
var wallet = await Majacloud.Rewards.GetWalletAsync();
Debug.Log("Coins: " + wallet.Value.Coins + ", gems: " + wallet.Value.Get("gems"));

보상 초기화 시점#

일간 보상은 00:00 UTC부터, 주간 보상은 월요일 00:00 UTC부터 다시 수령할 수 있으며, 일회성 보상은 다시 수령할 수 없습니다.

페이지 제목, 섹션 제목, 본문에서 검색합니다.

↑↓ 이동 ↵ 열기 Esc 닫기