Награды и кошелёк

Ежедневные, еженедельные или разовые награды, которые выдаёт сервер и зачисляет в кошелёк игрока.

Комментарии в коде и имена 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 закрыть