BBM Social Platform Integration and App Monetization

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/appworld
  • 8/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