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 <
hoptoawesomen...@gmail.com> 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 <james.n...@gmail.com>
>>> 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 <sharess...@gmail.com>
>>>>> 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 mobile-couchba...@googlegroups.com.
>>>> 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 mobile-couchbase+unsubscr...@googlegroups.com.
> 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 mobile-couchbase+unsubscr...@googlegroups.com.
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.

Reply via email to