BlackBerry App World BLACKBERRY

In April 2009, BlackBerry launched BlackBerry App World—an on-device and webbased BlackBerry application store . App World is already the best way to distribute almost all BlackBerry applications. It offers a way for users to find applications, install them, and purchase them. Fortunately for developers, App World also takes away a lot of the headaches of deploying applications, making it easy to manage updates, deploy multiple versions for different devices and OS versions, and accept payment.

BlackBerry App World

BlackBerry App World

Getting an App World Account

The first step in deploying your application on App World is signing up for an account.


Whether you intend to sell applications or just deploy them for free, you’ll need a PayPal account—a Personal, Premier, or Business account will work fine. App World processes payments in USD.You will also require some documentation to validate the company information you provide (address and company name), or if you’re applying as an individual, you will be e-mailed a statement of identification that must be filled out and signed by a certified notary.The sign-up fee for App World is $200 USD. This allows you to submit up to ten applications.

Signing Up

If you’re ready with the prerequisites, sign up for App World, and go to the App World Vendor Portal.

The BlackBerry App World Vendor Portal

The BlackBerry App World Vendor Portal

Click the Get Started button, and follow the steps. You’ll be asked to create one account when you sign up but can create more (if you want to let more than one person manage your applications) once your account has been activated. If all goes well, you’ll receive an e-mail shortly after either asking you for more information or informing you that you’re now able to submit applications to App World.

Distributing Your Application on App World

App World applications are all managed through the Vendor Portal. Before we walk through an application submission, let’s talk a bit about pricing and licensing.

Licensing Options

Applications on App World can be one of the following three types:

  • Free
  • Paid
  • Try & Buy

Free applications are just that—free. The user pays nothing to download and use the application. Paid applications require the user to pay a price that you set before downloading the application to their device. Try & Buy applications allow the user to download the application free, but the user can pay to get a license key that either unlocks additional functionality or prevents the application from expiring (the actual functionality is up to you—App World just manages selling and distributing the license keys). Paid and Try & Buy applications can be set up to use four different types of license models:

  • Static
  • Single Key
  • Key Pool
  • Dynamic Key

With the Static model,a license key is not required—when the user purchases the app, they download the unlocked version. For Try & Buy, this means you’ll upload both a trial version and a full version of your application. This means you don’t have to worry about a license key algorithm, but users must download another copy of your application when

they buy. With the Single Key model, there is one license key for all copies of the application. When the user pays, they receive this license key that they can use to unlock the application. It’s simple but with one license key—anyone who gets the key can unlock your application. With the Key Pool model, you provide a list of up to 2,000 license keys to App World, and these are handed out one at a time to each user who purchases the application. The advantage of this over the Single Key model is that you can track users by license keys, so if a key is being passed around, you may be able to deactivate or otherwise deal with it.

To use the Key Pool model, you need to produce a text file, with one license key per line, to upload to App World along with your application. With the Dynamic Key model, the App World server contacts your web server when a user has purchased the application and a new key is needed. Your server can then generate the key based on information about the application and the user’s PIN or e-mail address. This lets you produce a key for each user, so there’s much less danger of anyone else being able to unlock the application, but it requires more work on your part—hosting a server capable of responding to license key requests.

Implementing License Keys

What should a license key actually do? The simple answer is “It’s up to the applicaton.” That is, your license key just makes a trial application into a full application. What “trial” means is up to you.For example, you may develop an application that

  • Stops working after 30 days unless a license key is purchased
  • Enables only certain functionality until a license key is purchased
  • Disables some functionality after two weeks unless a license key is purchased
  • Works only for a certain time period (for example, five minutes) or for a certain amount of data

License Keys for Try & Buy Apps

When a user purchases a Try & Buy application, they’ll be shown a dialog box with their license key in the App World client. They’ll be able to copy this key to the device clipboard, and you should provide a way for them to enter the key into your application to unlock it. Something as simple as an EditField will work. App World also automatically injects the license key into your application after it has been installed. See the “App World API” section later in this chapter for more information about how to retrieve this key from your application.

License Keys for Paid Apps

If you have to pay for a Paid application before downloading it, why would you want to provide a license key? Well, it’s still useful for tracking purposes, and as we’ll see later, App World will inject the downloaded application with the license key in a way that lets your application retrieve it later. If you choose a nonstatic license model for your application, the user will see a dialog box with your license key after they’ve purchased and downloaded your application.


