formato PDF - ArcGIS Developers

Anuncio
Alertas geolocalizadas (Geotriggers)
con ArGIS y Android
Raúl Jiménez Ortega
Carlos Henche Gómez
raul.jimenez@esri.es
carlos.henche@esri.es
Objetivos y expectativas para hoy
Como en 1h no da para ver todo sobre
GeoTriggers… los objetivos son:
•
Conocer qué son y qué ventajas ofrecen
•
Entender mejor en qué contextos se pueden usar y qué
posibilidades de configuración ofrecen
•
Aprender qué herramientas existen para facilitar el
desarrollo y depuración
•
Entender un poco cómo funcionan a bajo nivel
•
Conocer las herramientas de desarrollo y depuración
•
Facilitar algunos recursos para los autodidactas
Autor: Pete Prodoehl
Entender el contexto
Dónde y para qué se usan
Location-aware Apps (Aplicaciones conscientes del contexto)
Aplicaciones en domótica
Activa, desactiva, reconfigura, …
NASA HQ PHOTO
Maurizio Pesce
Dispositivos Wearables
Notificaciones de tu bolsillo
a tu muñeca … ¡o a tus ojos!
Android
Android Wear
Geotriggers en dispositivos Android
Android & Mirror API
Geotrigger SDK +
Android / Android Wear / Mirror API
Qué son y cómo funcionan
Visión a alto y bajo nivel
Geotrigger Service: Geo-fences o Geo-vallas
Perímetros virtuales de un área
geográfica real - Wikipedia
ofertas
Arquitectura: Geotriggers en ArcGIS Online
Ofertas, cine
App 1
POST /location/update
(App ID , Location, Tags, GCM_Project_ID, Device ID)
Geotrigger
Service
GEOM
TAGS
geom1
tag1
callbackURL
geom2
ofertas, cine
push
oAuth Credentials, Push Certificates
…
Notification
App X
API
REST
Push Server
… ACTION
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
Geotrigger tools
Trabajando y depurando
aplicaciones con geotriggers
Geotrigger Tools: Editor
Herramienta Open Source para crear triggers
App 1
POST /trigger/create
Geotrigger Editor
(App ID, Feature)
Geotrigger
Service
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
…
App X
API
REST
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
Geotrigger Tools: Editor
Herramienta Open Source para crear triggers
App 1
POST /trigger/create
Geotrigger Editor
(App ID, Feature)
Geotrigger
Service
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
…
Response
App X
API
REST
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
Geotrigger Tools: Faker
Herramienta Open Source para falsificar localizaciones
App 1
Geotrigger Faker
POST /location/update
Geotrigger
Service
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
…
App X
API
REST
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
Geotrigger Tools: Faker
Herramienta Open Source para falsificar localizaciones
App 1
Geotrigger Faker
POST /location/update
Geotrigger
Service
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
…
Response
App X
API
REST
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
Trigger Callbacks - Ejemplo
Info https://developers.arcgis.com/geotrigger-service/api-reference/trigger-callback/
Debugger: http://desarrolladores.esri.es/code/geotriggers/callback.php
Geotrigger Tools: Pre-requisitos
1.- Creamos una cuenta
developers.arcgis.com
3.- Registramos nuestra aplicación
developers.arcgis.com/en/applications/#/<hash>/register/
2.- Creamos una app
developers.arcgis.com/en/applications
Geotrigger Tools - Geotrigger Editor
Un vistazo rápido
Parámetros de un trigger
•
Etiquetas: filtrar/clasificar las alertas
•
Condition: geometría y dirección (entrar/salir)
•
Action:
-
Push (móvil): mensaje, icono, sonido, url, profile…
-
Change the tracking profile
-
Callback URL (server)
•
Rate Limit: intervalo mínimo de tiempo para volver
a desencadenar la acción (Push ,…)
•
Times: número máximo por dispositivo
•
Time: días de la semana y horas
•
Otros: properties, geoformat, sound, …
Notificaciones
Activa la música que
te interesa y te
avisaremos de lo
conciertos





