Advertising Service

You can use the Advertising Service to display banner ads in your apps. The Advertising Service uses a central web portal where you can add or remove ad networks and adjust the percentage of ad requests that are sent to each ad network without having to change your app. You can also track ad performance metrics such as the reach, CTR (Click-Through Rate), eCPM (effective cost per 1000 impressions), and earnings.

The Advertising Service supports various ad types that conform to the Mobile Marketing Association (MMA) guidelines for mobile ads. Ad networks and ad agencies can also create ads that are designed to integrate with BlackBerry Device Software. For more information about the MMA guidelines, visit the MMA Mobile Advertising Guidelines.

As you develop your app, you can post questions and find answers on the BlackBerry Advertising Service forum.

Signing up

To use the Advertising Service, you need to sign up for the service and provide information about your organization and the app that you want to incorporate banner ads into. To sign up for the Advertising Service, visit the registration page.

After you sign up and BlackBerry approves your request, you will receive an email message with a link to the BlackBerry Advertising Service portal. Log in and click the App Setup tab. When you register your app, you are provided with a unique zone ID. The Advertising Service uses the zone ID to identify your app and to track ad performance metrics.

It can take up to 3 business days for you to receive the zone ID after you create an app. While you're waiting, you can use the trial zone ID, 117145, to test ad banners.


The following diagram shows the components that make up the Advertising Service:

Architecture diagram showing the components of the Advertising Service.

Ad networks

An ad network receives ad requests from your app through the Advertising Service mediation layer, evaluates the requests, and returns suitable ads through the mediation layer. Ads are selected based on the app's target audience and the type of device the app is running on.


The database contains information about your app, preferences that you specify in the web portal, and statistics about the past performance of ad networks. The mediation layer can use the information in the database to determine which ad networks to send ad requests to.

Web portal

The web portal is a website where you can view statistics about the performance of the ads in your app, manage your participation with ad networks, and generate reports. The mediation layer can use the preferences that you specify in the web portal to determine which ad networks to send ad requests to.

Server-side API

The server-side API enables the components of the mediation layer to communicate with ad networks, devices, and the database. The server-side API receives ad requests from the apps on devices, sends the ad requests to the appropriate ad networks based on the statistics stored in the database, and returns the ads to the devices.

What can the Advertising Service offer?

Simple implementation

You can use the Advertising Service to integrate ads into your app without having to write a lot of code. If you are developing a Cascades app, you can create a QML or C++ file that defines the ad banner. If you are developing a C app, you can call the C functions that define the ad banner. You can include the size, position, and refresh rate of the banner. When your app displays the ad banner, the remote ad server sends ad content to your app automatically.

Access to multiple ad networks from one location

You can use the Advertising Service to access multiple ad networks without having to negotiate agreements with each ad network.

Intuitive ad selection

Statistics about the performance of ads in your app are updated in near real-time so that your app always receives high-performing ads that are relevant to the target audience of your app. The Advertising Service mediation layer can use the statistics to automatically send ad requests from your app to the ad networks with the highest performing ads.

If you want to take a more hands-on approach in your Cascades app, in the Advertising Service web portal, you can specify your own preferences for how the mediation layer sends ad requests. You can allocate your ad inventory to the ad networks that provide the best CTR and fill rate, or you can allocate your ad inventory to ad networks manually.

After the mediation layer sends an ad request to an ad network, the ad network determines what ads to return to your app based on the past performance of ads in the ad placement (for example, CTR and fill rate).

Trial zone ID to use for evaluation

A trial zone ID is a free account that you can use to test the performance of a banner ad in your app. You do not need to register with BlackBerry to obtain a trial zone ID. Using a trial zone ID can help you decide whether to register for a unique zone ID to earn money from the ads in your app.

The trial zone ID that you can use to test ad banners is 117145.

How does it work?

Here's what happens when a user clicks an ad banner in your app:

  1. The app sends an HTTP GET request that contains an ad request to the Advertising Service mediation layer. The ad request contains the unique zone ID for the ad placement (the zoneId parameter).
  2. The mediation layer receives the ad request, examines the past performance of the ad networks and the preferences that you specify in the web portal, and sends an HTTP GET request that contains the ad request to the appropriate ad network server.
  3. The ad network server receives the HTTP request, examines the past performance of ads in the app, identifies the target audience based on the information that's in the ad request, and returns the appropriate HTML ad to the mediation layer.
  4. The mediation layer returns the HTML ad to the app.
  5. The app displays the ad in a Banner control (QML or C++) or a bbads_banner_t object (C).
  6. The user views and clicks the ad.
  7. The app sends a request through the mediation layer to the ad network server to obtain a destination URL. The contents of the destination URL can vary depending on the type of action. For example, the destination URL can contain a web address.
  8. The ad network tracks the click and sends the destination URL back through the mediation layer to the app.
  9. The app performs the actions that are associated with the type of action (for example, opens a website).

Best practices

The way that you display ads in your app can affect the performance of the ads. When incorporating ads into your app, consider the following guidelines:

  • Place ads on the screens that have the highest amount of traffic for your app. For example, place an ad on a screen that appears when an app opens rather than on a screen that requires multiple clicks to navigate to.
  • Place ads in prominent locations on your screens, such as the top or middle of the screen, depending on the design of your app.
  • Avoid crowding ads with the rest of the content in your app. Ads should be clearly visible so that they are easier to interact with. Consider creating a separate ad screen or dialog box for the ad.
  • Display an ad at a suitable moment. For example, don't display an ad when a game is playing. Display the ad before or after a game. For other types of apps, display an ad when the user moves from one screen to the next, or when the user completes a task in the app.
  • Provide enough time for users to view the ad. Refresh ads every two or three minutes.
  • Keep the ad visible when the user scrolls down the screen in your app.
  • Follow the MMA guidelines to display ads at the appropriate size. For more information, visit the MMA Mobile Advertising Guidelines.

Related resources


Last modified: 2014-10-01

Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus