Monday, May 23, 2011

Some Tips to Publish your app in the Android Market

Today is a great day, I finally published my application in the Android Market :) :) even though it is not even version 1 it is pretty stable and has some really cool things. I tried to follow all their best practices in code, UI and resources.

The Android documentation has some links on how to prepare your app for the Android Market, things like a checklist, UI tests, how the versioning works, how to design your application icons and a lot more, but I wanted to add my personal touch :)

If you have everything on those links above, you are almost done. In order to publish an application you need to sign up as a developer and pay a one time only fee of 25$ which is cheap compared to Apple Store and Amazon. Once you sign up and make the payment you can upload as many apps as you want but for each app you need to have  some mandatory images and screenshots. Believe me when I say that it took me more time getting this icons and images right than developing my application. Sadly, I am not a graphics guy, I did what I could though ;)

Once you upload your apk the developer console gives you a summary of the permissions and features your app needs to run properly; this list is based on your Manifest File, minimum API version and code.

Permissions summary
You can save a lot of time by using the aapt (Android Asset Packaging Tool)tool, you just execute this:
$ aapt dump badging <path_to_exported_.apk>
It will dump all the permissions, features, supported screen sizes and everything! really nice tool. Really useful instead of using the Developer console and find out that you missed something and start the whole process again.

Also, I would recommend paying a lot of attention to the <uses-feature> part. Spend sometime reading the documentation and you will understand why this is so important if you wan to get your application in as many devices as you can. Also you can read this blog post about hardware support and this one about future-proofing your app. This is really an important part. The first time I uploaded my app the console told me it was going to available to 13 devices! just 13! I was shocked since my app could run an any device with Froyo or more and according to this that was more than 65% of the current market. Then I did some research and I added these 3 lines to my Android Manifest:
<uses-feature android:name="android.hardware.faketouch" android:required="false"/>
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-feature android:name="android.hardware.telephony" android:required="false"/>


and now my app is available to 355 devices! Basically this is saying that my application requires this hardware but it can work just fine with out it. For example the last line says that my app can work on any device not only cellphones. It would be better to have telephony features but it can work with out it. So pay attention to this part because it does make a huge difference.
Supported Devices
Finally, it gives you the option to advertise your app. I did not enable this, yet but I am thinking about it. My app is really simple right now and I will add more things before starting that.
Advertise using AdMob
Testing your application in the emulator and your own device is easy. Right now my app could be in 355 different devices and that is the real test. I was afraid to publish it because now it is alive so anyone can install it and use it and that scared me for a lot of time. Sometimes users are mean! and they lie, but at the end I wanted to see my end result and see if I reached that point where I can develop real applications and not just personal projects for my own use.
My App :)
So if you have time you can download my app from here and make a comment and review it :)

No comments:

Post a Comment