Game systems

Daily login rewards: a calendar for returning

How ready-made iDos Games daily rewards work - a login calendar with a big prize on the last day that opens by itself while a reward waits - and how to set it up in the dashboard.

Updated: Русский

Daily rewards are a login calendar: every day the player comes back, they collect the next reward, and the last day is a big prize. The window opens by itself once a session while a reward is waiting.

What the player sees

  • A calendar of collected, today's and locked days.
  • The last day as a big milestone prize.
  • An automatic popup once a session while today's reward waits.
  • A badge on the tab while the daily bonus is not collected.
Daily rewards
12 450
320
Day 1100
Day 2150
Today200
Day 4250
Day 5300
Day 620
Day 7Chest
Claim
A login calendar: collected, today and locked days; the last day is the big prize.
The window opens by itself once a session while a reward is waiting.
Example. The daily rewards calendar with the reward of today.

How it works

  • The server knows which day the player is on and whether today is already collected.
  • The same Reward section of the dashboard also holds idle income (the idle RPG gold) and comeback rewards.
  • Tasks with goals are a different system: quests.

Step 01Add the system to your project

Ask the AI coder: "Add daily login rewards". It installs the ready system with a 7-day calendar.

Step 02Set it up in the dashboard

Open the dashboard, pick your project and go to Live Operations → v2 → Reward.

  • Create a calendar: the number of days and the reward of each day.
  • Make the last day the big prize.

The AI button on the page opens an assistant: describe what you need, it proposes changes, and you review them and press Save.

Step 03Test and release

Check the system in the test version of your app. Settings go to the live app as a separate action - see publishing and links.

For developers

Daily rewards work through client.reward in @idosgames/core.

TypeScript
// The player's reward state, then claim today's login reward
await client.reward.getUserRewardsState()
const res = await client.reward.claimDailyReward('daily_7')
if (!res.ok) return showError(res.error)
  • Idle income is collected with collectIdleAccrual(accrualID); the server counts the time away.
  • Do not count days on the device clock: the server decides what today is.

Every field is described in the reward-system skill, served by the SDK MCP server.

Frequently asked questions

What if the player misses a day?

The calendar rules are set in the dashboard; the server applies them, the game only shows the state.

Is this the same as quests?

No. Daily rewards pay for coming back; quests pay for doing tasks.

See also

Make your own game

Describe the idea in a sentence - the AI coder builds it, and it goes live at its own link.