2

I want to write GAE based application that synchronizes information between computers/phones. Right now I am only querying periodically, which causes delays or requires user to click a button to refresh manually.

With GAE channels, it should be possible to do it this way that a device can be notified when it should refresh. However, since I want it to be a desktop app (not web app), I am wondering if I can write my own client to channel API? Or grab whatever's out there.

Is the protocol documented or are there clients available for anything other than JS?

wojciechka
  • 598
  • 4
  • 13

2 Answers2

3

The only official interface is the Javascript client library. Although you could reverse-engineer how it works, since it's not a documented part of the interface, it could change at any time without notice.

If you're interfacing with Android phones or iPhones, each of them has a 'push' messaging API that you could use (Cloud to Device Messaging for Android, and Push Messaging for iPhone).

Nick Johnson
  • 100,655
  • 16
  • 128
  • 198
  • While I also wanted the same thing for PC, I guess it's still better than nothing. – wojciechka Aug 10 '11 at 06:58
  • For a desktop PC app you could still embed a hidden browser component and keep the Channel open in that for communication. It would probably be more reliable in the long run. – Chris Farmiloe Aug 10 '11 at 09:26
  • Someone has already started a [python client implementation](http://schibum.blogspot.com/2011/06/using-google-appengine-channel-api-with.html), if that's your language of preference. – Kevin P Aug 10 '11 at 16:33
1

There is now a Java implementation for the Channels API. It was just released days ago and is available via git at https://github.com/gvsumasl/jacc. I've also taken the liberty of forking it and providing a mavenized version at https://github.com/hatboyzero/jacc.

hatboyzero
  • 1,929
  • 1
  • 21
  • 44