You are on page 1of 21

Taller Desarrollando

aplicaciones con
Bluevia y Java

Versin 1.0
Junio 30 de 2011
TABLA DE CONTENIDO
1. OBJETIVOS ...................................................................................................... 3
2. INTRODUCCIN .............................................................................................. 3
3. REQUISITOS .................................................................................................... 3
4. PREPARACIN DEL AMBIENTE ........................................................................ 3
5. REGISTRO EN BLUEVIA ................................................................................... 6
ACTIVACIN DE CUENTA DE CLIENTE ........................................................................... 9
OBTENCIN DE API KEYS ......................................................................................... 9
6. AUTENTICACIN Y PERMISOS ...................................................................... 12
7. ENVIANDO Y RECIBIENDO MENSAJES .......................................................... 16
ENVO DE SMS ...................................................................................................... 16
RECEPCIN DE SMS ............................................................................................... 17
ENVO DE MMS ..................................................................................................... 18
RECEPCIN DE MMS .............................................................................................. 19
8. PUBLICIDAD .................................................................................................. 21
9. EJERCICIO PRCTICO .................................................................................... 21



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 3 de 21

1. OBJETIVOS

Conocer, de modo prctico, el uso del SDK de Java para el desarrollo de aplicaciones utilizando
Bluevia.
Desarrollar una aplicacin stand-alone sencilla utilizando el SDK.
Implementar una aplicacin web sencilla utilizando los servicios de Bluevia.

2. INTRODUCCIN
Las nuevas necesidades que surgen a travs del uso de la tecnologa llevan al desarrollo de nuevos
modelos e implementaciones. Bluevia es una propuesta nueva para permitir a los desarrolladores
desarrollar sus aplicaciones, independientes de lenguaje o plataforma, para que interacten con los
millones de usuario de Movistar-O2 independiente del mvil que posean. En Colombia el servicio ya se
presta en modo beta para desarrolladores y se espera que en los prximos meses este totalmente
activado para su uso comercial. El presente taller describe el desarrollo de una aplicacin sencilla en
Java que utiliza los servicios de la plataforma Bluevia habilitados para Colombia, adems al final se
propone un ejercicio prctico para ser desarrollado.
3. REQUISITOS
Conocimiento del lenguaje Java para el desarrollo de aplicaciones Stand-Alone y Web.
Computador porttil con Netbeans 7.0 y servidor Tomcat
Telfono mvil con SIM Card de Telefnica y una precarga sugerida de $10.000
Acceso a Internet

4. PREPARACIN DEL AMBIENTE
Antes de comenzar a trabajar en el desarrollo de aplicaciones que utilicen la plataforma de Bluevia es
necesario establecer el ambiente de trabajo. Esta preparacin implica los siguientes elementos:
Descargar e instalar el IDE Netbeans 7.0, lo puede encontrar en la pgina web de Netbeans.
Es recomendable descargar el instalador que contiene Tomcat ya que se utilizar en el taller
propuesto.
Descargar el SDK de Bluevia para Java, se puede descargar de la pgina de Bluevia.
Registrarse en la pgina de Bluevia como se describir a continuacin.
Registrar el nmero celular en la pgina de Bluevia Connect, como se presentar a
continuacin.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 4 de 21

Una vez completadas estas solicitudes se procede a preparar nuestro entorno de desarrollo. Para esto
creamos un nuevo proyecto en Netbeans, para este primer ejemplo debe ser una aplicacin Java
sencilla, como se muestra en la Figura 1.

Figura 1 Creacin del proyecto en Netbeans
Le asignamos un nombre a nuestro proyecto, que para este caso ser TallerBluevia y creamos el
proyecto. Es importante tener en cuenta donde creamos el proyecto ya que en esta carpeta es en
donde debemos agregar los JARs de Bluevia.
Para agregar el SDK primero debemos descomprimir el bluevia-sdk-java-v1.3.zip que descargamos de
la pgina de Bluevia. Esto genera una carpeta con una estructura donde podemos encontrar los JARs,
la documentacin de estos y algunos ejemplos. Ahora en el proyecto en Netbeans agregamos estos
JARs como libreras. Primero debemos crear en la carpeta de nuestro proyecto una carpeta a la que
llamaremos lib y dentro de esta copiamos el contenido de la carpeta target donde estn las libreras
que se necesitan. Como se muestra en las siguientes figuras procedemos a vincular estas libreras a
nuestro proyecto, tanto el SDK de Bluevia como sus dependencias:



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 5 de 21






Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 6 de 21


