Vous êtes sur la page 1sur 76

Nokia Serie 40 Desarrollo con Nokia Mapas y Posicionamiento

Jess Ruiz
1

Technical Ecosystem Support Manager

Agenda
1. Introduccin a la Serie 40
2. Requisitos previos

3. Posicionamiento: Extensiones a Location API


4. Nokia Maps API

5. Ejemplo prctico
6. Emulacin

7. Publicacin en Nokia Store


2

Introduccin a la Serie 40

El mercado est cambiando

Todos los consumidores tienen aspiraciones las aplicaciones mviles cada vez son ms demandadas
El 90% de los usuarios de telfonos mviles estn interesados en instalar aplicaciones.
Strategy Analytics

La Oportunidad | Demanda de Consumo


Segmentos muy activos: las aplicaciones son atractivas a lo largo de los distintos mercados y rangos de precio
Mercados Emergentes
7 6 5.5 4.8 5.5 5 5.5 5.7 5 5.3 5.8 5.6

Mercados de Madurez
7 6 5.9 5.7 5.8 5.6 5.9 5.8 6 6 6.2 6.1

5
4 3 2 1 0

5
4 3 2 1 0

0-50

50-100

100-200

200-300

300+

0-50

50-100

100-200

200-300

300+

Tener una buena seleccin de aplicaciones de calidad es fundamental Fundamental poder conectar a Internet con mi telfono mvil para obtener informacin sobre noticias, negocios, etc
Fuente: Nokia segmentation study 2010

1=Totalmente desacuerdo

4=Neutral

7=Totalmente en acuerdo

Para satisfacer esta tendencia, Nokia ofrece la mejor experiencia en todos los rangos de precio

ASHA 300

ASHA 303

NOKIA 603

NOKIA 700

LUMIA 710

LUMIA 800

El Prximo Billn: Juventud Urbana


El segmento de mayor crecimiento global
Son sociales, inteligentes y curiosos Tienen un presupuesto ajustado Pero no estn limitados en sus aspiraciones!

Derribando algunos mitos


Los usuarios de telfonos mviles no quieren aplicaciones
Estudios de consumidores demuestran que las aplicaciones de relevancia local son fundamentales

Los consumidores preocupados por su presupuesto no consumen aplicaciones


El acceso ha de ser fcil y barato

No se pueden hacer aplicaciones atractivas en telfonos mviles


Aplicaciones como Guitar Hero o Foursquare demuestran lo contrario

Las capacidades inteligentes posibilitan casos de uso inteligentes


La Serie 40 ofrece caractersticas similares a Smartphones, pero a un precio muy bajo
Procesador 1 GHz Teclado Qwerty Interfaz Touch and Type Connectividad WLAN Dual SIM Posicionamiento geogrfico basado en Cell-ID Integracin de Servicios en la Home Screen Rpido acceso a las aplicaciones de terceras partes desde la Home Screen

Nokia lo pone fcil a los consumidores para descubrir y descargar las aplicaciones en todo el mundo

Ms de 190 pases
El 90% en su propio idioma

1 solo gesto para acceder a las aplicaciones


Icono de la Tienda en la home screen

y 1 solo gesto ms para descargar


No se necesita registro para las aplicaciones gratuitas

Dispositivos Nokia para usar con aplicaciones


Smartphones

250M

Smartphones con pantalla tctil

90M

Mviles Serie 40

675M

MERCADO QT
Nokia 2011

MERCADO JAVA

Requisitos previos

Requisitos previos
1. Instalar Java Runtime Environment 6
www.java.com/en/download/index.jsp

2. Instalar NetBeans
Netbeans.org

3. Descargar e instalar Nokia SDK 1.1 for Java (gratuito)


www.developer.nokia.com/Develop/Series_40/

Requisitos previos
4. Configurar Nokia SDK en NetBeans

1.

2. 3.

Requisitos previos
5. Registrarse como Desarrollador (gratuito)
www.developer.nokia.com

Requisitos previos
6. Descargar Nokia Mapas API (gratuito)
www.developer.nokia.com/Develop/Maps

Requisitos previos
7. Registrar la copia de producto Nokia Mapas API (gratuito)
https://api.developer.nokia.com/ovi-api/ui/registration
Apuntar los cdigos de App ID y Token ID, se necesitarn ms tarde en nuestro cdigo

