Phần thưởng và ví

Phần thưởng hằng ngày, hằng tuần hoặc một lần do máy chủ quyết định và được cộng vào ví của từng người chơi.

Chú thích trong mã và tên API được giữ nguyên tiếng Anh để khớp với SDK.

Trên trang này

Định nghĩa phần thưởng#

Tạo phần thưởng trên trang Phần thưởng:

TrườngÝ nghĩa
Khóa phần thưởngĐịnh danh dùng trong mã, ví dụ daily_coins.
Số lượng và loại tiềnSố lượng được cộng và cộng vào loại tiền nào (ví dụ coins).
Thời gian chờdaily, weekly hoặc once.
Đang hoạt độngPhần thưởng không hoạt động sẽ bị ẩn và không thể nhận.

Liệt kê phần thưởng#

Khi có người chơi đã đăng nhập, mỗi phần thưởng kèm claimable và 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);

Nhận thưởng#

Máy chủ quyết định có cho phép nhận hay không và cộng vào ví một cách nguyên tử (atomic). Lần nhận thứ hai trong cùng kỳ sẽ thất bại với conflict và 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
}

Ví#

Đọc số dư của người chơi theo từng loại tiền:

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

Khi nào phần thưởng được đặt lại#

Phần thưởng hằng ngày có thể nhận lại từ 00:00 UTC, hằng tuần từ 00:00 UTC thứ Hai, còn phần thưởng một lần thì không bao giờ nhận lại được.

Tìm theo tiêu đề trang, đề mục và nội dung.

↑↓ để di chuyển ↵ để mở Esc để đóng