Note that Zap the Ghost cares about your privacy and is not interested in automatically collecting sensitive information without your knowledge.
The only collected information is during Crash Report which the user has the liberty to send them or not. This information includes debugging logs made by the game itself and technical information about the device such as model, resolution and Android version. Note that this information is useful to the developer for quickly fixing problems that might appear.
Note that the collected information and Crash Reports are not automatically sent to the developer but the user is prompted by a dialog allowing them to add a comment and then either send or not send the report.
Bellow are the permissions used by Zap The Ghost:
INTERNET - Needed to access and submit scores to Swarm, access Credits links and send optional Crash Reports.
READ_PHONE_STATE - Allows Swarm to prevent fraud and create a secure environment (no personally identifiable information is used).
ACCESS_NETWORK_STATE - Allows Swarm to detect when a user is online or when the user's connection has been lost.
READ_LOGS - Allows debug logs to be collected and set along with optional Crash Reports. Note that you will be prompted when a Crash Report occurs and you can decide whether you want to send it or not.
WAKE_LOCK - Prevents the phone from going to sleep (locking) while playing the game.
Note that the developer can take the liberty of updating and improving the information shown here.
In the last month of so, in my spare time, I was working on an Android game which I called Zap The Ghost.
The purpose of the game is simple. You need to tap various characters as they appear on the screen for points. There are different characters from two categories: good and bad characters. As you probably guessed you only need to tap (kill) bad characters to gain points. You can lose points and even lives if you do not tap a bad character of more importantly if you tap a good character.
The game currently has the following features:
Uses AndEngine as the game engine
Has Settings and Local Highscores which are saved in an SQLite database
Has 2 difficulties: Easy and Hard which decide the number of starting lives and the speed to which the characters appear on the screen
Used Swarm as Global Scores Provider
Uses ACRA as Crash Reporter
Has sounds and music (in progress) which can be enabled or disabled
Has How To Play Instructions and Credits screens
This game will be available on the Android Market (Google Play) soon so stay tuned.
Recently I was working on an Android app which I was planning to publish on the Android Market (lately known as Google Play).
The application is in fact a game. Here are some frameworks and technologies that I used in my game in case you are interested in developing your own Android games.
As you probably have figured out, developing a game from scratch can be very difficult and time consuming that is why it is much better to build upon existing infrastructure such as game engines.
A game engine can make it very easily to work with scenes, loading textures, creating sprites, using sounds, music, creating menus and so forth.
There are a few game engines available for Android. The one that I was using is called AndEngine and was developed by Nicolas Gramlich.
In my game I have implemented a local high-score system using SQLite database which is bundled with Android. In a nutshell I have a database table which stores the scores for each difficulty which gets queried and updated while the game is running.
However in order to make the game more interesting you can implement a global high-scores solution. This means that the scores will be saved over the web and be available from the web on any device. There are a few services which can do this such as OpenFeint, ScoreNinja and ScoreLoop.
However the one I used is called Swam. I like Swarm due to being lightweight, simple to use yet powerful.
More information about Swarm: http://swarmconnect.com/
Every application has bugs because we are humans and we make mistakes. However it is important to properly test your application and to collect the bugs from your customers in an easy and simple way.
This can be done by having the user / customer sent automatic bug reports to you. I found a tool for Android that does just that. It is called ACRA or Application Crash Report for Android.
This framework can collect various information about the device (including logs) when an error occurs that caused the application to crash. This information can be added to a Google Spreadsheet which you created or can be sent as an email to your mail server.