BlackBerry Push Overview
BlackBerry Push Overview
Delays in getting data due to polling latency (interval) Depending on polling interval, received data may be outdated Wastes battery life checking whether an event of interest has occurred Generates extra server traffic and load for your application
1,000,000 devices x 12 polls/hr x 24 hours = 288,000,000 requests per day Doesnt scale
Alert
A notification to the device to wake up an application to do something Like Push, but no content, or content limited to a application activity code
Push
Alerts
Description
Application will use resources on the device to open connectivity to a server at regular intervals, whether new information is actually available or not. Needs to occur in very tight intervals to mimic a push experience. Constant connections opening / closing on the device increase drain on battery. Most connections are opened / closed unnecessarily, as there is no new information available. Albeit minimal, customer data plans area effected by empty polling requests.
A very small piece of information is sent to the device, that provides the customer with a notification that something new is available for the respective service. While initial alert is very adequate, customers have to wait for relevant (richer) information to download in separate, disconnected (and at times lengthy) step. Lack of multiple, unique ports contributes to lost alerts / information, as new alerts overwrite unread old alerts.
A very small piece of information is sent to the device, triggering the respective application to wake up and download the data specified in the initial information. Great way to deal with large files, but inefficient, as device has to work on every content delivery (even for small data packets). If used at all times, this will lead to similar effects as Polling
Effects / Experience
The BlackBerry Push Service represents a most efficient way to quench customer information needs! saves device battery life and customer data budgets! creates more immediate user experiences!
Web Signals
Push browser icon to home screen (for web sites) Predecessor to Data Push infrastructure
Basic Flow
1. Content provider sends a push request 2. BlackBerry service returns a response 3. BlackBerry service pushes data to an assigned, specific port on device(s) 4. Device returns response to BlackBerry service 5. BlackBerry service forwards acknowledgement to content provider 6. Read notification is returned to the BlackBerry service
Key Features
Allows up to 8kB payload Dedicated application ports avoid port collisions Uses standard push protocols (WAP PAP 2.2) Supported requests (via HTTPS XML):
Submit Push (to PIN) , Cancel Push Query for Status Query for Device Capabilities
Response:
Result notification
Developer-controlled expiry time (Push system will automatically store push requests until expiry time) Supports delivery notifications Developer-set quality of service:
Application (message reached application ) Transport (message reached port on device) Fire & Forget (no acknowledgements)
Items in red are unique to the BlackBerry Push Service and Platform
Options
BlackBerry Push Service provides options depending on the use-case, target market and intended budget:
Single Port
Multiple Casting Methods Status Query Quality of Service Configurable Return URL Controllable Expiry Time
Yes
Yes Yes Yes Yes Yes up to 8 hours Free1
(1 if 100,000 or less pushes per day)
Yes
Yes No No No Yes up to 30 days Free
(at all levels)
Pricing
Tiered Pricing2
(2 if above 100,000 pushes per day; negotiated at time of registration)
Push Service Essentials has been optimized for broadcasting less critical information (if the end user does not receive the message, it doesnt matter) Push Service Plus represents the current gold standard push service, and provides content providers the ability to know where their critical information is every step of the (push) way
Enablement
1. Content Provider registers in section Pricing & Registration at:
https://www.blackberry.com/developers/pushservice/
Downloads Push Service SDK from website Eval App ID, PW provided by RIM
A separate eval infrastructure is provided by RIM
3. Content Provider develops & tests 4. Content Provider requests production 5. RIM reviews application
Follows Tech Schedule guidelines? Provide Production credentials when accepted
Features In Depth
Application Registration
Pushes can only be submitted to devices, that have registered with the push service
Registration
Enables the device to receive Pushes for a specific application from provider Disables the device from receiving pushes Push initiators must be sure to deregister if the application is no longer being used
Deregistration
We accept multiple push requests for a device - but we dont guarantee order For acceptance, the application must have a mechanism for the user to register / deregister when needed (push on / off switch)
Submit Push
Sent to PIN Up to 8K payload Mode:
Point to Point: Information is sent to single PIN Multicast: Information is sent to a list of PINs Broadcast: Information is sent to all PINs that are registered for a given application
Data Push Service will attempt to deliver the message until expiry time
Device is monitored for returning to coverage Push only occurs if device is actually in coverage
Quality of Service
Push Plus option allows to set delivery notifications :
Notifications are sent to push initiator, via content providers notification URL Typically base URL is used from content providers domain (unless otherwise specified by content provider) Be prepared to receive a response for each message sent! Application-level (Push Plus Option only): Information reached the application acknowledged all the way back to the push initiator Transport-level (Push Plus Option only): Information reached the device acknowledged to push initiator Server-level (Push Plus Option only): Information reached the BlackBerry Push Service servers acknowledged to push initiator Fire & forget: No acknowledgements are provided (at any level)
Reliability
Choose the appropriate QoS for your application
There are tradeoffs for performance and battery life
Result notifications
Your server app must be prepared to handle these, if you request them Server outages - RIM infrastructure will retry deliveries for a while
BlackBerry Push Service is content agnostic will push any content the push initiator submits in the payload (up to 8kB): we deliver what we get! Content provider is responsible for content encryption (and unencryption in the application), if the content submitted is sensitive Users should be authenticated to the Push Initiators server application as part of the registration process
Each push request is authenticated to push Infrastructure 1:1 relationship between push initiator and application Push initiator can only push to their applications All applications must be registered to the Push Infrastructure Push initiator is authenticated to the Push Infrastructure Unique listening port for each application Push initiator can only push to devices registered for their application
Spam Prevention
Implement credentials obtained by RIM (App ID, PW, device port) Your application must be registered in our infrastructure A separate (shared) eval infrastructure is provided for development and testing Eval system is shared with other content providers testing, has limited capacity Upgrade from eval environment to production environment can occur at any time This service will have limited capacity
Test
Appendix