Summary
This article applies to the following:
|
Note
As of BES versions 4.1.7 there is no longer any need to perform a network request from the BlackBerry smartphone Browser before sending a push to that device with Application-Level Reliability. In this version additional information about the smartphones has been added to the BES database allowing the BES to determine the device version and other information during startup rather than relying on the UAProf document to be passed.
Details
Before the BlackBerry device user makes a request using the BlackBerry Browser via the BlackBerry MDS, an application attempts to send an Application-Level Reliable Push to the device. BlackBerry MDS responds with the following error:
The specified delivery method is not possible
Before an application can send an Application-Level Reliable Push to a device, the user must make at least one request using the BlackBerry Browser via the BlackBerry MDS. BlackBerry MDS does not register the BlackBerry Device Software version until it receives a request with the UAProf HTTP header.
If it does not register the device software version, it cannot verify whether Application-Level acknowledgements are supported. This is a problem if you are building a solution that pushes content to a Java™ client, and the customer does not use the BlackBerry Browser, or an IT Policy disables the use of the BlackBerry Browser.
Procedure
A BlackBerry application can make a request via the BlackBerry MDS and set the User Agent and User Agent Profile headers to the proper value for the device. For different ways to make an HTTP or socket connection, see this article.
The User Agent header must be set as follows:
BlackBerry<BlackBerry-model>/<software-version>
Where <BlackBerry-model> is the model number of the device making the request and <software-version> is the device software version.The following is an example header for the BlackBerry 8700 Wireless Handheld™ running Device Software 4.1:
BlackBerry8700/4.1.0
The User Agent Profile header must be set as follows:
http://www.blackberry.net/go/mobile/profiles/uapro Where <BlackBerry-model> is the model number of the device making the request and <software-version> is the device software version. The following is an example for the BlackBerry 8700 wireless handheld running Device Software 4.1: http://www.blackberry.net/go/mobile/profiles/uapro
To determine the device model and software version, go to Options > About on the device.
OR
The method net.rim.device.api.system.DeviceInfo.getDeviceName |