We are working on a mobile product ( Both Android and iOS ) and have asked ourselves the same questions not long ago.
Before you can determine the best methods for retaining users, you first need to determine how a retained user looks like, so i'll try to answer that part until you can give us more details.
We need to break this down even further and start by defining what an active user looks like, in terms of actions he is performing in the app. For example: For our business, which is a transactional based one ( think eCommerce like ), an active user means a user that has made at least one transaction, thus "confirming" they have seen the value our product brings.
For retention, you need to check for active users that are "re-activating" each month. I.e: in our case, do at least one transaction / month.
That will give you the retention metric you need to focus on for the next period.
Did I answer your question?
If you need help figuring out the activation event, finding the retention metric or brainstorming on how to increase that metric, feel free to give me a call
Best of luck