At the time of publishing your application to the market place, it enables the application to be downloaded, installed, and utilized by millions of users across the world. The users (who use the system) can also rate and leave comments about your application, which helps other users identify the possible usage trends as well as the problematic areas that the users might be stumble upon for the distribution. The Android Market also provides a set of valuable statistics, which users can use to track the success of their application. In this article we will show the user, how to publish his/her application in the Android Market. We will also provide couple of screen shots, a promo screen shot, and a short description of our application. To get an app into the Android Market, the user has to package it up in a distributable format first.
Process to create a distributable file:
Let us assume, we have a great idea and we have developed the next best-hit application and/ or game for the Android platform, and now we are ready to get the application into the hands of end users. The first thing we need to do is package our application so that it can be placed on end users devices. We will create an Android package file that is also known as an APK (Android Programing Kit) file. The following sections will guide the users through the process of creating their first APK file.
Process to revisit the manifest file:
Before we jump in and create the distributable APK file, we should take great care to make sure that the user application is available to as many users as possible. This is done by getting very familiar with the uses-sdk element in the AndroidManifest.xml file. AndroidManifest.xml file currently has a uses-sdk entry.
<uses-sdk android:minSdkVersion=”4” />
The minSdkVersion property identifies which versions of the Android platform can install this application. In this instance, level 4 has been selected. The Silent Mode Toggle application was developed by setting the target software development kit (SDK) to version 8. We know that we are using version 4 as the minimum SDK (Software Development Kit) but we are targeting the version 8 SDK. The Android platform (for the most part) is backward compatible. All the features that are in version 3 are also in version 4. It is true that the small changes and sometimes new large components are released in each new version, nevertheless, for the most part, everything else in the platform remains backward compatible.
Therefore, stating that these applications require a minimum of Software Development Kit version 4 signifies that any Android operating system that is of version 4 or greater can run the application.
Using the minSdkVersion information, the Android Market can determine which applications to show on each device. If we were to release the application right now with minSdkVersion set to the value of 4, and we opened the Android Market on an Android device running version3 (Android 1.5) or lower than we would not be able to find our application. The Android Market filters it out for the user. We are trying to develop the system and the developer informs the Android Market, “Caution! This app can only run on the devices that are of Application Programming Interface Level 4 or greater!” If we were to open the Android Market on a device running the Application Programming Interface Level 4 or above we would be able to find and install our application. If we do not provide a minSdkVersion value in the uses-sdk element of the application’s manifest, the Android Market defaults the minSdkVersion to 0, actually it means that this application is compatible with all versions of the Android. If the user application happens to use a component not available in older versions of the platform such as the Bluetooth technology in the Android 2.0 and a user installs our application, then the user receives a run-time error informing the user that the application could not continue because an exception occurred.
Steps for choosing tools that are implemented in our device:
We can easily build an Android APK (Android Programing Kit) file in many ways:
- Step 1: Through the Android Development Tools (ADT) inside Eclipse.
- Step 2: Via an automated build process, like a continuous integration server, such as Hudson Continuous Integration Server.
- Step 3: Via the command line with Ant.
- Step 4: Via the Maven build System.
We use the ADT within the Eclipse to create our Android Programing Kit file. The ADT provides an array of tools that compiles, digitally signs, and packages our Android application into an Android Programing Kit file. Basically in this process, the digital signature takes place.
The other options, such as Ant and continuous integration, are possible but are used in more advanced scenarios. We can find more information about setting up an Ant build process to use in these types of build mechanisms in the Android documentation at http://d.android.com/guide/publishing/app-signing.html.
Digitally signing our application:
The Android system requires that all installed applications be digitally signed with a certification that contains a public/private key pair. The private key is held by the developer. The certification that is used to digitally sign the application is used to identify the application.
We need to know a few key things about signing Android applications:
- All Android applications must be signed. The scheme will not install an application that is not signed.
- We can use a self-signed certificate to sign our applications; basically a certificate specialist is not needed.
- When we are ready to release our application to the market, then we must sign it with a private key. We cannot publish the application with the debug key that signs the Android Programing Kit file when debugging the application during development.
- The certificate has an expiration date, and that expiration date is only verified at install time. If the certificate expires after the application has been installed, the application will continue to operate normally.
If we do not want to use the ADT (Android Development Tools) tools to generate the certificate, then we can use the standard tools such as Keytool or Jarsigner to operate and sign our APK files.
We can generate the modular applications that can generally communicate with each other if the applications were signed with the same certificate development protocol. This tolerates the applications to run within the same process, and the requested system can treat them as a single application mode process. With this process we can create our application in the modules, and users can update each module as they see fit. A great illustration of this would be to create a game and then release “update packs” to upgrade the game. Users can easily decide to purchase the updates that they want. Actually the certificate process is outlined in detail in the Android documentation. The documentation describes how to generate certificates with various tools andtechniques. We can find more material about Android Programing Kit through android developer site.
Creating a keystore: A keystore in Android (as well as in Java) is a container in which our personal certificates exist. We can create a keystore file with a couple of tools in Android:
ADT Export Wizard
This tool is installed with the Android Development Tools and allows us to export a self-signed Android Programing Kit file that can digitally sign the application as well as create the certificate and keystore if it is compulsory through a wizardlike process system.
The Keytool application allows us to create a self-signed keystore via the command line argument process. This tool is located in the Android Software Development Kit tools directory and provides many options via the command line argument.
Table 1: Showing different keystores
How to create the Android Programing Kit file:
The Android Programing Kit is the main part of developing the android project. When we are creating our application of APK file we have to remember the following steps:
Step 1: At first we have to Open Eclipse IDE (Integrated Development Environment) if it is not already open.
Step 2: Right-click the Silent Mode Toggle app, choose Android Tools, and then choose Export Application Package. This displays the Export Android Application dialog box as shown in the image.
Figure 1 with the current project name filled in for the job.
After that we are going to Export the Android Application dialog box through the following process.
Figure 2: keystore selection for Exporting Android Application
Step 3: Click the Next button. The Keystore Selection dialog box opens.
Step 4: We have not created a keystore yet, so we just select the Create a New Keystore radio button.
Step 5: After that choose the location of our keystore. Generally we prefer to use the c:\android and choose a name for the keystore like SGCAndroid. The filename should have the .keystore extension. Our full path looks like this: c:\android\SGCAndroid.keystore.
Step 6: After that we select and enter a password that we will remember and re-enter it in the confirm field. We are choosing the word mannequins as our password.
Step 7: After that we just click on the Next button. This button opens the Key Creation dialog box.
Step 8: In step eight we will fill out the following fields as per our job requirement:
- Alias: This is the alias that we will use to identify the key.
- Password and Confirm: In general when we set up the password then it must give confirm password option for remembering the password. So here put the password that will be used for the key.
- Validity: Validation is very much important for our development. This indicates how long this key will be valid for the process. The key must expire after April 13, 2019. We normally insert a value of 30 years into this field to be safe.
Step 9: Actually to complete the certificate issuer section of the dialog box and fill out at least one of these fields:
- First and Last Name
- Organization Unit
- City or Locality
- State or Province
- Country Code (XX)
Generally we have chosen to provide our name as the issuer field. When we finish then the dialog box should resemble the following.
Figure 3: Key creation box
Step 10: Click the Next button. Click on browse button. The final screen we encounter is the Destination and Key/Certificate Checks dialog box as shown in Image 5.
Figure 4: Export dialog box
Step 11: Enter a name and location for a file with an extension of .apk. We have chosen the location.
Step 12: Now we click on the Finish button. This creates the .apk file in our chosen location as well as a keystore in the location we chose in Step 5. Open these locations and we can see a keystore file as well as an .apk file.
Creating an Android Market Account:
Now we will see the account creation and also the process to release the application on the Android Market. To do the job we need to create an Android Market account. To create such types of account we generally need a Google account because without the google account we cannot do this. Any Google-based account such as a Gmail account is also acceptable. If we do not have a Google account then we can easily obtain a free account by navigating to www.google.com/accounts. To create the Android Market account we have to use the following steps.
- Point to be noted that to complete this step we have to pay an amount like $25 or INR1525/- for developer fee with a credit card or debit card.
- Caution: If we do not pay this amount as developer fees, we cannot publish the applications.
Now we will discuss the following points step by step
Step 1: At first we open our Web browser and navigate to http://market.android.com/publish.
Figure 5: Opening Google account
Step 2: On the right side of the screen we sign in with our Google account as per Image5.
Step 3: The process is starting in the following way and we have to fill out the following fields:
- Developer Name: The name that will show up as the developer of the applications which we want to release here. This could be our company name or our personal name. We can change this later after we create our account.
- E-mail Address: This is the e-mail address operators can send e-mails to. They normally send questions and or comments about our application if they are interested in it.
- Web Site URL: The Uniform Resource Locator of our Web site. If we do not have a Web site then we can get a free Blogger account that provides a free blog. This process will suffice as a Web site. We can get a free Blogger account from www.blogger.com.
- Phone Number: A valid phone number is necessary at which to contact in case problems arise with our published content. When we finish, then the user form should resemble the following.
Step 4: In the step four, click the Continue button for going into the next page. Here we need to pay the $25 for the developer fee.
Step 5: Click the Continue button to pay the developer fee with Google Checkout.
Step 6: On the secure checkout page, fill in your credit card details and billing information; then click the Agree and Continue button. If we already have a credit card on the file with Google, then we may not see this page. If we already have a card for set up then select one and continue the process.
Step 7: On the resulting endorsement page we type our password and click the Sign In and press the Continue button.
Step 8: On the order confirmation page click the Place Order Now button. Depending on how fast accessing our Internet connection is and how fast our order is placed, we may or may not see a loading screen. When the process is complete we see a message confirming that we are an Android developer.
Step 9: In step nine, click the Android Market Developer Site link. We easily arrive at the Android Developer Agreement page.
Step 10: In that situation if we want to have a paid application in the Android Market then follow the directions in the “Google Checkout merchant accounts” sidebar.
Step 11: After that we Read the Terms & Condition and then click the I Agree, Continue link. Now we arrive at the Android developer home page.
Process to estimate your application:
We have our Android Programing Kit file and it is registered as Android developer. Now we are ready to get our app into users’ hands, finally. Generally we have a question that creating apps are paid or free. This decision should be made before we release our app because it has emotional significances with the potential customers/users and monetary ones for us. If our application is a paid application then we have to decide that what our price is at this point. If we cannot decide it properly then we have to face a lot of trouble at the time of submitting or publishing the project. While we cannot decide this for the user, in this types of situation we would advise the user to look at similar applications in the Market to help determine what their price point is so that the user can determine a pricing approach. Most apps seem to sell from the $0.99 value collection up to the $9.99 range. Keeping our pricing competitive with our product is a game of economics that we have to play to determine what works for our application. The paid-versus-free discussion is an evergreen debate, with both sides stating that either can be cost-effective. We just have to figure out what works best for our application given our situation.
In what situation we should choose the paid model: For paid model, we start getting money in our pocket within one day of the first sale (also excluding holidays and weekends). In these types of cases we just receive funds in all business days. Nevertheless from our experience, user application will not receive many active installs because it is a paid application. We are our own marketing team for our app and if no one knows about our app, then we must think about the marketing process of our apps. All Android Market users get a free 24-hour provisional trial of your paid application upon initial procurements. This means that they can purchase the app and install it. Actually Google Checkout will authorize their credit card on the file and the charge will continue in an authorization state until 24 hours from the buying time. We can monitor this in our Google Checkout panel. Throughout that one day the user can use the fully functional presentation, and if they decide that they do not like the application, then they can uninstall it and get a full refund. This is very useful to an end user because they do not need to pay for trying our app and not liking it. If they do not uninstall the app and get a refund within 24 hours then the credit card authorization turns into a charge and we receive the funds the following day.
Getting screen shots for your application:
Screen shots are a very important part of the Android Market ecosystem because they allow users to preview our application before installing it. Allowing users to view a couple of running shots of our application which can be the determining factor of whether a user will install our application or not. Imagine if we create a game and wanted users to play it, we need to create comprehensive graphics for the potential users/ buyers of the game to how great our app looks like on the Android device. To grab the screen shots we should perform the following steps:
- Open the emulator and place the widget onto the home screen.
- In Eclipse open the DDMS. Android ships with a debugging tool called the Dalvik Debug Monitor Server (DDMS) .Process to open the system is as:eclipse: ClickWindow -> Open Perspective > Other > DDMS.
- Choose the emulator in the Devices panel.
- Click the Screen Shot button to capture a screen shot.
You can make changes on the emulator or device and refresh the screen shot dialog box, now we can publish it to the Android Market.
How to upload your application to the Android Market:
We have finally reached the end point of the Android application development, when we publish the application. Please check the following steps for publishing an application is easy ways:
Step1. On the Android developer home page click the Upload Application button.
The Upload an Application page opens as shown in Image6.
Figure 6: Upload form
Step2. For the Application .apk file, choose the .apk file
The Android Market uses the Java package name as the identifier inside the market. No two applications can have the same package name.
Step3. In the Screenshots section, add two screen shots of your application.
The sizes of these screen shots need to be 320px (pixel) wide by 480px (pixel) high or 480px (pixel) wide by 854px (pixel) high. These screen shots allow the users to preview user presentation in a running state without having to install user application.
Step4. Add a promo shot.
This advertisement shot needs to be created in the dimensions of 180px wide by 120px high and should be created by an image-editing program. The advertisement shot is used for promotions that Android chooses to showcase when browsing the marketplace. A promo shot is not required to publish the app.
Step5. Set the title of your application.
We chose ‘Silent Mode Toggle Widget’. This text is indexed for the Android Market search.
Step6. Set the description for your application.
This is the description that the user understands when they inspect user application to determine whether they want to install it or not. All of this text is indexed for the Android Market search.
Step7. Set the promo text of your application.
Advertisement text is used when user application is highlighted or promoted on the market. The process of getting user application featured is fairly cloudy at this point. Basically it is based upon the popularity of the user application. If the user application gets chosen to be featured in the advertisement area of the market, then usually the top part of the screen of each category in the Android Market is shown up as the promotional component for it.
Step8. Set the application type.
Some time we need to set our application as a type process.
Step9. Set the category for the app.
We chose the Productivity for the ‘Silent Mode Toggle application’ because the app is an efficiency enhancer.
Step10. Select your copy protection.
By default we always choose off. When we choose on, then the file footprint on the device is usually doubled. If user app is 2MB in size and the user turns on copy protection, then the new file footprint when installed on the device is around 4MB in size. Now keep your files at the lowest possible setting system. The reason for this is simple, if a user runs out of space on their phone and they are most likely to uninstall the largest applications in order to free up more space.
Step11. Select the list of locations that the application should be visible in.
As per illustration, if user application is an Italian application, deselect all locations and select Korea as the destination location. This ensures that only devices in the Korea region can see this in the Market.
Step12. Fill out the Web Site and E-mail fields and Phone.
We generally seal out the Phone field, because the users will call us! Yes, they will call at midnight asking us questions, giving feedback, and so on. So for that reason we prefer to communicate with customers via e-mail.
Step13. Verify that the user application meets the Android content guidelines and it is complied with applicable laws by selecting the pertinent check boxes option.
Step14. Choose one of the following options:
This option is used for publishing the app to the Market in real time.
This option is used for saving the changes made but does not publish the app in the market
To deletes all the work up until now. [Caution: Don’t do this]
Table 2: Showing options
In implementation, when clicking the Save button it returns the user to the Android developer home page, where an icon states that the app is in a saved state.
Now, we have a clear picture about the android market place and the related details. We also have got an idea about the publishing process and its different aspects. Hope this will help the readers to make their applications and publish it in the android market place.