報酬とウォレット

サーバーが判定し、プレイヤーごとのウォレットに付与される、毎日・毎週・1 回限りの報酬です。

コードのコメントと 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);

受け取り#

受け取りが可能かどうかはサーバーが判定し、ウォレットへの付与はアトミックに行われます。同じ期間内に 2 回目の受け取りを行うと、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 から再び受け取れます。1 回限りの報酬は二度と受け取れません。

ページタイトル、見出し、本文を検索します。

↑↓ で移動 ↵ で開く Esc で閉じる