[aerogear-dev] [UPS] Geolocation Support

Summers Pittman supittma at redhat.com
Mon Dec 1 10:46:17 EST 2014


What other companies provide geofencing and what do their APIs look like?
I know Google has some stuff for Android buried in Google Play Services.

In general I think it might be less big brother if instead of the user 
reporting their location we add in metadata to filter incoming 
messages.  This will have us sending more metadata but we don't have to 
worry about what if some bad guy compromises the server and start 
following his mother-in-law.


On 11/27/2014 11:52 AM, Sebastien Blanc 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


-- 
Summers Pittman
>>Phone:404 941 4698
>>Java is my crack.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20141201/9c0809e9/attachment-0001.html 


More information about the aerogear-dev mailing list