Hey Christoph, I have a complete working example you can look at. Every time I go to our San Francisco or Mountain View office, I get picked up by an Estimote beacon and get a push notification.
It has the following components: * OfficeRadar iOS app <https://github.com/tleyden/office-radar> * OfficeRadar App Server <https://github.com/tleyden/officeradar-appserver> (written in Go, runs in the Cloud) * Uniqush Push Notification Gateway <http://uniqush.org/> (3rd party server, runs in the Cloud) The logic flow is as follows: * iOS device comes in range of an Estimote beacon * The app receives a callback from Estimote SDK <https://github.com/tleyden/office-radar/blob/master/ios/OfficeRadar/OfficeRadar/RDBeaconManager.m#L185-L193> * The app saves a new GeofenceEvent document <https://github.com/tleyden/office-radar/blob/master/ios/OfficeRadar/OfficeRadar/RDBeaconManager.m#L152> to Couchbase Lite (via a CBLModel) * Couchbase Lite pushes this to Sync Gateway via continuous push replication <https://github.com/tleyden/office-radar/blob/master/ios/OfficeRadar/OfficeRadar/RDAppDelegate.m#L144-L167> * Since the App Server is following the changes feed <https://github.com/tleyden/officeradar-appserver/blob/master/officeradar.go#L129-L174>, it will see the new GeofenceEvent document * Then it sends a notification to Uniqush via HTTP Rest API call <https://github.com/tleyden/officeradar-appserver/blob/master/officeradar.go#L402-L425> HTH! On Fri, Dec 12, 2014 at 8:10 PM, Christoph Berlin < [email protected]> wrote: > > Hi, > > I apologize in advance if it looks like I try to hijack this thread - that > is not my intent. However can someone outline how to implement push > notification with the sync gateway? I found the Couchbase Chat app with its > push notification robots but I cannot get it too work at all. In this > project the code is outdated or at least I don't understand it all which > could very well be. Despite the fact that I cannot get it to work I have no > idea what sync-wrangler does and there is no documentation at all. > > We are very well aware of the push notification requirements such as > registering devices, etc. We have the infrastructure already in place - > what we miss is the ability to "listen" to the database changes and trigger > a push when a push is needed. > > In this thread people talk about sync-wrangler, forward and other tools > but we would appreciate if someone could outline what needs to be done or > how to the make Chat push node application work... > > I truly appreciate your help. > Christoph > > > On Thursday, November 13, 2014 2:45:02 PM UTC-8, James Nocentini wrote: >> >> Great thanks >> Using Sync Gateway 1.0.3 >> I will try to go for the option described by Jens in the third comment of >> https://github.com/couchbase/sync_gateway/issues/379 >> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fcouchbase%2Fsync_gateway%2Fissues%2F379&sa=D&sntz=1&usg=AFQjCNF8tnGAO5-etCCnRBwAhFvtsyt_ww> >> Another option would be to query the view directly to the Couchbase >> Server with https://github.com/couchbase/couchnode ? >> >> I'm still not sure in which use case to use the sync-wrangler approach >> with channels instead of view queries https://github.com/ >> couchbaselabs/CouchChat-iOS/blob/push/push-notifications/index.js >> >> On Thursday, 13 November 2014 22:02:23 UTC, Traun Leyden wrote: >>> >>> You can access views via the admin API now, see: >>> >>> https://github.com/couchbase/sync_gateway/issues/379 >>> >>> The non-admin API is coming soon: >>> >>> https://github.com/couchbase/sync_gateway/issues/449 >>> >>> Which version of Sync Gateway are you running? >>> >>> >>> On Thu, Nov 13, 2014 at 1:57 PM, James Nocentini <[email protected]> >>> wrote: >>> >>>> I'm trying to set up Apple Push Notifications when some user actions >>>> are triggered on the app. Here's what I have managed to do so far: >>>> - User logs in and accepts to receive push notifications >>>> - New Profile document is saved with device_token as one property >>>> - Then when a push notification is needed, create a Notification >>>> document and save it. >>>> >>>> Using follow <https://github.com/iriscouch/follow> to get notified of >>>> changes and check if the type of the document is "notification". From there >>>> I need the list of device tokens but I'm struggling to get them. >>>> Tried using cradle <https://github.com/flatiron/cradle> but I can't >>>> get save/query views to work. It seems like the sync gateway REST interface >>>> doesn't support views? >>>> >>>> follow(configuration, function(error, change) { >>>> if (!error) { >>>> console.log('got change number ' + change.seq + ': ' + change.id); >>>> >>>> if (change.doc.type == "notification") { >>>> >>>> // missing: query a view on the sync gateway >>>> // to retrieve all the device tokens >>>> // to send the notification to >>>> >>>> } >>>> } >>>> }); >>>> >>>> Looking at the push notification robot >>>> <https://github.com/couchbaselabs/CouchChat-iOS/blob/push/push-notifications/index.js> >>>> to >>>> fetch those device tokens via a channel but I couldn't find the >>>> sync-wrangler node module. >>>> What's the best way to retrieve device tokens in this case? >>>> >>>> Thanks >>>> >>>> On Monday, 9 June 2014 16:48:20 UTC+1, Jens Alfke wrote: >>>>> >>>>> >>>>> On Jun 9, 2014, at 8:26 AM, CouchbaseLover <[email protected]> >>>>> wrote: >>>>> >>>>> Ok let's say we expand the way "CouchChat" works and implement Apple's >>>>> Notifications but without the use of talking to the APNS server. Instead >>>>> we >>>>> check the gateway’s _changes feed and use that instead to make a >>>>> "UILocalNotfication" instead of a "Push Notification" that needs to talk >>>>> to >>>>> the APNS server. >>>>> >>>>> >>>>> Oh, I see. This will only work while your app is active/visible. The >>>>> main advantage of push notifications is that they can be delivered even >>>>> when your app isn’t running. Push notifications also don’t require keeping >>>>> an open socket to the server, so they’re a lot better for battery life. >>>>> (They’re triggered from a sideband message over regular GSM, kind of like >>>>> an invisible SMS message, so they don’t require keeping the faster and >>>>> more >>>>> power-hungry 3G/LTE/4G/WiFi radios active.) >>>>> >>>>> —Jens >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Couchbase Mobile" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit https://groups.google.com/d/ >>>> msgid/mobile-couchbase/3f089edf-73a9-4efc-ab33- >>>> 67f224e45c6d%40googlegroups.com >>>> <https://groups.google.com/d/msgid/mobile-couchbase/3f089edf-73a9-4efc-ab33-67f224e45c6d%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- > You received this message because you are subscribed to the Google Groups > "Couchbase Mobile" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/mobile-couchbase/41406555-f4fa-4a7c-a361-fefa2100b863%40googlegroups.com > <https://groups.google.com/d/msgid/mobile-couchbase/41406555-f4fa-4a7c-a361-fefa2100b863%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/CACSSHCGc3sTCQBoUtkzCgY6NkdnKWJHJrFVbDuW0n9e1xJCArQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
