[aerogear-dev] [UPS] Geolocation Support

Sebastien Blanc scm.blanc at gmail.com
Tue Dec 2 04:44:31 EST 2014


On Mon, Dec 1, 2014 at 9:11 PM, Burr Sutter <bsutter at redhat.com> wrote:

> After a super quick scan, I did not see anything related to the iOS8
> background location tracking -
>
For sure, each lib platform will provide some "extras" but before that we
should agreed on a first common/unified API set accross the platforms

> it is important that location-based pushes support both:
> a) a static lat/long  (here is my home address, here is my work address)
> b) a traveling lat/long (here is where I am at right now…and right
> now….and now)
>
Interesting, this kind of features make it even more obvious to have a
complete independant (Unified) Geo Server.


>
> On Nov 27, 2014, at 11:52 AM, 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
>
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20141202/8f7f7915/attachment.html 


More information about the aerogear-dev mailing list