Figura 2 Agregar los JAR al proyecto

Con esto ya se puede comenzar con el desarrollo de aplicaciones en Bluevia. A continuacin se
presenta el proceso de registro en Bluevia.
5. REGISTRO EN BLUEVIA
Para utilizar el SDK, y por ende el API, de Bluevia es necesario registrarnos como desarrolladores
dentro de la plataforma de Bluevia. Esto nos va a dar acceso a la creacin de API Keys y a crdito en
SMS y MMS para las pruebas que se necesiten. Para esto ingresamos a la pgina de registro de Bluevia
e ingresamos la informacin que se solicita en el formulario, como se muestra en la Figura 3.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 7 de 21


Figura 3 Formulario de Inscripcin en Bluevia
Una vez completado el formulario el sistema nos solicitar que ingresemos nuestras credenciales para
finalizar el proceso de inscripcin:




Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 8 de 21

Ya dentro de la plataforma es necesario activar nuestro nmero de celular para que quede vinculado a
la cuenta y se pueda hacer uso de los crditos para probar. Para este registro seguimos el proceso
descrito en la



Es importante que al nmero de celular se le anteponga el cdigo de pas 57, un ejemplo de cmo
debera ir el nmero es: 573181234567.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 9 de 21

Activacin de cuenta de cliente
La creacin de la cuenta de desarrollador automticamente nos permite el acceso como clientes para
poder probar nuestros desarrollos. Para activar esta cuenta debemos ir al sitio de clientes de Bluevia.
En esta pgina nos registramos con las MISMAS credenciales que creamos en el paso anterior y con
este solo ingreso ya queda activada la cuenta. Adems esta activacin nos da 50 crditos para probar
nuestras aplicaciones, como se presenta en la Figura 4

Figura 4 Crditos otorgados para pruebas
Obtencin de API Keys
El ltimo paso para comenzar a crear nuestras aplicaciones Java es la obtencin de Bluevia API Keys.
Para esto volvemos al sitio de Bluevia y en la Seccin de API hacemos clic en Get your Test API Key.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 10 de 21


Esto nos presentar un formulario, como el de la Figura 5, que debemos llenar con la informacin de
nuestra aplicacin.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 11 de 21


Figura 5 Formulario para obtener un API Key
Dependiendo de las API que se escojan se deber ingresar un MO Keyword, este es un cdigo
alfanumrico permitir reconocer que clientes nos han enviado mensajes a travs de Bluevia. Este
cdigo deber ser nico y como sugerencia deber ser informativo para mejorar el uso por parte de
los clientes.

Una vez ingresada la informacin el sistema genera un API key, como se presenta en la Figura 6.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 12 de 21


