How to efficiently create a system to collect units, store data from levels and units, etc?

I like playing this one game called The Battle Cats, its sounds very silly, but it is actually quite fun. I also tried Metal Slug Defense and Crash Fever, and they revolve around a similar concept. They involve two currencies, storing user data once they complete missions, buy more currency, get new characters. I would want to know an efficient manner to do this. Alongside with this, how to manage enemy hitpoints, attack power, spawning, and attack times as well as those four concepts for your units plus data on leveling them up and ‘buffing’ them. (Boosting their stats to put them in harder levels) I am not asking for anything specific, but I would like some ideas from the community.

Thanks!

Also, how can I make a feature that allows a user to use a ticket, or key to unlock a new character at random?

IN case it was confusing, what are some ideas for making a game that:

 

  1. Manages IAPs for currency

  2. Manage Level or Mission completions

  3. System to collect new units with keys or tickets

  4. Manage characters attack speed, movement speed, attack power, hitpoints

  5. Manage character upgrades

 

All while saving the data.