Applications for sale on App World—both Paid and Try & Buy—can priced in the following pricing tiers (all amounts are in USD but will be converted to the appropriate currency for the App World user):

  • From $2.99 to $19.99 in $1 increments (i.e., $2.99, $3.99, etc.)
  • From $19.99 to $99.99 in $10 increments ($19.99, $29.99, etc.)
  • From $99.99 to $599.99 in $50 increments ($99.99, $149.99, etc.)
  • From $599.99 to $999.99 in $100 increments ($599.99, $699.99, etc.)

App World takes 20 percent of the purchase price, giving 80 percent to the developer— not a bad deal for not having to deal with payment headaches, distribution,and so on.

The Submission Process

This section is a bit different from the other walk-throughs earlier in the book.Because we’re dealing with a real, online submission process (with money involved), you shouldn’t follow each step literally using the same app name. Rather, look at this as a step-by-step guide and insert your own application information where appropriate when you’re ready to submit your BlackBerry application to App World.The submission process will time out if you sit at any step without doing anything for ten minutes, so you may want to read through this section before submitting to make sure you have all the information prepared beforehand.

Starting the Process

Log into your App World account through the Vendor Portal, click Manage Applications, and then click the Add Application button. There are seven steps to the submission process

Step 1: Export Control

The questions here are to determine whether your application is bound by any export restrictions due to use of cryptography. Many applications do—all I can say is to answer truthfully here. If you think there may be problems with your application using certain types of encryption and being used in certain geographic areas.

Step 2: Main Application Data

You’ll need to provide a few things:

  • Your application’s name (ideally you have that by now).
  • A 480 × 480 pixel PNG image. This image should be the same as your application’s icon; it will appear, scaled way down, next to the application names in the App World category lists. It will also be used as the archive icon if your users decide to archive your app to their SD card. This means that making this image different from your application icon will confuse your users. It also means you should avoid any very fine detail that might be lost when the image is scaled down.

Browsing the top free apps; the icons are scaled-down versions of the 480 ×480 pixel PNG.

Browsing the top free apps; the icons are scaled-down versions of the 480 ×480 pixel PNG.

NOTE: You probably have noticed the large images in the featured applications section of App World (see Figure)—those are submitted through a separate process, if you’re lucky enough to get your application featured.

  • The category and subcategory your application should belong to. These should reflect your application accurately, because a lot of users will discover your app by browsing through categories looking for an application for some specific purpose.
  • The license type and license key information if required, as we discussed earlier, unless your application is free.
  • The price for your application, again unless it’s free.

Step 3: Description

The description can be a maximum of 2,000 words, and you must at least have an English-language description. You may provide descriptions for a number of other languages as well. If you do not submit a localized description, your application description will default to the English description.

Step 4: Distribution

You can choose to have your application available on some or all wireless carriers and in some or all countries. If you have exclusive agreements with some carriers or other reasons to restrict distribution of your application, this section makes that easy to manage.

Step 5: Screenshots

Screenshots can be up to 640 × 640 pixels, and you can provide up to 16 of them.The simulator is a great way to get screenshots of your application—from the Edit menu, choose Save LCD Snapshot.

Step 6: Releases

This is another area where App World saves you a lot of distribution headaches. The Releases section allows you to define each of the releases of your application that you want to make available on App World. When first submitting your application, you will probably have only a single release, for example 1.0, but later you can add more releases. App World will automatically distribute and notify the users of the latest release of your application. With the bundles, you can provide different versions of your application for different device types,OS versions, or both, and App World will ensure that the correct version is installed on the correct device.

Don’t worry about extracting sibling CODs—App World will take care of that for you. You don’t need to provide a JAD file or anything other than the COD files for your application. If you want to automate the release process more, App World lets you import all the information for a release from a zip file. This is handy if you want your build system to take care of updating the list of supported devices and OS versions for each build.

Different Versions for Different OS Versions and Device Models

There are cases where you may want to have several versions of your application available, such as if you want to leverage some OS 4.7–specific features to take full advantage of the Storm’s touch screen but still want a version that supports all devices with OS 4.2.1 and later. This is easy to handle through App World using file bundles. We’ll use a couple of examples to illustrate how this can work. The first example is a version for OS 4.7 devices and a version for OS 4.2.1 devices:

  1. Create a bundle called OS 4.2.1.
  2. Check Supports All Devices.
  3. Set the minimum OS to 4.2.1.
  4. Upload your OS 4.2.1 COD file.
  5. Create another bundle called OS 4.7.
  6. Check Supports All Devices.
  7. Set the minimum OS to 4.7.0.
  8. Upload your OS 4.7 COD file.