Figura 6 Claves de acceso para una aplicacin en Bluevia
Con el Key y Secret proporcionados es posible construir aplicaciones que utilicen la plataforma de
Bluevia. Una vez completados todos estos pasos damos comienzo al desarrollo de dichas aplicaciones.
6. AUTENTICACIN Y PERMISOS
Bluevia es una plataforma que nos permite acceder a millones de clientes a travs de aplicaciones.
Para poder llegar a estos clientes es necesario que ellos nos abran la puerta, es decir, nos permitan
utilizar su telfono mvil y acceder a travs de este a nuestras diversas aplicaciones. Para lograr este
permiso Bluevia utiliza el protocolo OAuth, descrito ya en las charlas previas a este taller. Para
autenticar a un usuario se deben seguir 5 pasos utilizando el SDK:
!" #$%&'&(&)' +$, -./&$'0$ 1 +$ ,- &'%23.-(&)' 4-3- 2/0$'$3 $, 5$67$80 92:$'; Ll amblenLe deflne
sl se va Lraba[ar en modo Llve o en modo Sandbox y la lnformacln necesarla es nuesLro
Consumer key y Consumer Loken (que lo obLenemos de la lnformacln provlsLa por el Al key).



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 13 de 21

ara manlpularlos me[or denLro de la clase que uLlllzamos debemos deflnlr dos varlables que
conLengan esLa lnformacln, como se muesLra a conLlnuacln:
!"#$%& ()*)%& +,-. /,-. 0 +,-.123456
!"#$%& ()*)%& 78")9:,;.< &,<("/.= 0 <.> 78")9:,;.<?@A,<("/.=B.C@D
@A,<("/.=:,;.<@E6
ara nuesLro e[emplo uLlllzaremos el modo LlvL, es declr, esLaremos en capacldad de envlar
mensa[es a Lraves de la red celular. Se deben reemplazar los Lermlnos Consumerkey y
Consumer1oken por los valores correspondlenLes de cada usuarlo.
<" =/0$'(&)' +$, 5$67$80 92:$'; ara obLener esLe Loken se debe lnsLanclar un ob[eLo de Llpo
!"#$"%&'()"* e lnvocar el meLodo +"&!"#$"%&'()"* para obLener nuesLro requesL Loken.
LsLe meLodo, como se muesLra en el e[emplo slgulenLe, reclbe Lres parmeLros, el prlmero es
nuesLra lnformacln de auLenLlcacln de apllcacln, el segundo es un nlck de usuarlo, que en
nuesLro caso no se usa, y el Lercero una dlreccln web a donde redlrlglr la respuesLa, en esLe
e[emplo no esLamos Lraba[ando con dlcha dlreccln por lo que se debe de[ar nula. LsLe cdlgo ya
debe esLar lncluldo, en esLe e[emplo, denLro del meLodo ,-.* del apllcaLlvo.
F.G".():,;.< =) 0 <.> F.G".():,;.<?E6
78")9:,;.< =.G".():,;.< 0 =)1H.)F.G".():,;.<?&,<("/.=D <"$$D <"$$E6
IC()./1,")1!=%<)$<?@J,=)*$ "=$K@ L =.G".():,;.<1H.)M=$?EE6
Ln esLe e[emplo solo se uLlllza la lnformacln de reglsLro de la apllcacln, por lo que es necesarlo
que el usuarlo cople el vlnculo en un browser. ara auLorlzar la apllcacln el usuarlo debe lngresar
sus credenclales, sl no esL reglsLrado prevlamenLe, en el slLlo (para nuesLro caso las mlsmas
credenclales de desarrollador) y le aparecer una venLana como la de la llgura 7.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 14 de 21


Figura 7 Autorizacin de acceso
Paso seguido autorizamos a la aplicacin y nos debe aparecer una respuesta como la de la Figura 8.





Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 15 de 21


Figura 8 Activacin de servicios
En esta pantalla el sistema muestra un PIN, que es el cdigo de autorizacin requerido en el siguiente
paso.
>" ?2,&(&07+ +$ @AB; Ll ln !"#$% '()*+*() que se obLuvo en el paso anLerlor es la enLrada necesarla
para obLener el Access 1oken. ara esLo senclllamenLe le sollclLamos el numero al usuarlo:
I&*<<.= %< 0 <.> I&*<<.=?IC()./1%<E6
I)=%<H ,*")9NO.=%P%.= 0 %<1<.Q)2%<.?E6
C" =/0$'(&)' +$, D(($88 92:$'; ?a Lenemos Lodos los elemenLos necesarlos para sollclLar el Access
1oken y flnallzar con el proceso de auLorlzacln. ara esLo creamos un ob[eLo de Llpo
/00"%%'()"* e lnvocar el meLodo +"& para obLener nuesLro Access 1oken. LsLe meLodo reclbe
Lres parmeLros, el prlmero es nuesLra lnformacln de auLenLlcacln de apllcacln, el segundo el
8equesL 1oken y el Lercero el ln que lngreso el usuarlo.
8&&.((:,;.< *) 0 <.> 8&&.((:,;.<?E6
78")9:,;.< *&&.((:,;.< 0 *)1H.)?&,<("/.=D =.G".():,;.<D ,*")9NO.=%P%.=E6
IC()./1,")1!=%<)$<?@8&&.(( :,;.<K@ L *&&.((:,;.<1H.):,;.<?EE6
IC()./1,")1!=%<)$<?@8&&.(( :,;.< I.&=.)K@ L *&&.((:,;.<1H.)I.&=.)?EE6
Ll resulLado de esLe proceso se deberla almacenar en una base de daLos ya que esLe Access 1oken
ser uLlllzado Lodo el Llempo en los servlclos de 8luevla. Ln nuesLro caso debemos coplarlo en un



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 16 de 21

archlvo aparLe para Lenerlo presenLe en los slgulenLes desarrollos de esLe Laller. una vez
compleLado esLe paso podemos comenzar a reclblr y envlar mensa[es a nuesLros cllenLes.
7. ENVIANDO Y RECIBIENDO MENSAJES
Con la autorizacin previa ya es posible enviar mensajes en nombre de nuestros clientes o recibir
mensajes a nombre de ellos. Para facilitar las cosas es bueno crear un Access Token como elemento
de la clase donde estamos trabajando, con la informacin obtenida:
!"#$%& ()*)%& 78")9:,;.< *&&.((),;.< 0 <.> 78")9:,;.<?@8&&.((:,;.<@D
@8&&.((:,;.<I.&=.)@E6
Se debe remplazar AccessToken y AccessTokenSecret por la informacin obtenida en el numeral
anterior. Con esta informacin procedemos a enviar nuestro primer SMS.
Envo de SMS
El envo de mensajes de texto utilizando la plataforma de Bluevia se realiza en tres sencillos pasos:
!" #$%&'&(&)' +$, .$'8-E$; Como prlmera medlda se debe lnsLanclar un ob[eLo de Llpo
0(,234$"5.-26-5-2%,%27"%%-+"7' y luego deflnlr los numeros a donde se va a envlar el
mensa[e y el mensa[e en sl, como se muesLra a conLlnuacln:
+.((*H.+: /.((*H.I.<-.= 0 <.> +.((*H.+:?&,<("/.=D *&&.((),;.<D /,-.E6
I)=%<H *--=.((.(RS 0 T @UVWXYXZW[U\V@ ]6
I)=%<H /.((*H. 0 @^,$* +"<-, _$".O%*`@6
Ll consLrucLor del mensa[e reclbe Lres parameLros, el prlmero es nuesLra lnformacln de
apllcacln, el segundo es el Access 1oken de nuesLro cllenLe y el Lercero es el modo del amblenLe.
Los numero de celular a donde se van a envlar el mensa[e esLn conLenldos en un arreglo, cada
numero debe lnlclar con el cdlgo de pals, en nuesLro caso 37. Ll mensa[e es una cadena de
caracLeres.
<" F'G&-'+2 $, .$'8-E$; Con la lnformacln prevlamenLe deflnlda se procede a envlar el me sa[e.
ara esLo se lnvoca el meLodo %"*8 con los numeros de celular y el mensa[e como parmeLros.
I)=%<H (/(3- 0 /.((*H.I.<-.=1(.<-?*--=.((.(D /.((*H.E6
LsLe meLodo reLorna una cadena con el numero de ldenLlflcacln del mensa[e envlado. LsLe
numero es lmporLanLe para la posLerlor verlflcacln del esLado del mlsmo.
>" H$3&%&(-'+2 $, $80-+2 +$, .$'8-E$; Cuando el mensa[e ha sldo envlado debe ser verlflcado su
esLado para saber sl lleg o no. ara esLo uLlllzamos el ldenLlflcador de mensa[e y la funcln
+"&9&-&$%, LsLa funcln nos permlLe verlflcar el ulLlmo esLado del mensa[e, los dlferenLes
mensa[es que se pueden obLener se encuenLran en la pglna de 8luevla. Ll esLado del mensa[e es



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 17 de 21

generado en una llsLa por lo que en el e[emplo slgulenLe uLlllzamos un :(;"-0< para lmprlmlr
esLos esLados.
I+Ia.$%O.=CI)*)"(:C!. =.(!,<(. 0 /.((*H.I.<-.=1H.)I)*)"(?(/(3-E6
2%()ba.$%O.=C3<P,=/*)%,<:C!.c $%() 0 =.(!,<(.1H.)I/(a.$%O.=CI)*)"(?E6
P,= ?a.$%O.=C3<P,=/*)%,<:C!. ()*)"( K $%()E T
IC()./1,")1!=%<)$<?@a.$%O.=C ()*)"(K @ L ()*)"(1H.)a.$%O.=CI)*)"(?EE6
]
LsLe ulLlmo paso nos permlLe verlflcar el mensa[e y deberla repeLlrse hasLa que se reclba un
esLado de enLrega saLlsfacLorla del mensa[e. Ahora procedemos a revlsar la recepcln de
mensa[es de LexLo.
Recepcin de SMS
Si nuestro API key permite la recepcin de SMS debimos haber establecido un MO Keyword, esta
palabra nos permitir recibir mensajes a travs de la plataforma de Bluevia. Para recibir mensajes
debemos efectuar tres pasos:
!" F'G&-3 7' .$'8-E$; un cllenLe puede envlar SMS a nuesLra apllcacln, para esLo deber envlar un
mensa[e al numero 2303, que es el cdlgo de 8luevla especlal para Colombla. La prlmera palabra
del mensa[e deber ser el MC keyword Lal y como se escrlbl en el reglsLro de la apllcacln.
Luego de esLa palabra se debe escrlblr un espaclo y ya el mensa[e que se desee envlar como Lal.
LsLo permlLlr a 8luevla dlrecclonar el mensa[e a nuesLra apllcacln para que luego podamos
recuperarlo.
<" #$%&'&$'+2 $,$.$'028 4-3- ,- 3$(74$3-(&)' +$ .$'8-E$8; ara que podamos recuperar nuesLros
mensa[es neceslLamos lnsLanclar un ob[eLo de Llpo 0(,234$"5.-26-5-2%,% 7"%%-+"7= y
deflnlr el cdlgo de acceso a nuesLros mensa[es. La lnsLancla de dlcho ob[eLo se hace lnvocando al
consLrucLor de la clase con Lres parmeLros ya prevlamenLe deflnldos como nuesLra lnformacln
de apllcacln, el Access 1oken y el modo de Lraba[o. Adems Lamblen debemos deflnlr una
cadena con el cdlgo de acceso a mensa[es. LsLe cdlgo es el mlsmo al cual nuesLros cllenLes
envlan los mensa[es anLecedldo por el cdlgo del pals, en nuesLro caso ser 372303.
+.((*H.+7 (/(F.&.%O.= 0 <.> +.((*H.+7?&,<("/.=D *&&.((),;.<D /,-.E6
I)=%<H =.H%()=*)%,<3- 0 @UVZUdU@6
>" 5$(74$3-'+2 ,28 .$'8-E$8; ara recuperar los mensa[es se debe lnvocar el meLodo
+"&7"%%-+"% y recorrer la llsLa que esLe reLorna. ulcho meLodo reclbe como parmeLro el
cdlgo de acceso prevlamenLe deflnldo. Ln el e[emplo slgulenLe se recorre la llsLa de mensa[es
uLlllzando un foreach. Ls de Lener en cuenLa que una vez los mensa[es han sldo recuperados esLos
son borrados de la plaLaforma por lo que es necesarlo almacenarnos para su posLerlor uLlllzacln.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 18 de 21

F.&.%O.-I+I:C!. =.(!,<(. 0 (/(F.&.%O.=1H.)+.((*H.(?=.H%()=*)%,<3-E6
2%()bI+I+.((*H.:C!.c $%() 0 =.(!,<(.1H.)F.&.%O.-I+I?E6
P,= ?I+I+.((*H.:C!. (/( K $%()ET
IC()./1,")1!=%<)$<?@F.&.%O.- I+I P=,/ e@ L
(/(1H.)7=%H%<8--=.((?E1H.)J9,<.f"/#.=?E L @ece@ L (/(1H.)+.((*H.?E L @e@E6
]
A este mtodo de recibir mensajes se le conoce como Polling y es uno de los dos mtodos permitidos
para este fin. El otro mtodo es la notificacin automtica de mensajes. Este mtodo permite que
Bluevia nos notifique automticamente cuando un mensaje es recibido. Se requiere una direccin web
con soporte y certificado de HTTPS para recibir dichas notificaciones. Dado el alcance de este taller no
se presenta este proceso pero los participantes pueden buscar la informacin pertinente en la pgina
de Bluevia.
Envo de MMS
De igual manera que se envan SMS es el envo de MMS. La nica diferencia relevante es el uso de
adjuntos para estos mensajes. Se siguen los mismos tres pasos descritos en el envo de SMS. Es
importante que el celular desde donde enviamos o a donde enviamos MMS debe tener configurado el
acceso a redes de datos, sin esta configuracin no se puede utilizar este servicio.
!" #$%&'&(&)' +$, .$'8-E$; Como prlmera medlda se debe lnsLanclar un ob[eLo de Llpo
0(,234$"5.-26-5-2,,%27"%%-+"7' y luego deflnlr los numeros a donde se va a envlar el
mensa[e y el mensa[e en sl, como se muesLra a conLlnuacln:
+.((*H.+: /.((*H.I.<-.= 0 <.> +.((*H.+:?&,<("/.=D *&&.((),;.<D /,-.E6
I)=%<H *--=.((.(RS 0 T @UVWXYXZW[U\V@ ]6
8))*&9/.<)RS P%$.( 0 T<.> 8))*&9/.<)?@(=&g%/*H.<1h!H@D A,<).<):C!.13+8i5NjJ5iED
<.> 8))*&9/.<)?@(=&g/.((*H.1)Q)@D A,<).<):C!.1:5k:NJ283fE]6
I)=%<H ("#h.&) 0 @5<O%*<-, ++I`@6
Ll consLrucLor del mensa[e reclbe Lres parameLros, el prlmero es nuesLra lnformacln de
apllcacln, el segundo es el Access 1oken de nuesLro cllenLe y el Lercero es el modo del amblenLe.
Los numero de celular a donde se van a envlar el mensa[e esLn conLenldos en un arreglo, cada
numero debe lnlclar con el cdlgo de pals, en nuesLro caso 37. Luego deflnlmos un arreglo de Llpo
/&&-0<,"*& con dlferenLes ad[unLos que uno desee agregar. Cada uno de esLos elemenLos
debe lnclulr el paLh donde esL el archlvo, en nuesLro caso debemos agregarlo en la carpeLa src.
or ulLlmo se deflne una cadena que conLlene el asunLo del mensa[e a envlar



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 19 de 21

<" F'G&-'+2 $, .$'8-E$; Con la lnformacln prevlamenLe deflnlda se procede a envlar el me sa[e.
ara esLo se lnvoca el meLodo %"*8 con los numeros de celular, los ad[unLos y el asunLo del
mensa[e como parmeLros.
I)=%<H //(3- 0 /.((*H.I.<-.=1(.<-?*--=.((.(D P%$.(D ("#h.&)E6
LsLe meLodo reLorna una cadena con el numero de ldenLlflcacln del mensa[e envlado. LsLe
numero es lmporLanLe para la posLerlor verlflcacln del esLado del mlsmo.
>" H$3&%&(-'+2 $, $80-+2 +$, .$'8-E$; Cuando el mensa[e ha sldo envlado debe ser verlflcado su
esLado para saber sl lleg o no. ara esLo uLlllzamos el ldenLlflcador de mensa[e y la funcln
+"&9&-&$%, LsLa funcln nos permlLe verlflcar el ulLlmo esLado del mensa[e, los dlferenLes
mensa[es que se pueden obLener se encuenLran en la pglna de 8luevla. Ll esLado del mensa[e es
generado en una llsLa por lo que en el e[emplo slgulenLe uLlllzamos un :(;"-0< para lmprlmlr
esLos esLados.
I+Ia.$%O.=CI)*)"(:C!. =.(!,<(. 0 /.((*H.I.<-.=1H.)I)*)"(?(/(3-E6
2%()ba.$%O.=C3<P,=/*)%,<:C!.c $%() 0 =.(!,<(.1H.)I/(a.$%O.=CI)*)"(?E6
P,= ?a.$%O.=C3<P,=/*)%,<:C!. ()*)"( K $%()E T
IC()./1,")1!=%<)$<?@a.$%O.=C ()*)"(K @ L ()*)"(1H.)a.$%O.=CI)*)"(?EE6
]
LsLe ulLlmo paso nos permlLe verlflcar el mensa[e y deberla repeLlrse hasLa que se reclba un
esLado de enLrega saLlsfacLorla del mensa[e. Ahora procedemos a revlsar la recepcln de MMS
Recepcin de MMS
Si nuestro API key permite la recepcin de SMS debimos haber establecido un MO Keyword, esta
palabra nos permitir recibir mensajes a travs de la plataforma de Bluevia. Para recibir mensajes
debemos efectuar tres pasos:
!" F'G&-3 7' .$'8-E$; un cllenLe puede envlar MMS a nuesLra apllcacln, para esLo deber envlar
un mensa[e al numero 2303, que es el cdlgo de 8luevla especlal para Colombla. La prlmera
palabra del mensa[e deber ser el MC keyword Lal y como se escrlbl en el reglsLro de la
apllcacln. Luego de esLa palabra se debe escrlblr un espaclo y ya el mensa[e que se desee envlar
como Lal. LsLo permlLlr a 8luevla dlrecclonar el mensa[e a nuesLra apllcacln para que luego
podamos recuperarlo.
<" #$%&'&$'+2 $,$.$'028 4-3- ,- 3$(74$3-(&)' +$ .$'8-E$8; ara que podamos recuperar nuesLros
mensa[es neceslLamos lnsLanclar un ob[eLo de Llpo 0(,234$"5.-26-5-2,,%27"%%-+"7= y
deflnlr el cdlgo de acceso a nuesLros mensa[es. La lnsLancla de dlcho ob[eLo se hace lnvocando al
consLrucLor de la clase con Lres parmeLros ya prevlamenLe deflnldos como nuesLra lnformacln
de apllcacln, el Access 1oken y el modo de Lraba[o. Adems Lamblen debemos deflnlr una



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 20 de 21

cadena con el cdlgo de acceso a mensa[es. LsLe cdlgo es el mlsmo al cual nuesLros cllenLes
envlan los mensa[es anLecedldo por el cdlgo del pals, en nuesLro caso ser 372303.
+.((*H.+7 (/(F.&.%O.= 0 <.> +.((*H.+7?&,<("/.=D *&&.((),;.<D /,-.E6
I)=%<H =.H%()=*)%,<3- 0 @UVZUdU@6
>" 5$(74$3-'+2 ,28 .$'8-E$8; ara recuperar los mensa[es se debe lnvocar el meLodo
+"&7"%%-+"% y recorrer la llsLa que esLe reLorna. ulcho meLodo reclbe como parmeLro el
cdlgo de acceso prevlamenLe deflnldo. Ln el e[emplo slgulenLe se recorre la llsLa de mensa[es
uLlllzando un foreach. Ls de Lener en cuenLa que una vez los mensa[es han sldo recuperados esLos
son borrados de la plaLaforma por lo que es necesarlo almacenarnos para su posLerlor uLlllzacln.
F.&.%O.-I+I:C!. =.(!,<(. 0 (/(F.&.%O.=1H.)+.((*H.(?=.H%()=*)%,<3-E6
%P ?=.(!,<(. 00 <"$$ ll =.(!,<(.1H.)F.&.%O.-+.((*H.(?E 00 <"$$
ll =.(!,<(.1H.)F.&.%O.-+.((*H.(?E1%(5/!)C?EET
IC()./1,")1!=%<)$<?@f, /.((*H.(@E6
] .$(. T
2%()b+.((*H.F.P.=.<&.:C!.c $%() 0 =.(!,<(.1H.)F.&.%O.-+.((*H.(?E6
P,= ?+.((*H.F.P.=.<&.:C!. /.((*H.F.P.=.<&. K $%()ET
F.&.%O.-++I //( 0 //(F.&.%O.=1H.)+.((*H.?=.H%()=*)%,<3-D
/.((*H.F.P.=.<&.1H.)+.((*H.3-.<)%P%.=?EE6
IC()./1,")1!=%<)$<?@+.((*H. P=,/K @ L
//(1H.)+.((*H.?E1H.)7=%H%<8--=.((?E1H.)J9,<.f"/#.=?EE6
IC()./1,")1!=%<)$<?@ c I"#h.&)K @ L
//(1H.)+.((*H.?E1H.)I"#h.&)?EE6
8==*C2%()b+%/.A,<).<)c &,<).<)( 0 //(1H.)8))*&9/.<)(?E6
P,= ?+%/.A,<).<) &,<).<) K &,<).<)(ET
IC()./1,")1!=%<)$<?&,<).<)1H.)m%$.f*/.?EE6
]
]
]
A este mtodo de recibir mensajes se le conoce como Polling y es uno de los dos mtodos permitidos
para este fin. El otro mtodo es la notificacin automtica de mensajes. Este mtodo permite que
Bluevia nos notifique automticamente cuando un mensaje es recibido. Se requiere una direccin web
con soporte y certificado de HTTPS para recibir dichas notificaciones. Dado el alcance de este taller no
se presenta este proceso pero los participantes pueden buscar la informacin pertinente en la pgina
de Bluevia.



Taller Desarrollando aplicaciones con Bluevia y Java
Pgina 21 de 21

8. PUBLICIDAD
Por ltimo vamos a evaluar la obtencin de publicidad para nuestros clientes. Este servicio nos
permite, de acuerdo al tipo de celular del cliente as como a sus preferencias, obtener publicidad que
pueda llegar a su dispositivo. Para esto se debe utilizar la siguiente clase:
I%/!$.8- =.G".() 0 <.> I%/!$.8-?E6
=.G".()1(.)8-=.G3-?@Xd\U[AAXdnXWndU:ZdKWXKXW&\&VZVWX*-@E6
=.G".()1(.)M(.=8H.<)?@+,o%$$*gU1d@E6
=.G".()1(.)8-I!*&.?@XdpVV@E6
=.G".()1(.)J=,).&)%,<N!,$%&C?@X@E6
=.G".()1(.)A,"<)=C?@A7@E6
8-O.=)%(./.<) *- 0 <.> 8-O.=)%(./.<)?&,<("/.=D *&&.((),;.<D /,-.E6
A=.*)%O.N5$./.<)( =.(!,<(. 0 *-1(.<-?=.G".()E6
La creacin de la solicitud para un aviso publicitario necesita de varios elementos, en el ejemplo
anterior se presentan estos elementos. El primero es un ID de aviso, que debe ser nico y generado
por nosotros, se recomienda utilizar una secuencia utilizando fechas, cdigos de aplicacin y algn tipo
de encriptamiento. Luego se define el tipo de explorador en donde se presentar el aviso. A
continuacin se inicializa el AdSpace, este valor nos fue entregado con el registro del API key. Los
ltimos valores que se requieren son el nivel de proteccin (1 nivel alto baja contenido explicito 3
bajo nivel de proteccin alto contenido explicito) y el pas donde se desea mostrar el aviso. Con estos
valores inicializados se solicita un nuevo aviso publicitario, el cual puede ser utilizado en nuestra
aplicacin o enviado al mvil de nuestro cliente. Para acceder a la informacin de este anuncio se
puede utilizar el cdigo presentado a continuacin:
%P ?=.(!,<(. `0 <"$$E T
P,= ?A=.*)%O.N5$./.<) . K =.(!,<(.1H.)A=.*)%O.N.$./.<)(?EE T
IC()./1,")1!=%<)$<?@&=.*)%O.N.$./.<)N)C!.N%-K @ L .1H.):C!.N%-?EE6
IC()./1,")1!=%<)$<?@&=.*)%O.N.$./.<)N)C!.N<*/.K @ L .1H.):C!.N<*/.?EE6
IC()./1,")1!=%<)$<?@&=.*)%O.N.$./.<)NO*$".K @ L .1H.)4*$".?EE6
IC()./1,")1!=%<)$<?@&=.*)%O.N.$./.<)N%<).=*&)%,<K @ L
.1H.)3<).=*&)%,<?EE6
]
]
9. EJERCICIO PRCTICO
El ejercicio prctico consiste en desarrollar un servlet-jsp sencillo que reciba mensajes SMS o MMS y
los publique en una tabla. Una vez publicado deber enviar un SMS de confirmacin al nmero que
envo el mensaje.