Documente Academic
Documente Profesional
Documente Cultură
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:
Pricing Free
Tiered Pricing2 (at all levels)
(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
doesn’t 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/
2. Content Provider obtains documentation:
Downloads Push Service SDK from website
Eval App ID, PW provided by RIM
3. Content Provider develops & tests
A separate “eval” infrastructure is provided by RIM
4. Content Provider requests production
5. RIM reviews application
Follows Tech Schedule guidelines?
Provide Production credentials when accepted
6. Content Provider launches service
Distribution through all applicable distribution models
(incl. VPL / App Centre / App Store)
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
Deregistration
Disables the device from receiving pushes
Push initiators must be sure to deregister if the application is no longer being used
→ We accept multiple push requests for a device - but we don’t 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
→ Deliver Before (expiry)
Up to 8 hours (Plus Option) / 30 days (Essentials Option) before the message
is timed out
Quality of Service
→ Push Plus option allows to set delivery notifications :
Notifications are sent to push initiator, via content provider’s 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!
→ Quality of Service / Acknowledgements to push initiator
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
→ Be sure to handle all request failures in your application
→ 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
→ Always provide an unsubscribe option in your device application
→ Highest reliability can be achieved by application acknowledgement direct
to your server
Security and Spam Prevention
Security
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 un-encryption in
the application), if the content submitted is sensitive
Users should be authenticated to the Push Initiator’s server application as part
of the registration process
Each push request is authenticated to push Infrastructure
Spam Prevention
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
Building and Testing Applications
Build
Use BlackBerry Push Service SDK to initiate development
Contains installable client and server applications
Addresses some of the issues inherent to a push based architecture (registration,
listener, et al.)
Implement credentials obtained by RIM (App ID, PW, device port)
Test
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
Appendix
References and Resources
Push Application Protocol, OMA-WAP-TS-PAP-V2_2-20071002-C.pdf,URL:
http://www.openmobilealliance.org/Technical/release_program/push_v2_2.aspx
"Uniform Resource Locators (URL)", T. Berners-Lee, et al., URL:
http://www.ietf.org/rfc/rfc1738.txt
"Wireless Application Group User Agent Profile Specification", Open Mobile
Alliance™, WAP‑248‑UAProf. URL: http://www.openmobilealliance.org/
"Resource Description Framework (RDF) Model and Syntax Specification", W3C
Recommendation, 22-February-1999. URL: http://www.w3.org/TR/REC-rdf-syntax
"Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", N.
Freed, et al., URL: http://www.ietf.org/rfc/rfc2046.txt