Here I simply describe what it takes to publish an Android application that I described in the previous part, Building the First App.
Thanks to SUSE, my employer, for sponsoring a company-wide Hack Week which this project was a part of!
I will only deal with free apps: no cost for the user and no advertisements. I guess it would be easy to slap an advertisement module on it or put a minimal price tag on the app. But then it would be morally wrong for me to keep the profits without giving SUSE a cut, and the organizational and accounting process would quickly turn this into a lawyer's Hack Week. Scratch that.
Registering a Publisher Account: $25
I started with the instructions at Get Started with Publishing.
I could have reused my existing Google account but decided to create a new one. The next step may put you off: a 25 USD registration fee is needed.
Then a fair amount of legalese, which I did skim through, and I was rewarded by the knowledge that Google apparently does not like developers to publish web browsers or search engines.
Publishing the App
When I thought my application was good enough to be published I went to the Developer Console to make a Store Listing.
Entered the app name, summary, long description; no surprise there, I had expected that from openSUSE RPM packaging. Then came the innovation: screenshots are required! In fact,
- Two screenshots
- a high-resolution icon (512x512 pixels)
- a feature graphic (1024x500 px) which appears as the heading of the app listing page
Reportedly the new standard way to take a screenshot is Power + Volume Down. But that did not work for my Xperia phone. I had to enable the following setting, after which a Screenshot option appeared in the menu that appears after holding Power.
- Settings, then
- Device / Buttons, then
- Power button / Power menu, there
- enable Screenshot ☑.
For a moment I feared I would need to hire a designer for the icon, but then I told LibreOffice to write a 6 in a 360pt big font and used that. whew!
More form items to fill: App type: Applications (not Games); Category: Entertainment (I guess); Pricing and distribution: Free, All countries, No ads.
We do not process any user data so we check a box that we're Not submitting a privacy policy.
Now we are at a point in the form where it says that we need to submit a content rating, but it won't let us do it. I think it only allows to rate after the app has been uploaded.
Are we ready to upload the app code? Upload APK... bzzzt, wrong! must not upload a debug build. Did not find a way to make a production build in the GUI so used the CLI for a change: ./gradlew assemble
... bzzzt, wrong! must not upload an unsigned build.
Signing software makes sense. Except the signing mechanism is unfamiliar to me, something involving a Java KeyStore. So I followed the manual: Sign Your App. Ended up with a file in my home directory and needing to enter two passwords each time I build a signed APK. At least no certification authority needed to be involved.
Content Rating: Category: Utility, No violence, No sexuality, No offensive language, No controlled substances (illegal drugs), No communication with other users, No sharing of personal information, No sharing of location, No digital goods purchasing, No Nazi symbolism, Not a browser or search engine.
Finally all information was there, I hit Publish, and I wondered how long the review process would take. It took about 3 hours on a European Tuesday noon.
You can try out Just Roll One Die on Google Play. The source code for Just Roll One Die is on GitHub under a MIT license.
Next
In the next part we will deal with software bloat. Because an app that can roll a 6 is justified in taking up 6MB on your kid's tablet, right? Right??