19
BlackBerry Messenger SDK Version: 1.3 Getting Started Guide

BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Embed Size (px)

Citation preview

Page 1: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

BlackBerry Messenger SDKVersion: 1.3

Getting Started Guide

Page 2: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Published: 2012-01-10SWD-1391821-0217032050-001

Page 3: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Contents1 System requirements........................................................................................................................................ 2

2 BlackBerry Messenger version dependencies.................................................................................................. 3

3 The BlackBerry Messenger pre-production environment................................................................................ 4

4 Communication limitations............................................................................................................................... 5

5 Installing and configuring simulators to support the BlackBerry Messenger SDK............................................ 6Set up Java environment variables................................................................................................................... 6Install and run the BlackBerry MDS Simulator.................................................................................................. 6

Configure the BlackBerry MDS Simulator to use unlimited strength encryption...................................... 7Install the BlackBerry Smartphone Simulator package..................................................................................... 7

Configuring the BlackBerry Smartphone Simulator................................................................................... 7

6 Setting up your development environment..................................................................................................... 9Create a project for your BlackBerry Messenger connected application using the BlackBerry Java Plug-infor Eclipse......................................................................................................................................................... 9Create a workspace for your BlackBerry Messenger connected application using the BlackBerry JavaDevelopment Environment............................................................................................................................... 9

7 Running your BlackBerry Messenger connected application........................................................................... 11Run your application using the simulators....................................................................................................... 11Run your application from the BlackBerry Java Plug-in for Eclipse.................................................................. 11Run your application from the BlackBerry Java Development Environment.................................................... 12

8 Provide feedback.............................................................................................................................................. 14

9 Legal notice....................................................................................................................................................... 15

Page 4: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

System requirements 1• BlackBerry Messenger SDK 1.3 (www.blackberry.com/developers/blackberrymessenger/)• Java SE Development Kit (JDK), 32-bit, Version 6, Update 20 or higher ( http://www.oracle.com/technetwork/

java/javase/downloads/index.html)Note: The BlackBerry Messenger platform does not support 64-bit Java, or Java 7.

One of the following development environments:• BlackBerry Java Plug-in for Eclipse (na.blackberry.com/developers/javaappdev/javaplugin.jsp) that includes the

BlackBerry Java SDK 6.0• BlackBerry Java Development Environment 6.0 (na.blackberry.com/eng/developers/javaappdev/

javadevenv.jsp)

Getting Started Guide System requirements

2

Page 5: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

BlackBerry Messenger version dependencies 2The following table shows the dependencies between versions of the BlackBerry Messenger SDK, BlackBerryMessenger, and BlackBerry Device Software. You can use this table to determine the minimum version of BBMand BlackBerry Device Software that are required to run your application.

BBM SDK version BBM version BlackBerry Device Software version

1.0 6.0.0 5.0 and later1.2 6.0.1 5.0 and later1.3 6.1.0 5.0 and later

Getting Started Guide BlackBerry Messenger version dependencies

3

Page 6: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

The BlackBerry Messenger pre-productionenvironment

3

The BlackBerry Messenger pre-production environment is a dedicated cluster of BBM services that provides all ofthe functionality of the BBM Social Platform. The pre-production environment is ideal for building internal, alphaand beta versions of your BBM connected app. It provides you with an opportunity to test your app's features andfunctionality on activated BlackBerry smartphones with a small beta community before you release it through theBlackBerry App World storefront.

If your app, or app version, does not already exist in BlackBerry App World, it is automatically placed in the pre-production environment. The UUID that you provide acts as a unique identifier for your app that facilitatesmonitoring for any adverse or unintended events (such as burstiness) in the traffic that is associated with yourapp. Since the pre-production environment is intended for testing, while restricting traffic from your app in theproduction environment, the following limitations apply:

• Each app is limited to 100 active instances.• An app expires after 180 days. Once expired, your app no longer has access to the BBM platform services in the

pre-production environment.• An app in pre-production can communicate (for example, share content or send join invitations) only with other

users who are running the same app or app version. This means that users who are testing the app cannotcommunicate with users who are running any version of that app if it has been submitted to or is available inBlackBerry App World.

Getting Started Guide The BlackBerry Messenger pre-production environment

4

Page 7: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Communication limitations 4To prevent an application from using too much of the available bandwidth, the BlackBerry Messenger platformlimits the total volume of data that is transferred by a BBM connected application as follows:

• All messages and application data transferred over channel and session connections for all BBM connectedapplications that are running on a BlackBerry device are collectively limited to a maximum data transfer ratethat is configured by the BBM server. If the total volume of data attributed to an application threatens to exceedthe maximum transfer rate, the BBM platform throttles data traffic for that application to reduce the transferrate to an acceptable level. File transfers sent from a BBM connected application are not considered to beapplication data, and are therefore exempt from this limitation on the data transfer rate.

• File transfers sent from a BBM connected application are limited to a maximum of 60KB per transfer.• The maximum number of users in a connection is limited to 24.

Getting Started Guide Communication limitations

5

Page 8: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Installing and configuring simulators tosupport the BlackBerry Messenger SDK

5

To test your BBM connected application, you must install and configure the BlackBerry MDS Simulator and theBlackBerry Smartphone Simulator with settings that enable communication between the BlackBerry MDSSimulator and two instances of the BlackBerry Smartphone Simulator.

Set up Java environment variablesBefore you begin: Verify that you are running the 32-bit version of the Java SE Development Kit (JDK).

1. In Windows, open the Environment Variables dialog.

2. Set the JAVA_HOME environment variable to the directory where you installed the the JDK, for example: C:\Program Files\Java\jdk1.6.0_24.In 64-bit Windows, the default path is C:\Program Files(x86)\Java\jdk1.6.0_24.

3. In the PATH environment variable, add %JAVA_HOME%\bin; to the beginning of the string.

4. Click OK to save and close the Environment Variables dialog.

5. Verify that your environment variables are set correctly.

a. Open a command prompt.

b. Type java -version and verify that the Java version is the same as the version that you set in theenvironment variable:

java version "1.6.0_24"Java(TM) SE Runtime Environment (build 1.6.0_24-b07)Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)

Install and run the BlackBerry MDS SimulatorBefore you begin: Complete the task, Configure the BlackBerry MDS Simulator to use unlimited strengthencryption.

1. In the folder where you extracted the BlackBerry Messenger SDK, open the MDS simulator folder.

2. Extract the contents of the MDSv3.5.3.zip file.

3. Open the sdk > mds folder.

4. Double-click run.bat to launch the BlackBerry MDS Simulator.

After you finish:

If you are running the BlackBerry MDS Simulator and the BlackBerry Smartphone Simulator on separatecomputers, in the rimpublic.property file (by default, located in C:\Program Files\Research In Motion\BlackBerry JDE 6.0.0\MDS\config), change the UDP.send.host value to the IP address of the computer runningthe BlackBerry MDS Simulator.

Getting Started Guide Installing and configuring simulators to support the BlackBerry Messenger SDK

6

Page 9: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Configure the BlackBerry MDS Simulator to use unlimited strengthencryptionNote: You must live in an eligible country to enable this functionality.

Before you begin: Verify that you are running the 32-bit version of the Java SE Development Kit (JDK).

1. Download the jce_policy-6.zip file from the Oracle website at http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html.

2. Extract the contents of the jce_policy-6.zip file to your computer.

3. In the directory of the system JDK (for example, C:\Program Files\Java\jre1.6.0_24\jre\lib\security), replace thefiles local_policy.jar and US_export_policy.jar in the security folder.For more information, see Set up Java environment variables

Install the BlackBerry Smartphone Simulator package1. In the folder where you extracted the BlackBerry Messenger SDK file, open the BlackBerry smartphone simulator

folder.

2. Double-click the BlackBerry_Simulators_<version>_<model>.exe file.

3. Complete the instructions on the screen.After you finish installing the BlackBerry® Smartphone Simulator package, two .bat files, sim1.bat andsim2.bat, are available in the folder in which you installed the BlackBerry Smartphone Simulator package.These .bat files launch two instances of the BlackBerry Smartphone Simulator. These instances communicatewith each other over the BlackBerry Messenger platform using the BlackBerry MDS Simulator running on thesame computer. To learn how to run the BlackBerry Smartphone Simulator instances and the BlackBerry MDSSimulator on separate computers, see Configuring the BlackBerry Smartphone Simulator.

Configuring the BlackBerry Smartphone SimulatorIf you want to run the BlackBerry Smartphone Simulator without launching the two .bat files that are bundled withthe BlackBerry Messenger SDK .zip file, you can create your own .bat files that specify the following parameters tosupport the BlackBerry Messenger SDK.

Parameter Description

app-param=regDestIP This parameter specifies the IP address of the computer running theBlackBerry MDS Simulator. If the BlackBerry MDS Simulator is runningon the same computer as the BlackBerry Smartphone Simulator,specify 127.0.0.1.

app-param=regDestPort This parameter should specify the default port, 19781. If you use adifferent value, make sure it is the same for every instance of theBlackBerry Smartphone Simulator.

Getting Started Guide Install the BlackBerry Smartphone Simulator package

7

Page 10: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Parameter Description

app-param=DisableSyncServiceRecord

This parameter must be specified to make PIN-to-PIN communicationbetween devices possible. If you have run the BlackBerry SmartphoneSimulator without specifying this parameter in the past, in theBlackBerry Java Plug-in for Eclipse, click BlackBerry > Clean Simulatorto delete the file system and remove the SYNC service record from theprevious instance.

session The session number must be unique for each instance of the simulator.app-param=regSrcPort The port number must be unique for each instance of the simulator.pin This parameter must be 0x2100000 or greater and unique for each

instance of the simulator.

Example

The following example demonstrates how to run two instances of the BlackBerry Smartphone Simulator using thesame instance of the BlackBerry MDS Simulator. Create a .bat file with the following contents to launch eachcustom BlackBerry Smartphone Simulator instance:

Simulator 1 .bat file contents:

@echo offfledge.exe /app=Jvm.dll /handheld=9800 /session=Sim1 /app-param=JvmAlxConfigFile:9800.xml /data-port=0x4d44 /data-port=0x4d4e /pin=0x2100000A /app-param=regVersion=3 /app-param=regDestIP=127.0.0.1 /app-param=regDestPort=19781 /app-param=regSrcPort=19780 /app-param=DisableSyncServiceRecord

Simulator 2 .bat file contents:

@echo offfledge.exe /app=Jvm.dll /handheld=9800 /session=Sim2 /app-param=JvmAlxConfigFile:9800.xml /data-port=0x4d44 /data-port=0x4d4e /pin=0x2100000B /app-param=regVersion=3 /app-param=regDestIP=127.0.0.1 /app-param=regDestPort=19781 /app-param=regSrcPort=19782 /app-param=DisableSyncServiceRecord

Getting Started Guide Install the BlackBerry Smartphone Simulator package

8

Page 11: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Setting up your development environment 6Both the BlackBerry Java Plug-in for Eclipse and the BlackBerry Java Development Environment supportdevelopment of BlackBerry Messenger connected applications.

Create a project for your BlackBerry Messenger connectedapplication using the BlackBerry Java Plug-in for Eclipse1. In Eclipse, open the BlackBerry Application Development perspective.

2. Click File > New > BlackBerry Project.

3. In the New BlackBerry Project dialog box, in the Project Name field, type a name for your project.

4. In the JRE section, make sure you select a BlackBerry JRE that is version 5.0 or later, and click Finish.

5. In the Package Explorer view, right-click the project and click Properties.

6. In the Properties dialog box, in the left pane, click Java Build Path.

7. Click the Libraries tab.

8. Click the Add External JARs button.

9. Navigate to the folder where you extracted the BlackBerry Messenger SDK file,. In the BBM SDK folder, double-click net_rim_bb_qm_platform.jar.

10. Click Next.

11. In the properties window, click OK.

12. When you are ready to build your project, on the Project menu, click BlackBerry > Package All.

After you finish:

To test your application see Running your BlackBerry Messenger connected application.

Create a workspace for your BlackBerry Messengerconnected application using the BlackBerry JavaDevelopment EnvironmentBefore you begin: In the folder where you extracted the BlackBerry Messenger SDK, copynet_rim_bb_qm_platform.jar from the BBM SDK folder to the lib folder of the BlackBerry Java DevelopmentEnvironment (the default location of the lib folder is C:\Program Files\Research In Motion\BlackBerry JDE6.0.0\lib).

1. In the BlackBerry JDE, click File > New Workspace.

2. In the Workspace Name field, type a name for the workspace and click OK.

3. Right-click the workspace and click Properties.

4. In the Workspace Properties dialog box, in the General tab, beside the Imported Jar Files list, click Add.

Getting Started Guide Setting up your development environment

9

Page 12: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

5. In the Add file dialog box, navigate to C:\Program Files\Research In Motion\BlackBerry JDE 6.0.0\lib and doubleclick the net_rim_bb_qm_platform.jar file.The file appears in the Imported Jar Files list in your workspace properties. You can now import the BlackBerryMessenger classes and compile your application.

6. Right-click the workspace and perform one of the following actions:• To import an existing project, click Add Project to <workspace name>.• To create a new project, click Create new Project in <workspace name>.

7. When you are ready to build your project, click the BlackBerry Smartphone Simulator profile drop-down listlocated in the top-right corner of the BlackBerry JDE. By default, the selected profile is Default Simulator.

8. In the drop-down list, click 9800-6.0.0.313.

9. On the Build menu, click Build.The .cod files for your application are created and placed in the simulators directory of the BlackBerry JDE.

After you finish:

To test your application, see Running your BlackBerry Messenger connected application.

Getting Started Guide Create a workspace for your BlackBerry Messenger connected application using the BlackBerry JavaDevelopment Environment

10

Page 13: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Running your BlackBerry Messenger connectedapplication

7

Run your application using the simulators1. In the folder where you extracted the .zip file containing the BlackBerry Messenger SDK, open the MDS Simulator

-> sdk -> mds folder.

2. Double-click run.bat to launch the BlackBerry MDS Simulator.

3. In Windows Explorer, navigate to the folder where you installed the BlackBerry Smartphone Simulator. Bydefault, the location of this folder is C:\Program Files\Research In Motion\BlackBerry Smartphone Simulators6.0\6.0.0.313 (9800).

4. Double-click the sim1.bat file (or your custom .bat file) to launch a BlackBerry Smartphone Simulator withappropriate settings to run your application and communicate with the BlackBerry MDS Simulator.

5. In Windows Explorer, in the BlackBerry Smartphone Simulator folder, double-click the sim2.bat file (or yoursecond custom .bat file) to launch a second instance of the BlackBerry Smartphone Simulator with theappropriate settings to communicate with the first BlackBerry Smartphone Simulator.

6. To have each instance of BlackBerry Messenger have each other as contacts, in the first BlackBerry SmartphoneSimulator instance, open BlackBerry Messenger.

7. Click the Menu key and click the Invite Contact menu item.

8. Click Invite by sending a PIN or email message.

9. In the To field, type 2100000B. This is the default PIN of the second BlackBerry Smartphone Simulator instance.

10. In the second BlackBerry Smartphone Simulator instance, open BlackBerry Messenger and accept the invitation.

11. Click the Send key.

12. In the first BlackBerry Smartphone Simulator instance, close BlackBerry Messenger.

13. On the Home screen, click the icon for your BlackBerry Messenger platform application.

You can now communicate between the two BlackBerry Smartphone Simulator instances.

Run your application from the BlackBerry Java Plug-in forEclipse1. Click Run > Debug Configurations.

2. Create a new BlackBerry Simulator launch configuration and type in a name.

3. On the Projects tab, select the projects that you want to launch.

4. On the Simulator tab, click General.

5. In the Device dropdown list, select a simulator (for example: SimPackage-6.0.0.313_9800-9800).To learn how to install the simulator package, see Install the BlackBerry Smartphone Simulator package.

6. Click the Advanced tab:

Getting Started Guide Running your BlackBerry Messenger connected application

11

Page 14: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

