Recompensas y billetera

Recompensas diarias, semanales o únicas decididas por el servidor y acreditadas en una billetera por jugador.

Los comentarios del código y los nombres de la API se mantienen en inglés para que coincidan con los SDK.

En esta página

Definir recompensas#

Crea recompensas en la página Recompensas:

CampoSignificado
Clave de la recompensaIdentificador que se usa en el código, p. ej., daily_coins.
Cantidad y monedaCuánto se acredita y en qué moneda (p. ej., coins).
Tiempo de esperadaily, weekly o once.
ActivaLas recompensas inactivas se ocultan y no se pueden reclamar.

Listar recompensas#

Con un jugador con sesión iniciada, cada recompensa incluye claimable y 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);

Reclamar#

El servidor decide si se permite la reclamación y acredita la billetera de forma atómica. Una segunda reclamación en el mismo período falla con conflict y 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
}

Billetera#

Lee los saldos del jugador por moneda:

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

Cuándo se reinician las recompensas#

Las recompensas diarias se pueden volver a reclamar desde las 00:00 UTC, las semanales desde el lunes a las 00:00 UTC y las únicas, nunca más.

Busca en títulos, encabezados y texto de las páginas.

↑↓ para navegar ↵ para abrir Esc para cerrar