8. Despus de crear nuestro proyecto en NetBeans, necesitamos referenciar a un archivo de Nokia Maps API, llamado nma.jar. Esta referencia se har como tipo Resources en nuestro proyecto NetBeans

Posicionamiento: Extensiones a Location API

LocationUtil
La clase com.nokia.mid.location.LocationUtil proporciona un mecanismo extra para crear un LocationProvider. Esto es una extensin al JSR-179 Location API, el cual incluye la clase LocationProvider.
class LocationUtils { static LocationProvider LocationUtil.getLocationProvider( int[] preferedMethods, String parameters ); }

Los parmetros son para extensiones futuras, por ahora usar null.

LocationUtil
MTA_ASSISTED

preferedMethods puede ser una combinacin de las siguientes definiciones contenidas en JSR-179 Location:

MTA_UNASSISTED
MTE_CELLID MTE_SATELLITE MTE_SHORTRANGE

MTY_NETWORKBASED
MTY_TERMINALBASED

Ejemplos:
MTA_ASSISTED | MTE_CELLID | MTE_SHORTRANGE | MTY_NETWORKBASED Cell-ID online y/o WLAN MTA_UNASSISTED | MTE_CELLID | MTY_TERMINALBASED Cell-ID offline

Cell-ID Location
Un MIDlet puede obtener posicionamiento aproximado usando el mtodo basado en Cell-Id. El mtodo consiste en enviar a un servidor el id de la clula de red a la que el terminal est conectado. El servidor retornar la posicin conocida de esa cell-id. Esto proporciona capacidad de posicionamiento a mviles sin dispositivo GPS. Tener en cuenta: en Cell-ID Location, el grado de incertidumbre puede variar de unos pocos metros a cientos de kilmetros, dependiendo de la infraestructura de red local y de los datos recogidos en el servidor para esa zona.

Ejemplo con Cell-ID:


int[] methods = {(Location.MTA_ASSISTED | Location.MTE_CELLID | Location.MTY_NETWORKBASED)}; LocationProvider lp = LocationUtil.getLocationProvider(methods, null); Location loc = lp.getLocation(-1); Coordinates coords = loc.getQualifiedCoordinates(); double lat = coords.getLatitude(); double lng = coords.getLongitude();

Nokia Maps API for Java ME

Nokia Maps API


La API de Nokia Maps es una API no-residente. Los dispositivos Nokia Series 40 necesitan una instalacin de un componente adicional para poder ejecutar aplicaciones que usen esta API. Asimismo, esta API no forma parte del kit de desarrollo SDK de Nokia. Se puede utilizar para incluir mapas y otros servicios basados en posicionamiento en un MIDlet.

Nokia Maps API


Descargar el archivo ZIP del website del proyecto Nokia Maps: http://developer.nokia.com/Maps Este archivo ZIP contiene:
Los Javadocs para la API Un MIDlet de ejemplo Un archivo JAR

El archivo JAR posibilita la implementacin de la API usando la plataforma actual. Este archivo necesita incluirse en cualquier proyecto Java que desee usar la API.

Nokia Maps API


La API se divide en cuatro paquetes
Paquete com.nokia.maps.common Descripcin Clases comunes requeridas por otros paquetes incluyendo Address, ApplicationContext, GeoBoundingBox y GeoCoordinate. Contiene clases para mostrar e interactuar con el contenido de los mapas y situar objetos en el mapa. Contiene clases para calcular rutas y acceder a los datos de esas rutas. PositioningManager proporciona el posicionamiento actual basado en un dispositivo GPS o Cell a la que se conecta el mvil.

com.nokia.maps.map com.nokia.maps.routing

com.nokia.maps.search

Contiene SearchManager para geocodificacin y geocodificacin inversa.

Nokia Maps API La aplicacin bsica


Para mostrar un mapa interactivo simplemente creamos una instancia de MapCanvas y la vinculamos al display actual:
import com.nokia.maps.map.MapCanvas; /** * Aplicacion basica para mostrar un mapa. */ public class MapMIDlet extends MIDlet { /** * Este metodo es llamado cuando la aplicacion inicia * y vincula Mapcanvas al display actual */ protected void startApp() throws MIDletStateChangeException { Display display = Display.getDisplay(this); MapCanvas mapCanvas = new MapCanvas( display ); display.setCurrent(mapCanvas); } }

