I work as a Mobile Software Developer for my full-time job and contributed to apps that are available on various app stores. But I never published my private apps that I developed myself. I’m talking about setting up the project, coding, testing, setup the store presence, dealing with the paperwork (no actual paper was involved), and getting the app approved and published on a store. During New Year’s vacation, I did just that.
I already know my way around in the Google Play Console, but I never set up a new app from scratch. I want to bring more private apps I developed to the public, so I probably will do this more often in the future. To learn what I get myself into, I wanted to do a first test run. I know that I tend to overload myself and then not finish such side-projects, so I wanted to keep this as small and simple as possible. However, the app that I publish should be at least a little bit useful. And finally, I call myself a “Mobile Developer”. How can I call myself “Mobile Dev” and never have any of my private apps published on a store? No diss to all Mobile Devs who don’t have any apps published, I was on that boat only 3 days ago. But having an app published is a strong signal that I’m capable of “doing what I preach”. End to end. Even if it’s only a very small thing.
I called the app “Save To…".
It’s a very tiny tool where you can share data from any app and save it into a file.
Have a look at the app’s info page.
I got the idea from phones that make it virtually impossible to save selected photos received on WhatsApp into a file, to collect them in a folder and send, share or print them later.
There are already apps out there that do exactly that, but I thought I can do it better.
First, most apps have ads in them.
Understandably, the developers of those apps need to make money, but I think such a tiny tool can be either sold for a small one-time fee or could be just free.
Since the goal of this app is not to make money, and I also don’t want to annoy users with ads, I published it completely for free.
Secondly, all alternatives I checked require storage access permissions. For my app, I remembered Android’s Storage Access Framework API with the
It’s a “Save Dialog” built into the system with the nice property that you don’t need any additional permission to write to the file the user selected.
So the USP of my app is its simplicity and built-in privacy: You don’t need to grant any permissions and it doesn’t have a connection to the internet (There is not even an
android.permission.INTERNET in the manifest).
Although my primary goal isn’t to attract tons of users, I still hope that it’s useful for some people.
I also exploited this situation to learn more about Jetpack Compose. All of the (few) screens of the app are written in Compose. No XML layouts anymore. I feel more and more comfortable in Compose now. I learned a lot, found some patterns and pitfalls. But that’s a story for another post.
Publishing on the Play Store
To publish an app on the Google Play Store, you need a Google Account. Furthermore, you need to create a Google Developer Account. Those accounts are different, even though the Developer Account is linked to your Google Account. The Developer Account represents some sort of “App Company” and contains all the apps that are published by this account. You can invite other Google Accounts to collaborate on your Developer Account. This allows other people to publish updates or new apps using your Developer Account.
Anyway, setting up a developer account costs 25$ as a one-time payment. When you’re already logged into your Google Account, you can create a new Developer Account here.
After you paid, you can log into the Google Play Console, and play around with a ton of settings and pages. There’s also a button “Create app”. It’s not as easy as just uploading your compiled app and being done with it, but additionally, it’s required to provide promotional information and fill out a lot of forms.
Here is what you need to publish a new app on Google Play (on a pure artifact level, as of January 2022):
- Google Account
- Google Developer Account (create here, costs 25$)
- Developer Page (click on “Developer Page” in Google Play Console; This is how my page looks like)
- Developer name (up to 50 chars)
- Promotional text (up to 140 chars)
- Developer icon (512px × 512px)
- Header image (4096px × 2304px)
- An App
- App Signing Key (instructions)
- App APK or AAB (signed with your signing key; Of course, you need to develop the app first, and this will be the most significant effort of all of this, but this post is not about app development but about Google Play Store publishing)
- App name (up to 30 chars)
- Short description (up to 80 chars)
- Full description (up to 4000 chars)
- App icon (512px × 512px)
- Feature graphic (1024px × 500px)
- Phone screenshots (min. 2, max. 8, 16:9 or 9:16 aspect ratio)
- 7-inch tablet screenshots (min. 2, max. 8, 16:9 or 9:16 aspect ratio)
- 10-inch tablet screenshots (min. 2, max. 8, 16:9 or 9:16 aspect ratio)
- Answer a lot of questions in the “App Content” menu (next to agreeing to quite a few Agreements, e.g. Google Play Developer Distribution Agreement, and even US export laws):
- App access
- Content ratings
- Target audience and content
- News apps
- COVID-19 contact tracing and status apps
- Data safety (optional for now, will be required later in 2022)
This is what I found is the bare minimum to get the app published. The questionaries were a big junk. If you want to publish an app, be prepared to spend a few hours answering those questions and forms. It’s one of the most time-consuming parts and feels never-ending sometimes.
All in all (including waiting times), it took me ~6 days to publish my first app on the Google Play Store. Note that I’m an experienced Android developer and I was getting into Jetpack Compose at the same time. Here’s a rough breakdown:
|Developing and Testing the App
Project setup, coding, getting into Jetpack Compose, try on different phones,…
|Setup Google Play Store Presence
App setup, creating logos, screenshots, texts, filling out forms,…
|Waiting for Approval
All apps or updates need to be reviewed and approved by Google.
After you uploaded your App (APK or AAB) to the Release channel, you have to wait. The app (and every update) needs to be reviewed and approved by Google. In my case, it took about 3.5 days until I received the e-mail that my app is live!
Update 2022-01-15: I just published my first update. The review only took ~45min, and the update was live immediately after that.
I’m glad I went through the experiment and learned a lot about app publishing. I totally underestimated the “paperwork” required to get everything set up in the store. I also wasn’t aware that promotional information like a slogan or screenshots was required.
And that was it! I now have my very first app on the Google Play Store that I developed and published all by myself end-to-end. I hope this summary was helpful.
You might also like
- Copy a Kotlin Data Class using Reflection
- Gradle: "A problem occurred evaluating settings" When Having a Large Number of Modules
- Kotlin: Is It Possible to Overload Top-Level Functions in Different Modules?
- Android Protected Confirmation - Unexpected Behavior, Edge Cases and Considerations
- Print Gradle Module Tree