Upload
rober-smith
View
225
Download
0
Embed Size (px)
Citation preview
8/7/2019 BBM Social Platform Integration and App Monetization
1/66
BlackBerry
Developer Day 2011
8/7/2019 BBM Social Platform Integration and App Monetization
2/66
BlackBerry App World and
BlackBerry CommercializationServices
8/7/2019 BBM Social Platform Integration and App Monetization
3/66
BlackBerry App World
8/7/2019 BBM Social Platform Integration and App Monetization
4/66
History
Launched April 1, 2009 in the US, Canada, and the UK
Expanded to 10 additional countries on July 31, 2009
Added localization support for French, Italian, German, and Spanish
PayPal is only supported payment method
Expanded distribution to LATAM and APAC Fall 2009
Added localization support for Brazilian Portuguese
8/7/2019 BBM Social Platform Integration and App Monetization
5/66
History
Launched BlackBerry App World Server 2.0 in April 2010
Backend support for BlackBerry ID, carrier and credit card billing
BlackBerry App World 2.0 launched August 2010 Support for BlackBerry ID, carrier billing, credit card and PayPal
billing in over 70 countries world wide and 21 currencies
BlackBerry App World 2.0 Web Storefront Launch Oct 2010
Buy, download, and manage your apps from on the web
New $0.99 and $1.99 price tiers
8/7/2019 BBM Social Platform Integration and App Monetization
6/66
History
Launched BlackBerry App World Server 2.1 in Nov 2010
Backend support for BlackBerry Payment Service , BlackBerryPlayBook App submissions and localized feature carousel
BlackBerry App World 2.1 launched February 2011
Support for in-app purchases
Localized Featured Content
8/7/2019 BBM Social Platform Integration and App Monetization
7/66
Key Statistics
2 million Average Daily Downloads
35 million Downloads of App World client
Available in 101 Countries and Territories
21 Currencies
6 Languages (English, French, Italian, German,
Spanish, and Brazilian Portuguese)
Over 20,000 apps available for download or purchase
8/7/2019 BBM Social Platform Integration and App Monetization
8/66
BlackBerry OS Demographics
8/7/2019 BBM Social Platform Integration and App Monetization
9/66
BlackBerry App World
NowFREE to register as avendor
NowFREE to submit apps andupgrades
8/7/2019 BBM Social Platform Integration and App Monetization
10/66
BlackBerry App WorldSubmission Walkthrough
8/7/2019 BBM Social Platform Integration and App Monetization
11/66
App World Submission Walk Through
8/7/2019 BBM Social Platform Integration and App Monetization
12/66
App World Submission Walk Through
8/7/2019 BBM Social Platform Integration and App Monetization
13/66
App World Submission Walk Through
8/7/2019 BBM Social Platform Integration and App Monetization
14/66
App World Submission Walk Through
8/7/2019 BBM Social Platform Integration and App Monetization
15/66
App World Submission Walk Through
8/7/2019 BBM Social Platform Integration and App Monetization
16/66
App World Submission Walk Through
8/7/2019 BBM Social Platform Integration and App Monetization
17/66
BlackBerry Payment Service
8/7/2019 BBM Social Platform Integration and App Monetization
18/66
BlackBerry Payment Service
Earn money selling digital goods from within your app
Freemium/ Paid upgrades
Unlock features or add-ons
Pay per use Subscriptions
Simple and easy to utilize
Integrate payment flow into your app
Manage digital goods via the vendor portal
70% Revenue share for developer
Secure, fast, consistent purchasing for BlackBerry ID users
Use PayPal, carrier billing or credit card
8/7/2019 BBM Social Platform Integration and App Monetization
19/66
BlackBerry Payment Service
Integrating with the BlackBerry Payment Servicepublic PaymentServiceScreen() {
public void run() {
try {
PurchaseArgumentsBuilder arguments = new PurchaseArgumentsBuilder().withDigitalGoodSku("abc123")
.withDigitalGoodName("Adventures of a BlackBerry Java Developer")
.withPurchasingAppName("Classic eBooks")
.withMetadata("ISBN 34560202010");
Purchase purchase =PaymentEngine.getInstance().purchase(arguments.build());
} catch (PaymentException e) {Dialog.inform(e.getMessage());}
}
}
8/7/2019 BBM Social Platform Integration and App Monetization
20/66
BlackBerry Payment Service
The call PaymentEngine.purchase() launches
BlackBerry App World to start the purchase process
This call is blocking
Successful purchase will result in: Purchase object being returned
Your content server being notified of the purchase (optional)
Unsuccessful purchase will result in an exception being thrown
8/7/2019 BBM Social Platform Integration and App Monetization
21/66
BlackBerry Payment Service
What can I sell?
Digital Content
eBooks, magazines, photos,
artwork, or digital propertyAdditional Functionality
new features, levels,
characters, or games
Dynamic Content & Services
video streaming, voice
transcription
What cant I sell?
Virtual Currencies
In-app Credits
Physical Goods or Services
Digital Goods across Multiple Apps
8/7/2019 BBM Social Platform Integration and App Monetization
22/66
BlackBerry Payment Service
Digital goods are associated with individual apps in
the BlackBerry App World Vendor Portal
Requires App World 2.1
8/7/2019 BBM Social Platform Integration and App Monetization
23/66
BlackBerry Advertising Service
8/7/2019 BBM Social Platform Integration and App Monetization
24/66
BlackBerry Advertising Service
An open and transparent platform to enable developers
to generate ad revenue
Integrate ad support into your application with just a
few lines of code.
Innovative ad units with advanced measurement and
analytic support:
Click to App World Click to Rich Media
HTML 5 ad support
8/7/2019 BBM Social Platform Integration and App Monetization
25/66
BlackBerry Advertising Service
Mediation
Platform
60%Revenue ShareWith Developer
8/7/2019 BBM Social Platform Integration and App Monetization
26/66
BlackBerry Advertising Service
Add Advertising Service with only 3 lines of code
//Create a banner object by passing it my application//placement ID and null as we are not leveraging metadataBanner bannerAd = new Banner(MY_APID, null);
//Sets the size of the banner ad that specified in thebannerSize integer value.bannerAd.setMMASize(Banner.MMA_SIZE_AUTO);
//Adds the banner ad to the screen
add(bannerAd);
8/7/2019 BBM Social Platform Integration and App Monetization
27/66
BlackBerry Advertising Service
Provide metadata by passing in a hashtable of key/value
// add metadata
Hashtable metadata = new Hashtable();
metadata.put("age", "24");Banner banner = new Banner(MY_APID, metadata);
8/7/2019 BBM Social Platform Integration and App Monetization
28/66
BlackBerry Advertising Service
The APID is a unique identifier
You will receive one for each application that you register
Metadata is passed to the ad service using hash tables
Age, gender, marital status, location, and more are standardized
Banner is a field that can be added to almost any screen
Additional customizations are possible
Setting the default background image
Manually selecting a banner size
8/7/2019 BBM Social Platform Integration and App Monetization
29/66
BlackBerry Advertising Service - Portal
Analyze advertising metrics via the web portal
8/7/2019 BBM Social Platform Integration and App Monetization
30/66
BlackBerry Analytics Service
8/7/2019 BBM Social Platform Integration and App Monetization
31/66
BlackBerry Analytics Service
When are
they using
my app?
How long do
they spend
with my app?
How many
people use
my app?
Who is using
my app?
Where are
my users?
What are
they doing
with my app?
8/7/2019 BBM Social Platform Integration and App Monetization
32/66
BlackBerry Analytics Service
Why Are Analytics Important
Improve your App
Know your users
Refine app experience Prioritize feature additions
Better Apps = Happier users = more $$$
Market your App
Maximize ad yield
Target up-sells Cross Promotions
8/7/2019 BBM Social Platform Integration and App Monetization
33/66
BlackBerry Analytics Service
Extend WebtrendsUiApplication instead of UiApplication
Initialize the Analytics Service:
public class AnalyticsApp extends WebTrendsUiApplication {
...
public static void main(String[] args) {
WebtrendsConfigurator.LoadConfigFile(
"net.rimlabs.AnalyticsScreen","webtrends.xml");
WebtrendsDataCollector.getInstance().Initialize();ServicesLab app = new ServicesLab();
app.enterEventDispatcher();
}
}
8/7/2019 BBM Social Platform Integration and App Monetization
34/66
BlackBerry Analytics Service
WebtrendsUiApplication and WebtrendsApplication
extend UiApplication and Application to provide
instrumentation to automatically report the following
application events:
Application Start
Application Foreground
Application Background
Application exits require you to manually implement
onApplicationTerminate()
8/7/2019 BBM Social Platform Integration and App Monetization
35/66
BlackBerry Analytics Service
Implement fieldChangeNotify() to add a custom event
that will be collected by the service:protected void fieldChangeNotify(int context) {
super.fieldChangeNotify(context);
Hashtable customData2 = new Hashtable();customData2.put("testparam01", "testparamvalue01");
try {
WebtrendsDataCollector.getInstance().onButtonClick(
"/events/SampleClicky01", "SampleClickEvent01", "click", customData2);
} catch (IllegalWebtrendsParameterValueException e) {
try {
WebtrendsDataCollector.getInstance().onApplicationError(
"/MyApplication/ActivityWhereErrorOccurred",null);
} catch (IllegalWebtrendsParameterValueException e1) {}}
Dialog.alert("This click was registered by the Webtrends analytics engine");
}
8/7/2019 BBM Social Platform Integration and App Monetization
36/66
BlackBerry Analytics ServiceExplanation
onButtonClick parameters:
String eventPath Specifies the hierarchical representation of an
application view at the time of the event. For
example, this parameter can specify an
application pathString eventDescr Specifies the representation of an application
view at the time of the event. For example, this
parameter can specify the name of a screen
String eventType Specifies the type of event that occurred, such
as a view or click
Hashtable customData Specifies a series of custom name-value
parameters used to pass data that's not
included in the method
8/7/2019 BBM Social Platform Integration and App Monetization
37/66
BlackBerry Analytics ServiceOther events
Events that you can measure and report on:
On Ad Click
On Ad Impression
On Application Error On Application Terminate
On Button Click
On Content View
On Conversion Event
On Custom Event
On Media Event On Product View
In-Application Search
8/7/2019 BBM Social Platform Integration and App Monetization
38/66
BlackBerry Analytics Service
Easily analyze your data using the web portal
8/7/2019 BBM Social Platform Integration and App Monetization
39/66
Summary
1. Deploy your app to BlackBerry App World to reach to
over 33 million active users
2. Easily leverage the BlackBerry Advertising Service
with only a few lines of code3. Expand your revenue potential with in-app
purchases using the BlackBerry Payment Service
4. Learn how customers use your application using the
BlackBerry Analytics Service
5. Become a vendor, submit an app and implement all
these services quickly, easily and for FREE!
8/7/2019 BBM Social Platform Integration and App Monetization
40/66
For More Information
BlackBerry App World
http://www.blackberry.com/developers/appworld
BlackBerry Advertising Service
http://us.blackberry.com/developers/platform/adservices/
BlackBerry Payment Service
http://us.blackberry.com/developers/platform/paymentservice.jsp
BlackBerry Analytics Service
Coming Soon!
http://www.blackberry.com/developers/appworldhttp://us.blackberry.com/developers/platform/adservices/http://us.blackberry.com/developers/platform/paymentservice.jsphttp://us.blackberry.com/developers/platform/paymentservice.jsphttp://us.blackberry.com/developers/platform/adservices/http://www.blackberry.com/developers/appworld8/7/2019 BBM Social Platform Integration and App Monetization
41/66
BBM Social Platform
8/7/2019 BBM Social Platform Integration and App Monetization
42/66
BBM Social Platform
8/7/2019 BBM Social Platform Integration and App Monetization
43/66
BlackBerry Messenger Community
35+ million global BBM subscribers
>60% Global penetration amongst BlackBerry subs
>1.5 million new users per month
>2 thousand new users per hour
130% growth in BBM subs over past year
BBM community is there when it counts
300% lift in traffic after winning goal at World Cup finals
8/7/2019 BBM Social Platform Integration and App Monetization
44/66
Chat
BBM Today
Chat, Media,Gaming, LBS, VoIP,Video, Commerce
BBM Tomorrow
8/7/2019 BBM Social Platform Integration and App Monetization
45/66
BBM Social Platform DefinitionA New Breed of Social Consumer & Enterprise Apps
The BBM Social Platform is a comprehensive suite of
APIs that provide access to BBM data and
functionality:
Contact list, group membership, user profile
Chat, file and data transfer, invitations
8/7/2019 BBM Social Platform Integration and App Monetization
46/66
The BBM Community Advantage
Mobile-OnlyCommunity
Device is always-on you and you are always-there
when friends need you.
Unparallel immediacy& responsiveness
Revolutionize socialinteractions
8/7/2019 BBM Social Platform Integration and App Monetization
47/66
Developer BenefitsReduced cost of customer acquisition + increased monetization
Mobile App Market:
Thousands of apps available on smartphones
Awareness outside of the top 10/25 lists is low
No simple way to share 3rd party app & content experiences
Unique BBM 6 Opportunity:
Increased discoverability of apps and content through viral distributionEnhanced stickiness and user engagement through social interactions
8/7/2019 BBM Social Platform Integration and App Monetization
48/66
Contact List
BlackBerry Messenger comes with a highly-
connected, highly-engaged community of closest
and trusted friends and colleagues
Viral distribution Ability to access the BlackBerry Messenger invite service
8/7/2019 BBM Social Platform Integration and App Monetization
49/66
Invite a contact
/* register our app */
BBMPlatformContext _platformContext =BBMPlatformManager.register(instanceOfMyApp);
/* create a messenging service so we can create and open a
channel to send messages */MessagingService _messagingService =_platformContext.getMessagingService();
_messagingService.setServiceListener(this);
BBMPlatformChannel _channel =
_messagingService.createChannel(_channelListener);
/* send the invitation */
_channel.sendInvitation(BBMPlatformConnection.TYPE_DOWNLOAD_APPLICATION_REQUEST,
Want to try my app?", myAppParam",-1);
8/7/2019 BBM Social Platform Integration and App Monetization
50/66
Contact List
Access contacts
Ability to initiate interaction with any contact
Not just for viral distribution, also for initiating chat,
game invite, collaboration, etc
Filter to specific contacts
Ability to access all contacts who have the sameapp installed
Filter category, custom fields, or search
8/7/2019 BBM Social Platform Integration and App Monetization
51/66
User Profile
Access and update profile information
Display Name*
Status*
PIN*
Personal Message
Avatar
Location/Time Zone Flag
8/7/2019 BBM Social Platform Integration and App Monetization
52/66
Insert custom profile box
/* register our app */
BBMPlatformContext _platformContext =BBMPlatformManager.register(instanceOfMyApp);
/* get the user profile */
UserProfile _userProfile = _platformContext.getUserProfile();
/* set or get whatever fields we wish */
String name = _userProfile.getDisplayName();
_userProfile.setPersonalMessage(name + is at DEVCON Asia);
8/7/2019 BBM Social Platform Integration and App Monetization
53/66
User Profile Custom Profile Box
A custom area within the users
profile
Defined by the third party app
Each app defines their own profile box
Apps will not over-write each other
User may remove the profile box
8/7/2019 BBM Social Platform Integration and App Monetization
54/66
User Profile Custom Profile Box
Put anything you want in there!
App driven status updates
Trophies / achievements
Pushed data alerts
News or Weather items
User can launch the app from the
custom profile box Friends can install the app by clicking my
update!
8/7/2019 BBM Social Platform Integration and App Monetization
55/66
Insert custom profile box
/* register our app */
BBMPlatformContext _platformContext =BBMPlatformManager.register(instanceOfMyApp);
/* get the profile box */
UserProfileBox _userProfileBox =_platformContext.getUserProfile().getProfileBox();
/* add the custom box for our app */
_userProfileBox.addItem(
EncodedImage.getEncodedImageResource(GoldTrophy.jpg"),Congratulations on winning gold!);
8/7/2019 BBM Social Platform Integration and App Monetization
56/66
In-App Chat Third Party to Third Party
Initiated by the third party app 1:1 or Multiperson
Chat lives only in the third party app
Chat not displayed in BBM
Fully customizable embedded chat
window
Size, position, look and feelUsers dont need to be on each
others friends list
Requires both users to have the app
8/7/2019 BBM Social Platform Integration and App Monetization
57/66
In-App Chat Third Party to BBM
Chat lives in both third party app and inBlackBerry Messenger
Supports all BlackBerry Messenger chat
features
PING, Emoticons, Sharing of files, pictures, voicenotes, location
Third party may supply pre-populated
messages / suggested textUsers must be on each others friends list
Doesnt require both users to have the app
8/7/2019 BBM Social Platform Integration and App Monetization
58/66
Embed a chat
/* register our app */BBMPlatformContext _platformContext =BBMPlatformManager.register(instanceOfMyApp);
/* initiate a chat with a given user */_pluginContext.getUIService().startBBMChat(myBBMPlatformContact, Hi there");
8/7/2019 BBM Social Platform Integration and App Monetization
59/66
What Else Can Be Done via Chat?
Sending signal messages between instances of the app
Dont appear in chat window
Sending messages that can launch the app when
clicked by the user
Parameters can be specified
If app not installed, launches to App World download page
Large data transfers
Flipping to Wi-Fi for peer-to-peer large data transfers
Code Sample
8/7/2019 BBM Social Platform Integration and App Monetization
60/66
Code Sample
Send a signal message
/* Assuming we have a channel for sending messages, just aswe did when sending an invite */
BBMPlatformChannel _channel = ;
/* send a message instead of an invitation */
BBMPlatformData data = new BBMPlatformData(Test message(;
_channel.sendData(data);
8/7/2019 BBM Social Platform Integration and App Monetization
61/66
Native Integration
Listening to Chat
Detect chat initiated
Detect chat participants
Cannot access contents of chat
Invoke
to main screen
to a particular group or contact
to a chat view with or without chat history to view a user profile
ApplicationMenuItem
Add your own menu items to BBM
8/7/2019 BBM Social Platform Integration and App Monetization
62/66
Security and Privacy
User Driven Actions
User selects which contacts can beinvited to chats, groups, etc
User can deny status updates User can remove custom profile boxes
User can remove third party groups
User can restrict apps as a whole
8/7/2019 BBM Social Platform Integration and App Monetization
63/66
Security and Privacy
Ability for user to report forced behavior
If third party continuously or deceitfully attempts to make the usertake an action.
Sending messages, creating groups, contact selection, etc Potential outcomes based on RIM evaluation
Denial of access to BBM APIs and/or removal from App World
8/7/2019 BBM Social Platform Integration and App Monetization
64/66
Availability
Backwards compatible: Supports 4.6 and above
Support for BlackBerry Java Applications
Support for BlackBerry WebWorks Applications
Releases Closed Beta: in progress
Open Beta: Spring 2011
Get updates: BlackBerry Developers Blog
@BlackBerryDev on Twitter
http://us.blackberry.com/developers/blackberrymessenger/
http://us.blackberry.com/developers/blackberrymessenger/http://us.blackberry.com/developers/blackberrymessenger/8/7/2019 BBM Social Platform Integration and App Monetization
65/66
Summary
1. The new BBM Social Platform enables developers toadd real-time, peer-to-peer interactions to their apps
2. Access the BlackBerry Messenger invite service to
leverage viral distribution3. Access contact, user profile and your own apps
group information
4. Create a user profile box for your app or embed a
third party chat
5. User has full control and the ability to report forced
behavior
8/7/2019 BBM Social Platform Integration and App Monetization
66/66
BlackBerry live at MWC 2011
www.blackberry.com/mwc11& follow us @BlackBerryScene