Rock
Indie
Techno
Hiphop
….
Parámetros de un trigger
•
Etiquetas: filtrar/clasificar las alertas
•
Condition: geometría y dirección (entrar/salir)
•
Action:
-
Push (móvil): mensaje, icono, sonido, url, profile…
-
Change the tracking profile
-
Callback URL (server)
•
Rate Limit: intervalo mínimo de tiempo para volver
a desencadenar la acción (Push ,…)
•
Times: número máximo por dispositivo
•
Time: días de la semana y horas
•
Otros: properties, geoformat, sound, …
Profiles (Perfiles de configuración)
ROUGH MODE (Modo áspero):
1. Consumo mínimo de batería
2. Menor precisión, usa triangulación.
3. Precisión aproximada: 500metros (en función del nº de antenas)
FINE MODE (Modo fino)
1. Alto consumo de batería (usa siempre GPS, aproximadamente cada 5 segs)
2. Recomendado para cortos periodos de tiempo o dispositivos con alimentación
3. Precisión aproximada: 40 metros
ADAPTATIVE MODE (Modo adaptativo)
1. Recomendado en mayoría de los casos
2. Se adapta al contexto (proximidad a las geofences, velocidad de desplaz., etc)
3. Precisión aproximada: 100m sin GPS. Funciona bien en ciudades (usa wifi)
4. Almacenar polígonos cercanos y usa geofencing nativo (GPS cdo está cerca)
Configurando las
notificaciones PUSH
Android y developers.arcgis.com
Configurar GCM en ArcGIS Online (1/4)
1. Creamos un proyecto
2. Activamos la API de GCM
console.developers.google.com
/project/<project_id>/apiui/api
Configurar GCM en ArcGIS Online (2/4)
4. Seleccionamos clave de servidor
/project/<project_id>/apiui/credential
3. Creamos una clave pública
/project/<project_id>/apiui/credential
Configurar GCM en ArcGIS Online (3/4)
5. Dejamos las opciones por defecto
6. Copiamos la clave
/project/<project_id>/apiui/credential
/project/<project_id>/apiui/credential
Configurar GCM en ArcGIS Online (4/4)
https://developers.arcgis.com/en/applications/#/<hash>/settings/
Configurando
nuestro proyecto
Android Studio & Eclipse
Documentación y códigos
github.com/esri?query=geotrigger
developers.arcgis.com
GeotriggerActivity.java
GeotriggerActivity.java
developers.arcgis.com/en/applications/#/<hash>/licensing
GeotriggerActivity.java
console.developers.google.com/project/<project_id>
Notificando a
Android Wear
Usando NotificationCompat
Enviando una notificación personalizada
Capturando la notificación PUSH
“data={
\”title \” : \” Titulo de la not \”,
….
}”
Notificando a
Google Glass
Usando Mirror API y PHP
tag2
Enviando una notificación personalizada
tag2
App 1
POST /location/update
(App ID , Location, Tags, GCM_Project_ID, Device ID)
POST callback_url
Callback Payload (JSON)
Geotrigger
Service
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
…
Mirror
App X
API
REST
GEOM
TAGS
…
ACTION
geom1
tag1
callbackURL
geom2
tag2
push
oAuth Credentials, Push Certificates
Cómo comunicarse con la Mirror API
https://github.com/googleglass/mirror-quickstart-php
http://desarrolladores.esri.es
http://geodevelopers.org
Conclusiones
Y para terminar, recordad…
Aspectos a destacar
1.
Geotriggers es un servicio de ArcGIS Online Ready to use
2.
Geotrigger SDK
1.
Te abstrae del hardware y S.O.
2.
Se preocupa del problema de la batería por ti
3.
Cuenta gratuita de desarrolladores = 600 geotriggers / mes
4.
Hay 3 tipos de acciones: Push, Callbacks y cambio de Profile
Otros recursos
1.
Vídeos / proceedings (esri.com/events/recent-proceedings)
1.
Geotrigger Service: Get Started, Overview, Use Cases & the API
2.
Geotrigger Service: iOS & Android Tips and Tricks
3.
Lessons Learned while Beta Testing the ESRI Geotrigger SDK
2.
Esri Geotrigger Service FAQ
3.
http://desarrolladores.esri.es -> Máquina virtual
4.
Github FeatureService2Geotrigger
Descargar