Nokia Maps API La aplicacin bsica

Nokia Maps API La aplicacin bsica

Map

Map Markers
Un Marcador se puede aadir a un mapa de la siguiente manera:

double lat double lng int size = String s =

= 51.3; = 0.8; 10; You are here!;

GeoCoordinate coord = new GeoCoordinate(lat, lng, 0 ); MapFactory mapFactory = mapCanvas.getMapFactory(); MapStandardMarker marker = mapFactory.createStandardMarker(coord, size, s); mapCanvas.getMapDisplay().addMapObject( marker );

Map Markers

Otros Map Markers


La clase MapFactory define otros tipos de Map Markers: MapMarker createMapMarker( GeoCoordinate coordinate, Image image ); MapCircle createMapCircle( double radius, GeoCoordinate centre ); MapRectangle createMapRectangle( GeoBoundingBox boundingBox );

MapPolygon createMapPolygon( GeoCoordinate[] coordinates );


MapPolyline createMapOptPolyline( GeoCoordinate[] coordinates );

Search Manager
SearchManager sirve para buscar localizaciones. Tambin se pueden especificar bsquedas en torno a una coordenada geogrfica dada (GeoCoordinate). // Get instance of SearchManager SearchManager searchManager = SearchManager.getInstance(); searchManager.setListener(this); // Buscar lugares basados en una cadena de bsqueda searchManager.geocode( Germany,Berlin", null );

// O bien, buscar lugares en una coordenada geografica GeoCoordinate coord = new GeoCoordinate(51.3, 0.8, 0 ); searchManager.reverseGeocode( coord );