a. Select the Use Customized command options check box.

b. In the Customized command line box, type the arguments from the sim1.bat file. For example,"C:\Program Files\Research In Motion\BlackBerry Smartphone Simulators6.0.0\6.0.0.313 (9800)\fledge.exe" /handheld=9800 /app-param=JvmAlxConfigFile:9800.xml /pin=0x2100000A /data-port=0x4d44 /data-port=0x4d4e /session=9800 /app="C:\Program Files\Research In Motion\BlackBerry Smartphone Simulators6.0.0\6.0.0.313 (9800)\Jvm.dll" /app=Jvm.dll /handheld=9800 /session=Sim1 /app-param=JvmAlxConfigFile:9800.xml /data-port=0x4d44 /data-port=0x4d4e /pin=0x2100000A /app-param=regVersion=3 /app-param=regDestIP=127.0.0.1 /app-param=regDestPort=19781 /app-param=regSrcPort=19780 /app-param=DisableSyncServiceRecord /title="BlackBerry 9800-1 Simulator"

c. In the Customized working directory box, type path of the directory where you installed the simulatorpackage.

d. In the Customized MDS directory box, type the path of the directory where you installed the MDS simulatorpackage.

To learn how to install the MDS Simulator package, view Install and run the BlackBerry MDS Simulator.

7. To save the settings, click Apply.

8. Click Debug.

Run your application from the BlackBerry JavaDevelopment Environment1. In the BlackBerry JDE, Click Edit > Preferences.

2. Create a new Simulator Profile and type in a name.

3. On the Simulator tab, click General.

4. In the Device dropdown list, select a simulator (for example: SimPackage-6.0.0.313_9800-9800).

5. Click the Advanced tab:

a. Select the Use Customized command options check box.

b. In the Customized command line box, type the arguments from the sim1.bat file. For example:"C:\Program Files\Research In Motion\BlackBerry Smartphone Simulators6.0.0\6.0.0.313 (9800)\fledge.exe" /handheld=9800 /app-param=JvmAlxConfigFile:9800.xml /pin=0x2100000A /data-port=0x4d44 /data-port=0x4d4e /session=9800 /app="C:\Program Files\Research In Motion\BlackBerry Smartphone Simulators6.0.0\6.0.0.313 (9800)\Jvm.dll" /app=Jvm.dll /handheld=9800 /session=Sim1 /app-param=JvmAlxConfigFile:9800.xml /data-port=0x4d44 /data-port=0x4d4e /pin=0x2100000A /app-param=regVersion=3 /app-param=regDestIP=127.0.0.1 /app-param=regDestPort=19781 /app-param=regSrcPort=19780 /app-param=DisableSyncServiceRecord /title="BlackBerry 9800-1 Simulator"

c. In the Customized working directory box, type path of the directory where you installed the simulatorpackage.

Getting Started Guide Run your application from the BlackBerry Java Development Environment

12

Page 15: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

d. In the Customized MDS directory box, type the path of the directory where you installed the MDS package.

6. Click OK.

7. Click Run.

Getting Started Guide Run your application from the BlackBerry Java Development Environment

13

Page 16: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Provide feedback 8To provide feedback on this deliverable, visit www.blackberry.com/docsfeedback.

Getting Started Guide Provide feedback

14

Page 17: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

Legal notice 9©2012 Research In Motion Limited. All rights reserved. BlackBerry®, RIM®, Research In Motion®, and relatedtrademarks, names, and logos are the property of Research In Motion Limited and are registered and/or used inthe U.S. and countries around the world.

Java, JRE, and JDK are trademarks of Oracle America, Inc. Eclipse is a trademark of Eclipse Foundation, Inc.Windows is a trademark of Microsoft Corporation. All other trademarks are the property of their respectiveowners.

