I recently took the plunge and became a developer on the Google Play store, and I have a few thoughts about the process and what I learned.
Admob is easy to set up (just be careful about test ads)
When I initially wrote my app, I assumed I wouldn’t be putting any advertising in. During the process, though, I looked up the Google Developers guide for ads and found out that putting a simple banner ad would be much simpler than I expected. Boiled down, these steps are: create an Admob account and adapt the sample code for your layouts and activities. There are certainly details to attend to within this, like blocking ad categories that would be inappropriate for your app’s audience.
One heads up to be careful about was test ads. If you load real ads on your test device (excluding emulators), Admob can bring the banhammer down on you. Test ads are automatically served to emulators (phew), but because I was doing a lot of my testing on my physical devices, I worried about either releasing the apk that included test ads to production (no ads => no profit) or accidentally using my live ad unit id when adb the debug apk to my phone (potential strike or suspension from Admob if invalid clicks occurred). Using .addTestDevice() and/or .isTestDevice() is helpful here (description). I also made sure to keep Admob ids in a res/values xml so that I could just comment out the wrong ad id (with the added bonus of keeping my repo free of sensitive info by including Admob.xml in my .gitignore).
The pre-launch report is your friend
I had heard of the pre-launch report on Google Play but hadn’t seen it in action before now. When you make an alpha or beta release, the pre-launch report will run tests on 8 sample devices, with information about crashes, performance, and screenshots.
Some graphic design and branding is unavoidable
Of course while making my app, I knew that I would need to do some design to make the app UI appealing, but I underestimated the design and branding for the feature image, developer page, etc. I learned more about gradients, color schemes, and alpha than anticipated, which was great. It was also a good opportunity to think about how I wanted to present my developer page and online presence.
Speaking of online presence…
You will need a public-facing email and (if your app is paid) a listed physically address. Anyone who can see your app listing (ie everyone) will be able to see the email and physical address you list. Consider an alternate non-personal email and non-home address (note that PO box addresses are not allowed)
Expect that some things may change in your plans
So when I started the app (Aww for Reddit), I designed it with my 6 year old in mind. She likes to look at cute animal pictures on my phone, but just handing her my phone with r/aww up on reddit is a risky proposition (because, well, reddit), so the content is scraped using certain guidelines to avoid inappropriate content (no posts marked NSFW, only certain safe subreddits, only past a given upvote threshold, etc). This was fine for my own purposes, but when I was going through the age rating questionnaire on the developer console, it was clear that I couldn’t be certain enough that nothing questionable could possibly appear, so instead of a target age of 8 or over, the app is for age 13+. Child-directed apps also have a more limited range of categories they can fall into, none of which would fit an app that was only for looking at cute animal pictures.
Know where to go when you run into questions (and you will run into questions)
All in all, I found a number of resources to be especially helpful. Of course, the Google Play Console Help Center and Best Practices guide were a great source of information. I also really appreciated the androiddev subreddit (r/androiddev) and the perpetually-helpful Stack Overflow.