Reputation: 69342
I'm in the planning phase of an iPhone application and am considering using Google App Engine for my server component due to its scalability features.
Push notifications are sent using a binary interface to gateway.push.apple.com:2195
.
However, the JRE for the server is only allowed to use the following standard classes, which does not include the Socket
classes. Can URLConnection
be used somehow to do this?
Is there a way to implement push notifications given the restrictions on Google App Engine applications?
I'd like to avoid using a third-party service such as AppNotify or UrbanAirship if possible.
Upvotes: 19
Views: 5602
Reputation: 17507
Lately, Google officially supports to send push notification on iOS. You can take a look at this sample code.
For more detail, checkout this Google's post.
Upvotes: 0
Reputation: 13620
It is absolutely possible. Check out java-apns-gae.
It's an open-source, Java APNS library that was specifically designed to work (and be used) on Google App Engine.
Upvotes: 0
Reputation: 2507
You use the 3rd-party library notnoop/java-apns. It is easy to use. The only problem you could meet is the thread limitation on the GAE
You could refer to this answer: https://stackoverflow.com/a/24900789/474002
Upvotes: 0
Reputation: 59299
Nope. Google App Engine forbids native socket connections. You either need to use a third party service (like the ones you mentioned) or have another dedicated server for sending notifications.
EDIT: Please note that the limitation of GAE on sockets and outgoing calls isn't a library limitation only. Google servers actually block all outbound network connections; they only allow HTTP requests through URL Fetching servers.
If you like, you can star Issue 1164: Add Support for Apple Push Notification Service.
Upvotes: 24