[aerogear-dev] [UPS] Geolocation Support

Matthias Wessendorf matzew at apache.org
Thu Nov 27 17:05:43 EST 2014


Hrm,

not sure on that hard integration. Originally we thought about something
like:

1) write little native libs (Android/iOS) that help to collect long/lat.
2) combine them with the registration SDK

If location is enabled/allowed, store the long/lat to _a_ database - not
the database of the existing metadata. So that would be a completely
different REST api hook

We could even model that as a separate (micro) service.

Currently I am not sure if it's a good idea to blow up the metadata (with
geo data) and doing the same for the sender.





On Thu, Nov 27, 2014 at 5:52 PM, Sebastien Blanc <scm.blanc at gmail.com>
wrote:

> Hi Folks !
>
> During our last f2f we agreed on adding some geolocation support for the
> next UnifiedPush Release (1.1). I would like to start here a thread to
> discuss this topic.
>
> Let's keep in mind : *Crawl, Walk, Run*
>
> I would like to start with a concrete proposition and initiate the
> discussions from there :
> <https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#installations>
> Installations
> <https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#model-change>Model
> Change
>
> The idea is to add 2 new fields to the Installation Object :
>
> double longitude;
> double latitude;
>
>
> These field *should* be optional !
> <https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#registration>
> Registration
>
> When the device registers, along with alias, categories etc ... it will
> also be possible to pass a latitude and longitude.
>
> Later, we will probably offer a endpoint to update these properties. PUT
> /registry/device/{token}
> <https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#sender>Sender
> <https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#server-side>Server
> Side
>
> We need to extend the current sender API to be able to add geolocation as
> a criteria. I see that as something like :
>
> {
>   "message":{
>     "alert":"HELLO!
>   },
>   "criteria":{
>    "geolocation":
>        {
>       "latitude" : 40.2566
>       "longitude": 2.36556
>       "within" : 5
>       "unit" : "Km" // optional, default is Km
>        }
>   }
> }
>
>
> In this example, the Push Notification will be sent only to devices within
> a radius of 5 km of the supplied location.
>
> On the implementation side, I think it make sense to use Hibernate Search
> since it has nice support forSpatial queries
> <https://docs.jboss.org/hibernate/search/4.2/reference/en-US/html/spatial.html>
> .
> <https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#sender-client>Sender
> Client
>
> The different Sender Clients (Java, Node.js, .net) should be updated
> accordingly.
> <https://gist.github.com/sebastienblanc/d89e41b72c9de537dbde#client-sdks>Client
> SDKs
>
> In this fisrt iteration, the registration code would to be updated to
> include latitude and longitude for :
>
>    - iOS (Including Safari ? )
>    - Android ( Including Chrome Apps ?)
>    - JS UPS-SPS Lib
>    - Cordova Plugin
>    - Amazon
>    - Windows
>
> Retrieving the current position of the device is not in scope of this
> first version, later we could offer some features around that.
>
> There are some jiras to track these tasks :
> https://issues.jboss.org/browse/AGPUSH-828
>
> Comments and questions welcome !
>
> Sebi
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20141127/e1bd4c05/attachment.html 


More information about the aerogear-dev mailing list