This documentation including all documentation incorporated by reference herein such as documentationprovided or made available at www.blackberry.com/go/docs is provided or made accessible "AS IS" and "ASAVAILABLE" and without condition, endorsement, guarantee, representation, or warranty of any kind by ResearchIn Motion Limited and its affiliated companies ("RIM") and RIM assumes no responsibility for any typographical,technical, or other inaccuracies, errors, or omissions in this documentation. In order to protect RIM proprietaryand confidential information and/or trade secrets, this documentation may describe some aspects of RIMtechnology in generalized terms. RIM reserves the right to periodically change information that is contained in thisdocumentation; however, RIM makes no commitment to provide any such changes, updates, enhancements, orother additions to this documentation to you in a timely manner or at all.

This documentation might contain references to third-party sources of information, hardware or software,products or services including components and content such as content protected by copyright and/or third-partyweb sites (collectively the "Third Party Products and Services"). RIM does not control, and is not responsible for,any Third Party Products and Services including, without limitation the content, accuracy, copyright compliance,compatibility, performance, trustworthiness, legality, decency, links, or any other aspect of Third Party Productsand Services. The inclusion of a reference to Third Party Products and Services in this documentation does notimply endorsement by RIM of the Third Party Products and Services or the third party in any way.

EXCEPT TO THE EXTENT SPECIFICALLY PROHIBITED BY APPLICABLE LAW IN YOUR JURISDICTION, ALL CONDITIONS,ENDORSEMENTS, GUARANTEES, REPRESENTATIONS, OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,INCLUDING WITHOUT LIMITATION, ANY CONDITIONS, ENDORSEMENTS, GUARANTEES, REPRESENTATIONS ORWARRANTIES OF DURABILITY, FITNESS FOR A PARTICULAR PURPOSE OR USE, MERCHANTABILITY, MERCHANTABLEQUALITY, NON-INFRINGEMENT, SATISFACTORY QUALITY, OR TITLE, OR ARISING FROM A STATUTE OR CUSTOM ORA COURSE OF DEALING OR USAGE OF TRADE, OR RELATED TO THE DOCUMENTATION OR ITS USE, ORPERFORMANCE OR NON-PERFORMANCE OF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTYPRODUCTS AND SERVICES REFERENCED HEREIN, ARE HEREBY EXCLUDED. YOU MAY ALSO HAVE OTHER RIGHTSTHAT VARY BY STATE OR PROVINCE. SOME JURISDICTIONS MAY NOT ALLOW THE EXCLUSION OR LIMITATION OFIMPLIED WARRANTIES AND CONDITIONS. TO THE EXTENT PERMITTED BY LAW, ANY IMPLIED WARRANTIES ORCONDITIONS RELATING TO THE DOCUMENTATION TO THE EXTENT THEY CANNOT BE EXCLUDED AS SET OUTABOVE, BUT CAN BE LIMITED, ARE HEREBY LIMITED TO NINETY (90) DAYS FROM THE DATE YOU FIRST ACQUIREDTHE DOCUMENTATION OR THE ITEM THAT IS THE SUBJECT OF THE CLAIM.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR JURISDICTION, IN NO EVENT SHALL RIM BELIABLE FOR ANY TYPE OF DAMAGES RELATED TO THIS DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCE OF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICESREFERENCED HEREIN INCLUDING WITHOUT LIMITATION ANY OF THE FOLLOWING DAMAGES: DIRECT,

Getting Started Guide Legal notice

15

Page 18: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR AGGRAVATED DAMAGES,DAMAGES FOR LOSS OF PROFITS OR REVENUES, FAILURE TO REALIZE ANY EXPECTED SAVINGS, BUSINESSINTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS OF BUSINESS OPPORTUNITY, OR CORRUPTION OR LOSSOF DATA, FAILURES TO TRANSMIT OR RECEIVE ANY DATA, PROBLEMS ASSOCIATED WITH ANY APPLICATIONS USEDIN CONJUNCTION WITH RIM PRODUCTS OR SERVICES, DOWNTIME COSTS, LOSS OF THE USE OF RIM PRODUCTSOR SERVICES OR ANY PORTION THEREOF OR OF ANY AIRTIME SERVICES, COST OF SUBSTITUTE GOODS, COSTS OFCOVER, FACILITIES OR SERVICES, COST OF CAPITAL, OR OTHER SIMILAR PECUNIARY LOSSES, WHETHER OR NOTSUCH DAMAGES WERE FORESEEN OR UNFORESEEN, AND EVEN IF RIM HAS BEEN ADVISED OF THE POSSIBILITY OFSUCH DAMAGES.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR JURISDICTION, RIM SHALL HAVE NO OTHEROBLIGATION, DUTY, OR LIABILITY WHATSOEVER IN CONTRACT, TORT, OR OTHERWISE TO YOU INCLUDING ANYLIABILITY FOR NEGLIGENCE OR STRICT LIABILITY.

