Hey Again !
To make it even easier I've deployed a "multi-channel" version of the
quickstart here :
Then you can fire the CURLs for each category to see how it can handle
different channels :
curl -3 -u
"a0f6a30e-0cda-49a4-9901-bcfdc30e5c7a:b986c86e-4092-4728-a1ed-7ac68f6d0f7a"
-v -H "Accept: application/json" -H "Content-type: application/json"
-X POST -d '{
"categories" :["mail"],
"simple-push": "version=1111"
}'
curl -3 -u
"a0f6a30e-0cda-49a4-9901-bcfdc30e5c7a:b986c86e-4092-4728-a1ed-7ac68f6d0f7a"
-v -H "Accept: application/json" -H "Content-type: application/json"
-X POST -d '{
"categories" :["news"],
"simple-push": "version=1112"
}'
If you fire these multiple time don't forget to change the version value !
On Fri, Apr 4, 2014 at 10:02 AM, Sebastien Blanc <scm.blanc(a)gmail.com>wrote:
Hey Michi,
I realized that the code I pointed you to could be a bit confusing and
also contains a small bug.
I wrote this gist based on the quickstart example. Basically we register
to 2 channels : mail and news, we store the channelID and map that with a
String containing the service name, then in the onNotification we check
which service to call :
https://gist.github.com/sebastienblanc/9970129
Hope this example will make more sense !
Seb
On Thu, Apr 3, 2014 at 8:53 PM, Sebastien Blanc <scm.blanc(a)gmail.com>wrote:
> Looks at this more advanced example here
>
https://github.com/aerogear/aerogear-aerodoc-web/blob/master/scripts/serv...
>
>
> You will see that we register 2 times and we get 2 different endpoints.
> Then you have to keep somewhere a link between your endpoint and let's say
> the service you want to associate to , like using the localStorage :
> localStorage.setItem(theEndpoint, "scoreService");
>
> Then when you receive a message, besides the version (which is btw not
> mandatory to be used) you also receive the channelId, then you can choose
> which service to call :
>
>
> navigator.setMessageHandler("push", function(message) {
>
> var myService = localStorage.get(message.channelID);
> //now based on this you can call your specific log
> });
>
>
> I Hope this will help you.
>
>
>
>
>
> On Thu, Apr 3, 2014 at 8:03 PM, Michi Oshima <michi.oshima(a)gmail.com>wrote:
>
>> Thank you, Sebastien. I'll try multiple registration. Although, I'm a
>> bit confused. Because:
>>
>>
>> 1. As far as I can see from the quick start
example<https://github.com/aerogear/aerogear-simplepush-unifiedpush-qu...;,
>> per SPS Client, there'll be one registration with the SimplePush server.
>> That means I only get one endpoint.
>> 2. So I'd use the same endpoint to register multiple times with the
>> unified push server using different category each time.
>> 3. When the SPS client receives a version number, how can it
>> associate a given version number to a particular category? (I've not
seen
>> categories reaching the client.)
>>
>>
>> Am I wrong somewhere above?
>>
>>
>>
>> On Thu, Apr 3, 2014 at 10:53 AM, Sebastien Blanc
<scm.blanc(a)gmail.com>wrote:
>>
>>>
>>>
>>>
>>> On Thu, Apr 3, 2014 at 4:41 PM, Michi Oshima
<michi.oshima(a)gmail.com>wrote:
>>>
>>>> Hi Lucas,
>>>>
>>>> Following might do what I want (sending a "door bell" message
in one
>>>> shot to all variants)? Send a unified message like the following one:
>>>>
>>>>
>>>> - '{ "message": { "version":"123" },
"simple-push": "version=123"
>>>> }'
>>>>
>>>>
>>>> One slight deviation is that mobile variants like iOS and Android will
>>>> get the message regardless of whether the the version number is
"old" or
>>>> not. Is this correct?
>>>>
>>>
>>> Yes iOS/Android ignore the version since that is really something tied
>>> to Simple Push
>>>
>>>>
>>>> So I revisited the SimplePush
spec<https://wiki.mozilla.org/WebAPI/SimplePush>,
>>>> and I noticed it describes support for subscription to multiple
channels.
>>>>
>>>> Aerogear doesn't allow multiple channels per installation, correct?
I
>>>> dug up an old post from Matthias:
>>>>
>>>>
>>>> -
>>>>
http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-SimplePush-Registr...
>>>>
>>>> Well yes, but multiple installations can belong to the same SPS
>>> Client. You can register multiple time, differentiate them by passing them
>>> a category for instance.
>>>
>>>
>>>>
>>>> -
>>>>
>>>>
>>>> If an installation can subscribe to multiple channels, then it would
>>>> allow me to get what I originally asked about:
>>>>
>>>> Me: 'My client application (javascript on browser) holds multiple
>>>> types of data. It would be nice if I can send a notification saying
>>>> "there's an update for this data type", rather than just
"there's an
>>>> update". Or, in general it'd be nice if I can send more
information than
>>>> just a monotonically increasing number. '
>>>>
>>>>
>>>> What do you think?
>>>>
>>>
>>> That would be quite a breaking change and we need to discuss that, in
>>> the same time, as said before, you can still register a single client to
>>> multiple channels (and es you will have multiple installations but that do
>>> not really matter)
>>>
>>>
>>>>
>>>>
>>>>
>>>> On Wed, Apr 2, 2014 at 11:44 AM, Lucas Holmquist
<lholmqui(a)redhat.com>wrote:
>>>>
>>>>> On Apr 2, 2014, at 11:38 AM, Michi Oshima
<michi.oshima(a)gmail.com>
>>>>> wrote:
>>>>>
>>>>> Thanks, Lucas. I read the spec yesterday and ended up looking at
>>>>> disturbing auctions for 30 minutes. I'll read it again.
>>>>>
>>>>> Another question, is there a way to send a "door bell"
message *in
>>>>> one shot* to all iOS, Android, and SimplePush variants?
>>>>>
>>>>>
>>>>> well, iOS and Android notifications aren't really doorbells, but
you
>>>>> can send a "message" to all clients that are registered in
your Push Server.
>>>>>
>>>>> we have a Java client
>>>>>
http://aerogear.org/docs/guides/GetStartedwithJavaSender/
>>>>>
>>>>> and a node.js client for this
>>>>>
https://www.npmjs.org/package/aerogear-sender-client
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> (m:)
>>>>>
>>>>>
>>>>> On Wed, Apr 2, 2014 at 11:04 AM, Lucas Holmquist
<lholmqui(a)redhat.com
>>>>> > wrote:
>>>>>
>>>>>> SimplePush works only as a "door bell" to tell your
app, hey, you
>>>>>> should go look on your server.
>>>>>>
>>>>>> this is the spec
https://wiki.mozilla.org/WebAPI/SimplePush
>>>>>>
>>>>>>
>>>>>> On Apr 2, 2014, at 11:02 AM, Michi Oshima
<michi.oshima(a)gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Yesterday I managed to send my first message to a browser.
Thanks
>>>>>> for all your help.
>>>>>>
>>>>>> I've tried sending a few different types of messages, and it
so far
>>>>>> appears to me the only thing I can send to a simple push client
is a
>>>>>> version number. Can a simple push client receive anything else
other than
>>>>>> version numbers? If so, what does the sender need to do, and
what does the
>>>>>> client need to do? (If there is a good example somewhere online
I can work
>>>>>> from that also.)
>>>>>>
>>>>>> My client application (javascript on browser) holds multiple
types
>>>>>> of data. It would be nice if I can send a notification saying
"there's an
>>>>>> update for this data type", rather than just
"there's an update". Or, in
>>>>>> general it'd be nice if I can send more information than just
a
>>>>>> monotonically increasing number.
>>>>>>
>>>>>> Here's my setup:
>>>>>>
>>>>>>
>>>>>> - AeroGear Push Server 0.10.0 hosted on OpenShift.
>>>>>> - Sender is a JBoss app using
>>>>>> org.jboss.aerogear.unifiedpush.JavaSender
>>>>>> (unifiedpush-java-client-0.5.0.jar).
>>>>>> - Client is a web browser using aerogear.js 1.4.0.
>>>>>>
>>>>>>
>>>>>> I read this
documentation<http://aerogear.org/docs/specs/aerogear-push-messages/>,
>>>>>> but my wishful thinking refused to interpret it as saying:
SimplePush
>>>>>> variants use the "extra simple-push object" only.
>>>>>>
>>>>>> Thank you,
>>>>>>
>>>>>> Michi Oshima
>>>>>>
>>>>>> _______________________________________________
>>>>>> aerogear-dev mailing list
>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> aerogear-dev mailing list
>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aerogear-dev mailing list
>>>>> aerogear-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aerogear-dev mailing list
>>>>> aerogear-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>
>