[Aerogear-users] Unclear when to use setContentAvailable()

Matthias Wessendorf matzew at apache.org
Fri Dec 4 02:24:15 EST 2015


yeah, I meant the flag. Glad it works for you.

I am actually over asked on the client setContentAvailable().


We have the same in our java sender, but that triggers the flag ;)

On Thursday, 3 December 2015, Rob Willett <rob.aerogear at robertwillett.com>
wrote:

> Matthia,
>
> Thanks for this. Are you referring to content-available flag or the
> setContentAvailable function?
>
> We already send silent notifications out to our Android and Apple
> devices and the devices handle these correctly.
>
> Our logic goes that we send a silent notification to the device via UPS,
> the device then connects to the server and pulls some data from the
> server. If our app is in the foreground, we set a tiny alert in the top
> left of the screen telling the user that something is ready for them, if
> our app is in the background we set a notification up in the drawer
> using a local-notification plugin, if the app is not started then the
> fact the app has not pulled data from the server acts as a flag and we
> then send down full notifications to the device. The local-notifications
> and the ‘full fat’ notifications all work the same way when the user
> clicks on them.
>
> We have all of this is working now without setContentAvailable. Its much
> as you outlined below. I have two phones on my desk as we speak, an
> Apple and an Android and we are comparing how the notifications look as
> we ping different data down to them in different situations. We’re
> down to design looks now rather than programming :)
>
> We’re just trying to work out how setContentAvailable fits into all of
> this, because we aren’t using it at all! Should we be?
>
> Rob
>
> On 3 Dec 2015, at 18:23, Matthias Wessendorf wrote:
>
> > Hi,
> >
> > it's an iOS feature, that you can use for having the app download
> > something
> > (or check state on your backend), before the alert is being made
> > visible to
> > the end-user:
> >
> https://developer.xamarin.com/guides/ios/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/updating_an_application_in_the_background/#Remote_Notifications_iOS_7_and_Greater
> >
> >
> > Also (more interesting, I think) you can use it to send a slient
> > message to
> > the device. E.g. when the app runs (fore/background) the callback is
> > invoked. You can use that to check state on your own backend (a 30
> > second
> > time window, you have for this), and if needed you could use that to,
> > for
> > instance, issue something local e.g. local notifications (those are
> > better
> > and more handy for several reasons e.g. better control of the badge
> > icon):
> >
> https://developer.xamarin.com/guides/ios/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/updating_an_application_in_the_background/#Silent_Remote_Notifications
> >
> > HTH,
> > Matthias
> >
> >
> > On Thu, Dec 3, 2015 at 7:01 PM, Rob Willett
> > <rob.aerogear at robertwillett.com <javascript:;>>
> > wrote:
> >
> >> Hi,
> >>
> >> We now seem to have something approaching a stable and working UPS
> >> configuration. (Famous last words!) Thanks to the Aerogear team for
> >> helping
> >> resolve the background notifications on Android.
> >>
> >> As we are tidying up, we noticed (ahem) that we had commented out a
> >> few
> >> lines in our code.
> >>
> >>  if (event['content-available'])
> >>  {
> >>      // Still not clear what to do with this.
> >>      // push.setContentAvailable(1);
> >>  }
> >>
> >> We went back to the Aerogear docs and tried to work out what
> >> setContentAvailable really does and what should we do with it. The
> >> docs for
> >> the function call are a little sparse, so we looked at the source
> >> code and
> >> we’re still no wiser.
> >>
> >> Is there a better explanation of when we should call
> >> setContentAvailable
> >> and with which parameter?
> >>
> >> Just to set the ball rolling we *think* it could mean that when you
> >> receive the content-available = 1 flag on iOS, we do a call to get
> >> some
> >> data from the server ourselves, if the the results of *our* server
> >> call
> >> indicate that we have received new data, we set the value to
> >> setContentAvailable to 1, if our function call to the server has no
> >> data,
> >> then we set it to zero and if something failed we set it to 2.
> >>
> >> So what happens if the value is 0, 1 or 2? if its 2, is a new new
> >> call
> >> made to something, if its 0 or 1 what happens?
> >>
> >> Apologies if we’ve missed the point of it, but we’re struggling
> >> to
> >> understand this.
> >>
> >> Thanks,
> >>
> >> Rob.
> >>
> >> _______________________________________________
> >> Aerogear-users mailing list
> >> Aerogear-users at lists.jboss.org <javascript:;>
> >> https://lists.jboss.org/mailman/listinfo/aerogear-users
> >>
> >>
> >
> >
> > --
> > Matthias Wessendorf
> >
> > blog: http://matthiaswessendorf.wordpress.com/
> > sessions: http://www.slideshare.net/mwessendorf
> > twitter: http://twitter.com/mwessendorf
> > _______________________________________________
> > Aerogear-users mailing list
> > Aerogear-users at lists.jboss.org <javascript:;>
> > https://lists.jboss.org/mailman/listinfo/aerogear-users
>
> _______________________________________________
> Aerogear-users mailing list
> Aerogear-users at lists.jboss.org <javascript:;>
> https://lists.jboss.org/mailman/listinfo/aerogear-users
>


-- 
Sent from Gmail Mobile
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-users/attachments/20151204/37d6763a/attachment-0001.html 


More information about the Aerogear-users mailing list