THE LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS HEREIN SHALL APPLY: (A) IRRESPECTIVE OF THE NATURE OFTHE CAUSE OF ACTION, DEMAND, OR ACTION BY YOU INCLUDING BUT NOT LIMITED TO BREACH OF CONTRACT,NEGLIGENCE, TORT, STRICT LIABILITY OR ANY OTHER LEGAL THEORY AND SHALL SURVIVE A FUNDAMENTALBREACH OR BREACHES OR THE FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR OF ANY REMEDYCONTAINED HEREIN; AND (B) TO RIM AND ITS AFFILIATED COMPANIES, THEIR SUCCESSORS, ASSIGNS, AGENTS,SUPPLIERS (INCLUDING AIRTIME SERVICE PROVIDERS), AUTHORIZED RIM DISTRIBUTORS (ALSO INCLUDINGAIRTIME SERVICE PROVIDERS) AND THEIR RESPECTIVE DIRECTORS, EMPLOYEES, AND INDEPENDENTCONTRACTORS.

IN ADDITION TO THE LIMITATIONS AND EXCLUSIONS SET OUT ABOVE, IN NO EVENT SHALL ANY DIRECTOR,EMPLOYEE, AGENT, DISTRIBUTOR, SUPPLIER, INDEPENDENT CONTRACTOR OF RIM OR ANY AFFILIATES OF RIMHAVE ANY LIABILITY ARISING FROM OR RELATED TO THE DOCUMENTATION.

Prior to subscribing for, installing, or using any Third Party Products and Services, it is your responsibility to ensurethat your airtime service provider has agreed to support all of their features. Some airtime service providers mightnot offer Internet browsing functionality with a subscription to the BlackBerry® Internet Service. Check with yourservice provider for availability, roaming arrangements, service plans and features. Installation or use of ThirdParty Products and Services with RIM's products and services may require one or more patent, trademark,copyright, or other licenses in order to avoid infringement or violation of third party rights. You are solelyresponsible for determining whether to use Third Party Products and Services and if any third party licenses arerequired to do so. If required you are responsible for acquiring them. You should not install or use Third PartyProducts and Services until all necessary licenses have been acquired. Any Third Party Products and Services thatare provided with RIM's products and services are provided as a convenience to you and are provided "AS IS" withno express or implied conditions, endorsements, guarantees, representations, or warranties of any kind by RIMand RIM assumes no liability whatsoever, in relation thereto. Your use of Third Party Products and Services shallbe governed by and subject to you agreeing to the terms of separate licenses and other agreements applicablethereto with third parties, except to the extent expressly covered by a license or other agreement with RIM.

Certain features outlined in this documentation require a minimum version of BlackBerry® Enterprise Server,BlackBerry® Desktop Software, and/or BlackBerry® Device Software.

Getting Started Guide Legal notice

16

Page 19: BlackBerry Messenger SDK Getting Started Guide 1391821 1114042439 001 1.3 Beta US

The terms of use of any RIM product or service are set out in a separate license or other agreement with RIMapplicable thereto. NOTHING IN THIS DOCUMENTATION IS INTENDED TO SUPERSEDE ANY EXPRESS WRITTENAGREEMENTS OR WARRANTIES PROVIDED BY RIM FOR PORTIONS OF ANY RIM PRODUCT OR SERVICE OTHERTHAN THIS DOCUMENTATION.

Research In Motion Limited295 Phillip StreetWaterloo, ON N2L 3W8Canada

Research In Motion UK Limited Centrum House 36 Station Road Egham, Surrey TW20 9LF United Kingdom

Published in Canada

Getting Started Guide Legal notice

17