Search Listener
Proporciona al MIDlet una notificacin de cundo una peticin de bsqueda ha sido completada.
public class MySearchListener implements SearchListener { public void searchRequestError(SearchManager source, Throwable error) { // Tratar error de busqueda } public void searchRequestFinished(SearchManager source) { // Ahora podemos obtener los resultados de busqueda Location[] locations = searchManager.getLocations(); } public void searchResponseCleared(SearchManager source) { } }

Routing
RouteManager proporciona al servicio de enrutamiento de Nokia Maps. Para calcular una ruta se requieren al menos dos puntos de ruta y los modos deseados Los modos se usan para controlar los parmetros de clculo de la ruta.
// Create the waypoints GeoCoordinate start = new GeoCoordinate(51.3, 0.8, 0); GeoCoordinate end = new GeoCoordinate(55.0, 0.0, 0); WaypointParameterList waypoints = new WaypointParameterList(); waypoints.addCoordinate(start); waypoints.addCoordinate(end);
RouteManager rm = RouteManager.getInstance(); rm.setListener(this); // Usar modo de ruta por defecto RoutingMode[] modes = { new RoutingMode() }; rm.calculateRoute(waypoints, modes );

Route Listener
public void calculateRouteRequestFinished(RouteManager rm) { Route[] routes = rm.getRoutes(); Maneuver m = route[0].getFirstManeuver(); while( m != null ) { String s = m.getInstruction(); m = m.getNextManeuver(); } } public void routeRequestError(RouteManager rm, Throwable error) { // tratar error }

public void routeResponseCleared(RouteManager rm) { // ruta blanqueada }

Routing Mode
Un modo de enrutamiento consiste en:
Un tipo de routing. Una lista de modos de transporte. Una lista de opciones de enrutamiento.

public RoutingMode(int routingType, int[] transportModes,


java.lang.String[] routingOptions);

Routing Types
El tipo de enrutamiento ha de ser uno de los predefinidos stos son static int:

RoutingType.DIRECT_DRIVE RoutingType.ECONOMIC RoutingType.FASTEST RoutingType.FASTEST_NOW

RoutingType.SCENIC RoutingType.SHORTEST

Transport Modes
Estos son los modos de transporte posibles: TransportMode.BICYCLE

TransportMode.CAR
TransportMode.PEDESTRIAN TransportMode.PUBLICTRANSPORT TransportMode.TRUCK

Routing Options
Estas son las constantes definidas como opciones de enrutamiento:
RoutingOptions.AVOID_BOATFERRY
RoutingOptions.AVOID_DIRTROAD RoutingOptions.AVOID_MOTORWAY RoutingOptions.AVOID_PARK

RoutingOptions.AVOID_PUBLICTRANSPORT
RoutingOptions.AVOID_RAILFERRY RoutingOptions.AVOID_STAIRS RoutingOptions.AVOID_TOLLROAD RoutingOptions.AVOID_TUNNEL RoutingOptions.PREFER_HOVLANE

Nota: HOVLANE = Carril para vehculos con alta ocupacin

Pantalla personalizada
Hasta ahora hemos usado un MapCanvas que hace todo el dibujado del mapa. La API de Nokia Maps tambin permite usar MapDisplay directamente, para mayor control de cmo los mapas se dibujan en el canvas.
MapFactory mapFactory = MapFactory.createMapFactory( MapResolutionEnum.MAP_RESOLUTION_128_x_128, getWidth(), getHeight() ); MapDisplay map = mapFactory.createMapDisplay(); Resolution puede ser: 128 x 128 o 256 x 256 o AUTO

Pantalla personalizada
Se puede dibujar el mapa en nuestro propio Canvas con renderMap(Graphics)
protected void paint(Graphics g) { map.renderMap(g); }

Alternativamente, se puede dibujar el mapa en una Image, y usar esa imagen posteriormente donde se desee.
Image image = Image.createImage( width, height ); Graphics g = image.getGraphics(); map.renderMap(g);

Ejemplo prctico

Ejemplo prctico
MIDlet MapCanvas Location MapSearch

Emulacin

Emulacin

Emulacin: Route Editor

Emulacin: Route Editor


www.openstreetmap.org

1. Export

San Jose, Costa Rica

2. Search

3. Export. Guardar la imagen (.png)

Emulacin: Route Editor


1. Overlay map. Usar el archivo .png previamente guardado

2. Copiar las coordenadas de la imagen y pulsar Load scale

Emulacin: Route Editor

1. Pulsar sobre el mapa la posicin a emular

2. Save. Guardar el archivo como: C:/Nokia/Devices/Nokia_SDK_1_1_Java/bin/Storage/1100/E/GPS/coord.sps

Emulacin: Route Editor


Reiniciar el emulador. Mostrar la posicin especificada en nuestro archivo.

Publicacin de la aplicacin en Nokia Store

Acerca de Nokia Store

La Tienda Nokia est presente en 194 pases. Los usuarios pueden pagar por las aplicaciones mediante factura telefnica en 46 pases.

Acerca de Nokia Store

La Tienda Nokia est presente en 194 pases. Los usuarios pueden pagar por las aplicaciones mediante tarjeta de crdito en 192 pases.

Acceso a la Tienda Nokia en un click


La Tienda Nokia tiene un nuevo look ms fresco y sencillo para facilitar el descubrimiento y descarga de aplicaciones

Barra de navegacin con bienvenida, categoras, bsqueda y gestin de cuenta de usuario

Proceso de registro simplificado slo se requiere el nmero de telfono Para artculos gratutos no se precisa registro

Pago flexible con factura telefnica o tarjeta de crdito La Tienda Nokia posee el mayor alcance global de pago por factura telefnica

La Tienda Nokia en cifras

Milln De descargas al da

11+

Pases, de los cuales 90% en su propio idioma

190+

Mercados con pago por factura telefnica con 134 operadores

48

Desarrolladores alcanzaron ms de 1 Milln de desargas

177

100k+
Aplicaciones disponibles

80%
del trfico se traduce en una descarga

Ms de 11 Millones de descargas al da
11M

5M 4M Symbian^3 3M

1M

Feb. 2010

Sept. 2010

Nov. 2010

Feb. 2011

Abr. 2011

Dic. 2011

Enorme apetito por las aplicaciones, e incrementndose


Nokia 2011

Las ltimas estadsticas demuestran la fuerte demanda de aplicaciones


Millones ,90 ,80 ,70 ,60 ,50 ,40 ,30 ,20 ,10 ,0 10'10 12'10 2'11 4'11 6'11 8'11 10'11

Serie 40

Descargas mensuales (m)

Serie 40 representa ms del 30% de todas las descargas y creciendo rpidamente Los Mercados Emergentes protagonizan elcrecimiento en descargas de Serie 40 Try & Buy demuestra que los consumidores de Serie 40 desean gastar dinero en contenidos mviles

La Tienda Nokia en Brasil

Millones de descargas mensuales en Brasil, y creciendo

10

De las descargas proceden de Serie 40

54%
Brasil es el

Penetracin de Mercado

116%

Brasil es el

Mercado ms grande de Nokia en dispositivos del mundo

3er

Mercado ms grande de Nokia en descargas de aplicacione

218
Millones de telfonos en el mercado

La Tienda Nokia en Argentina

Millones de descargas en total en Argentina

25+

130,000+
Descargas al da en Argentina

Millones de descargas globalmente de desarrolladores argentinos

6+

Crecimiento en 2011 en Argentina

600%

Del portafolio de dispositivos est soportado

90%

80%
del trfico se traduce en descarga

Acerca de Nokia Store

70/30
El Desarrollador obtiene el 70% del beneficio de la venta de cada aplicacin. Nokia retiene el 30% y con esa parte cubre los costes de facturacin de operador y de tarjeta de crdito. Este porcentaje es fijo e independiente de las condiciones del operador o de la entidad de crdito. El Desarrollador siempre obtiene el 70% neto de la venta. Nokia aplica certificado y firma a la aplicacin en el momento de la publicacin sin coste adicional. El Desarrollador no necesita proporcionar certificacin Java por su cuenta.

Publicacin en Nokia Store Paso 1


Registrarse en publish.ovi.com. El registro requiere un nico pago de 1 euro.

Rellenar el perfil con los datos personales o de empresa. Se puede publicar tanto a nivel corporativo como a ttulo individual.

Publicacin en Nokia Store Paso 1


Aceptar Terms and Conditions. Aceptar los trminos de pago, y depositar 1 euro por el registro, mediante tarjeta de crdito.

El sistema verificar el alta mediante e-mail.

Publicacin en Nokia Store Paso 2


Hacer login en el sistema (publish.ovi.com).

Publicacin en Nokia Store Paso 3


Proporcionar los metadatos de la aplicacin:
Icono Nombre y Descripcin Capturas de pantalla Palabras clave que la identifiquen en una bsqueda

Publicacin en Nokia Store Paso 4


Firmar la aplicacin Java con un certificado.
Si se dispone ya de un certificado (Java Verified, VeriSign o Thawte), se puede utilizar y no es necesaria ninguna firma adicional. Alternativamente, Nokia puede firmar la aplicacin gratis con Java Verified. Para ello, solicitar el servicio mediante e-mail a publishtoovi.support@nokia.com. Para la firma proporcionada por Nokia, ser necesario aportar un diagrama de flujo de la aplicacin para que el equipo de Nokia la compruebe.

Publicacin en Nokia Store Paso 5


Proporcionar los archivos .JAD y .JAR.

El tamao mximo para dichos archivos es de 20 MB.

Publicacin en Nokia Store Paso 5


Proporcionar los siguientes datos relativos a la distribucin:
Dispositivos en los que puede ejecutar Pases e idiomas Precio de venta

Publicacin en Nokia Store Paso 6


Enviar a Nokia QA.

Publicacin en Nokia Store Paso 7


Comprobar la evolucin de Nokia QA.

Nokia Store Reportes


Nokia actualiza a diario la siguiente informacin relativa a la aplicacin:
Estadsticas de descargas por da, pas y dispositivo
Beneficio estimado

Nuestras promociones en el Spotlight.. Es tu aplicacin la prxima en aparecer?

Nokia 2011

Cada descarga cuenta

Te ofrecemos herramientas de marketing personalizadas para ayudar a dirigir el trfico de tus clientes
Nokia 2011

Para ms informacin
Descargar Nokia SDK 1.1 for Java http://developer.nokia.com
Consultar Nokia Developer Library http://library.developer.nokia.com Nokia Maps API http://developer.nokia.com/Maps

jesus.ruiz@nokia.com