[aerogear-dev] REST API - First thoughts: (Re: [AG Unified Push] Overview and NATIVE Push spec)
Sebastien Blanc
scm.blanc at gmail.com
Wed Mar 20 09:13:13 EDT 2013
Maybe we can have this UBER api but we still need to have the "atomic"
service to be able to add a mobile apps afterwards, no ?
Second point is, if I understood it well from the previous gists and
discussion : inside a same device type, let's say iOS, there can multiple
mobile apps pointing to the same push app (freemium/premium etc ...). So we
need an extra array :
[
{
name: "app1",
description: "desc1",
// I would recommend wrapping these in platform names in case key names
ever change and match
ios: {
[
{cert: "certval1",
passphrase: "passphrase1"},
{cert: "certval2",
passphrase: "passphrase2"}
]
},
android: {
[
{"google-api-key": "key1"},
{"google-api-key": "key2"}
]
}
},
{
name: "app2",
description: "desc2",
// I would recommend wrapping these in platform names in case key names
ever change and match
ios: {
[
{cert: "certval3",
passphrase: "passphrase3"},
{cert: "certval4",
passphrase: "passphrase4"}
]
},
android: {
[
{"google-api-key": "key3"},
{"google-api-key": "key4"}
]
}
}
]
On Wed, Mar 20, 2013 at 1:54 PM, Kris Borchers <kris at redhat.com> wrote:
>
> On Mar 20, 2013, at 7:42 AM, Matthias Wessendorf <matzew at apache.org>
> wrote:
>
>
>
> On Wed, Mar 20, 2013 at 1:31 PM, Kris Borchers <kris at redhat.com> wrote:
>
>>
>> On Mar 20, 2013, at 6:43 AM, Matthias Wessendorf <matzew at apache.org>
>> wrote:
>>
>> Here is the REST API for "Push App" (+mobile app) registrations:
>>
>> https://gist.github.com/matzew/2da6fc349a4aaf629bce
>>
>>
>> Questions:
>>
>> The post to "/applications/das231432qwdsa2/iOS" and/or
>> "/applications/das231432qwdsa2/android" are different (payload-wise)....
>>
>> Not sure if that is best solution.... However, we need to differentiate
>> between different "mobile os variants" anyways....
>>
>> My (CURRENT) feelings is that a different "endpoint" is better instead of
>> an ugly, large - but generic - API that does everything, and the server
>> figures out what type of mobile app has been registered …
>>
>>
>> I agree that different endpoints makes sense, especially if a user is
>> only interested in iOS devices for example and so only build an app that
>> works on iOS, since this would allow for easy registration of a single type
>> of application. I would however like to see, and believe users would like
>> to see, some sort of unified API so that they only have register an app
>> once for both Android and iOS. Maybe this won't be an issue once we have
>> more than just a REST interface but just wanted to throw it out there.
>>
>
>
> Like a post to "/applications
>
> where the payload is:
>
> {
> // push app properties
> "description":"just a test",
> "name":"TestApp",
>
> // REQUIRED Apple Push Network props:
> "cert":"CERT_UPLOAD_VAL",
> "passphrase": "top-secret",
>
> REQUIRED GCM Push Network props:
> "google-api-key": "dsdsaadsadsdasadsdsa"
>
> }
>
> and the 201 Response could look like:
> {
> "id":"PushAppKey"
> "apps":[
> {"iOS-ID":"adda213213"},
> {"android-ID":"454dda213213"},
> ]
> }
>
> This UBER :) API could work, for really just one "server side"
> abstraction, that has exaclty ONE iOS and one Android APP (of course the
> request body of the POST could contain arrays for different CERTS,
> passphrases, API-Keys).
>
> For a convenience we surly can have that - Is that what you mean ?
>
>
> Yep, that is pretty much what I meant, and would be in favor of passing an
> array of applications instead of an array of certs, etc. which would allow
> for multiple applications on multiple platforms like this:
>
> [
> {
> name: "app1",
> description: "desc1",
> // I would recommend wrapping these in platform names in case key names
> ever change and match
> ios: {
> cert: "certval1",
> passphrase: "passphrase1"
> },
> android: {
> "google-api-key": "key1"
> }
> },
> {
> name: "app2",
> description: "desc2",
> // I would recommend wrapping these in platform names in case key names
> ever change and match
> ios: {
> cert: "certval2",
> passphrase: "passphrase2"
> },
> android: {
> "google-api-key": "key2"
> }
> }
> ]
>
>
> -M
>
>
>>
>>
>> NEXT: Device Registrations + Sender Endpoints
>>
>> (Followed by "management" (get, put, delete.....)
>>
>>
>> Greetings,
>> Matthias
>>
>>
>>
>> On Tue, Mar 19, 2013 at 4:45 PM, Matthias Wessendorf <matzew at apache.org>wrote:
>>
>>> Hello,
>>>
>>> here is the 'overview' section of the Unified push....:
>>>
>>>
>>> AeroGear Unified Push (DRAFT 0.0.2)
>>>
>>> This is an *early* version of a 'spec' for the AeroGear Unified Push
>>> server.
>>> <https://gist.github.com/matzew/ec5c3c2dfa955c58c328#overview>Overview
>>>
>>> The *Unified Push* solution contains the following components:
>>>
>>> - Native Push Component: *sends native push message to registered
>>> apps*
>>> - Web Push Component: *sends web push message to online client (e.g.
>>> WebSocket/SockJS clients)*
>>> - Client SDK API
>>> - Native Push Client for iOS
>>> - Native Push Client for Android
>>> - Web Push Client for JavaScript
>>>
>>> Details are discussed on the each of the different components
>>>
>>>
>>> NOTE: LINK need to be enabled :) :)
>>>
>>> HOWEVER.......
>>>
>>> Here is what I'd like to add to the home page for the native push
>>> component - based on last weeks discussion:
>>>
>>> https://gist.github.com/matzew/69d33a18d4fac9fdedd4
>>>
>>> PLEASE comment on the gist....
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Matthias Wessendorf
>>>
>>> blog: http://matthiaswessendorf.wordpress.com/
>>> sessions: http://www.slideshare.net/mwessendorf
>>> twitter: http://twitter.com/mwessendorf
>>>
>>
>>
>>
>> --
>> Matthias Wessendorf
>>
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>> _______________________________________________
>> 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
>>
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf_______________________________________________
>
> 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/20130320/283385b0/attachment.html
More information about the aerogear-dev
mailing list