Push

Push technology lets you send up to 8KB of data (images, text, or audio) to BlackBerry devices as soon as it's available. Users don't need to request or download the data to begin viewing it. To send data to a device, you need two apps: a server-side push initiator, and a client-side push-enabled app. The server-side app sends the push content, and the client-side app receives it. The following diagram shows a complete push solution.

Complete push solution

Enterprise Push

Apps that send pushes through BES10 or BES12 have access to some functionality that is not available to consumer push apps. You can check the status and receive notifications about delivered content. Specifically:

  • The push initiator tracks push messages and saves the information to the local database, so you don't need to query the Push Proxy Gateway (PPG).
  • Results notification lets you know when messages are delivered. You can use the notification to maintain subscriptions, update your subscriber list if you have any problems, and gather statistics.
  • The PPG maintains the status of pending messages, and can let you know the status of a delivered message at a specific time.
  • Push cancelation can withdraw messages as long as they haven't already been delivered.
  • You can set the expiry time for content delivery for up to 8 hours.

Here's how content is sent to a client app on a BlackBerry device when you send pushes through BES10 or BES12.

Diagram showing how data flows between the Push Initiator and BES10 or BES12 and between BES10 or BES12 and BlackBerry devices.
  1. The content provider sends content in a push request.
  2. The PPG authenticates and acknowledges the push request.
  3. The PPG pushes the content to the specified device or devices.
  4. Each BlackBerry device acknowledges the push request to the PPG.
  5. The content provider requests the status of the content from the PPG. The status request can be for any or all of the devices that received the content.
  6. The PPG returns a single response that contains the status of the content for the specified devices.

BlackBerry MDS Connection Service

The BlackBerry MDS Connection Service controls the flow of content that is sent to the BlackBerry device. This flow control allows the BlackBerry MDS Connection Service to minimize the amount of content that is sent over the wireless network, and can help to reduce the impact of pushing content to BlackBerry devices that are out of wireless coverage area, turned off, or otherwise unavailable.

For more information about the BlackBerry MDS Connection Service, see the documentation for either the BlackBerry 10 WebWorks SDK or the BlackBerry 10 Native SDK.

Server-side apps

The server-side app sends HTTP POST requests to the BlackBerry MDS Connection Service on the web server listener port. The HTTP POST requests contain delivery parameters and the content that is being sent to the client-side app. The push requests generated by the server-side app must conform to either the WAP PAP 2.0 specification or to the BlackBerry push format.

For more information about writing a server-side app, see the documentation for either the BlackBerry 10 WebWorks SDK or the BlackBerry 10 Native SDK.

Client-side apps

On the device, the Push Service listens for and receives push content, activates the client-side application if it's not already running, and delivers the push content. You can develop an app that's designed to receive and handle push content.

To create a client-side push-enabled app for devices running BlackBerry 7 or earlier, see the BlackBerry 7 documentation.

You can create a client-side app for devices running BlackBerry 10 using either of the following platforms.

BlackBerry Native SDK

The BlackBerry Native SDK includes the Cascades framework. The Cascades framework contains tools and APIs that you can use to build rich apps using Cascades libraries and Qt libraries.

You can use the Cascades framework to develop a client-side app that listens for push content. For more information, visit the BlackBerry Native SDK documentation website.

BlackBerry WebWorks

BlackBerry WebWorks apps are standalone BlackBerry device apps that are built on standard web technologies, including HTML, XHTML, style sheets, JavaScript, SVG, image files, and other resources. Once they have been packaged for use on a device, these apps follow the same security rules, configuration, and deployment model as any BlackBerry native app.

You can use BlackBerry WebWorks to develop a client-side app that listens for push content. For more information, visit the BlackBerry WebWorks documentation website.