App World will direct devices with OS 4.7 and later to the OS 4.7 version and will direct other devices to the OS 4.2.1 version. The second example is a specific version for only the Pearl models, such as if your application needed a custom build for a small screen device and another version for all other devices. Follow steps 1–4 from example 1 to create an OS 4.2 version, then perform the following steps:

  1. Create a bundle called Pearl.
  2. Set the minimum OS to 4.2.0.
  3. Uncheck Supports All Devices, and move all the 81xx and 82xx devices to the Supported box.
  4. Upload the Pearl COD file.

This is how you can use the bundle distribution system in App World to provide specific builds of your applications for specific device models or OS versions.

Step 7: Summary

This summarizes the main data from your application submission. You can go back to any step by clicking the appropriate step in the header.


And that’s it! Your app will generally be approved in 8–10 business days and ready to distribute or sell to every BlackBerry device with App World installed.

App World API

App World also supports some API calls that let you integrate your application with App World in some useful ways.To help you get the most out of publishing on App World, we’ll explore a couple of these features now.

Getting App World Properties for Your Application

App World embeds a number of properties in applications that are downloaded and purchased through App World; these properties include the license key (if a license model other than static was used), the App World application name as specified in the Vendor Portal, the e-mail of the application purchaser, and others. Through the BlackBerry API, your application has access to these properties, so, for example,you can easily display license information to the user or pass license key information to your server as a way of tracking unique users. The following code snippet will read a property set by App World from an application on the BlackBerry device:

private String loadProperty(String appName, String propertyName){
CodeModuleGroup group =
if (group!=null) {
return group.getProperty(propertyName);
return null;

The appName parameter should be the same as the name you specified for your application in the App World Vendor Portal.The propertyName parameter can be one of the following string values:

  • RIM_APP_WORLD_ID: The numeric ID of the App World application. This is useful if you want to launch the App World client to your specific application details screen, such as when an update is available or a trial has expired and you want to make it easy for your user to purchase your application.
  • RIM_APP_WORLD_UPDATE_AVAIL: “True” if an updated version is available on App World, “false” otherwise. You may want to check this property periodically and have your application display a message to the user when an update is available.
  • RIM_APP_WORLD_LICENSE_KEY: The license key (if any) associated with a Paid application or a Try & Buy application after the user has purchased the application and received a license key.
  • RIM_APP_WORLD_NAME: The name of the application as specified in the App World Vendor Portal.
  • RIM_APP_WORLD_EMAIL: A hash of the e-mail address of the purchaser.
  • RIM_APP_WORLD_PIN: The hexadecimal value of the device PIN this application was downloaded onto.
  • RIM_APP_WORLD_VERSON: The application version as specified in the App World Vendor Portal.

So, for example, to load the license key for an application named My Application that was purchased through App World, you would call the loadProperty method as follows:

String myAppLicenseKey = loadProperty("My Application",

Launching App World from Your Application

With OS 4.3 and later, you can use the javax.microedition.content package to launch App World from your BlackBerry application and display a specific application when it launches. This is useful if you want to provide links to other applications you have developed or provide a way from your app to easily open App World for a user to purchase your application after a trial has expired or download an updated version. The following code will launch App World and open the application whose ID is provided:

import javax.microedition.content.ContentHandler;
import javax.microedition.content.ContentHandlerException;
import javax.microedition.content.Invocation;
import javax.microedition.content.Registry;
import net.rim.device.api.ui.component.Dialog;
public class AppWorldLauncher {
public void launchAppWorld(String appId) throws IllegalArgumentException,
ContentHandlerException, SecurityException, IOException {
Registry registry = Registry.getRegistry(
Invocation invocation = new Invocation(null, null,
"", true,
invocation.setArgs(new String[] { appId });
Invocation response = registry.getResponse(true);
if (response.getStatus()!= Invocation.OK){
Dialog.alert("Unable to launch App World");

appId is the numeric application ID given when your application is submitted to the App World Vendor Portal. You can find this ID when you click Edit on your application details in the App World Vendor Portal.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status