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 SDKIf 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 hookWe 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@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 :
Installations
Model Change
The idea is to add 2 new fields to the
Installation
Object :double longitude; double latitude;
These field should be optional !
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}
Sender
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.
Sender Client
The different Sender Clients (Java, Node.js, .net) should be updated accordingly.
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@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
_______________________________________________
aerogear-dev mailing list
aerogear-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev