Globalcode – Open4education
Trilha MobileUsando Geo-Fencing na sua
aplicação mobile
Globalcode – Open4education
O que é Geofencing
Recurso de software que permite definir perímetros virtuais.
Usa conhecimento da localização do usuário.
Gera eventos quando usuário interage com esses perímetros virtuais.
Globalcode – Open4education
Eventos Geofencing
Fonte: https://developer.android.com/training/location/geofencing.html
Globalcode – Open4education
Benefícios
Proporciona maior engajamento do usuário com a aplicação.
Garante maior assertividade em anúncios e in-app purchases.
Permite fornecer informações mais relevantes para o usuário.
Globalcode – Open4education
Exemplos
Promoções, descontos, recompensas, …
Questionários de satisfação.
Monitorar competidores.
Globalcode – Open4education
Como funciona
Deve-se definir regiões que serão perímetros virtuais
Os perímetros virtuais são normalmente circulares
Depois registra-se para obter eventos, podendo ser tanto ativo (em foreground) ou passivo (em background)
Globalcode – Open4education
Windows Phone1. Usar Geofence para criar no geofence e definir
estados monitorados via MonitoredGeofenceStates
2. Adicionar geofence em GeofenceMonitor.Current.Geofences
3. Registrar BackgroundTask para tratar eventos Geofencing, definindo trigger LocationTrigger(LocationTriggerType.Geofence)
4. Para Foreground, especificar tratamento para evento GeofenceMonitor.Current.StatusChanged
Globalcode – Open4education
Windows Phone
https://github.com/joaocunhaeld/GeoFencing
Globalcode – Open4education
Android
1. Usar Geofence.Builder para criar Geofence
2. Especificar triggers com GeofencingRequest
3. Definir intent para tratar GeofenceTransitionsIntentService
4. Adicionar geofence: GeofencingApi.addGeofences()
5. Criar IntentService para tratar Geofence transitions.
Globalcode – Open4education
RecomendaçõesSe necessitar de Internet, verifique conectividade antes de criar o geofence ou tratar evento.
Verifique a relevância de um evento de Geofence (timestamp e localização atual) - HaversineDistance
Dê preferência para o Dwell para evitar muitas notificações
Não criar muitos geofences.
Evitar cercas geográficas muito pequenas (ao menos 100m).
Globalcode – Open4education
Cuidados
Política de privacidade
Consumo de bateria
Evitar tratar eventos em background e em foreground ao mesmo tempo.
Globalcode – Open4education
Próximo passo…
Android (http://bit.ly/1iZwhp9)
iOS (http://apple.co/1cVxPbH)
Windows (http://bit.ly/29i7O9s)
XamarinAndroid (http://bit.ly/29kEoHW) iOS (http://bit.ly/29lXQcJ)
...
Globalcode – Open4education
Contato
João Ronaldo [email protected]
Repositoriohttps://github.com/joaocunhaeld
Bloghttp://talkitbr.com