我在一些stackOverflow帖子中读到主机需要打开端口2195并支持apns下的推送通知。我如何让我的服务器支持apns。
这条线在推送通知指南中意味着什么
为了建立一个受信任的提供者身份,我们应该在连接时使用对等身份验证将此证书提供给 APN。
我需要通过我的本机应用程序连接到 APns 吗?有人请解释一下
我在一些stackOverflow帖子中读到主机需要打开端口2195并支持apns下的推送通知。我如何让我的服务器支持apns。
这条线在推送通知指南中意味着什么
为了建立一个受信任的提供者身份,我们应该在连接时使用对等身份验证将此证书提供给 APN。
我需要通过我的本机应用程序连接到 APns 吗?有人请解释一下
几乎所有对可以打开的套接字没有限制的服务器都准备好成为 APNS 提供者。在您的项目代码中,您可以只打开一个连接到 Apple 服务器的套接字(或使用库)。
我的理解是 Google App Engine 和基本上任何传统的共享网络托管都会阻止 80 以外的任何端口,因此您不能使用它们。但是,您可以查看Urban Airship,它提供了一个 RESTful API,基本上可以从任何服务中使用。不过它可能会变得昂贵。
简而言之,您需要建立 SSL 连接,然后以预定义的二进制格式发送有效载荷。
有关详细信息,请参阅本指南。
我使用 appengine,所以我通过在 hetzner.de 租用一个超级便宜的服务器来解决这个问题。它基本上充当我的 appengine 应用程序的代理并使用此库:https ://github.com/notnoop/java-apns
该库有一种使用证书发送消息的单行方式。
Google 刚刚开放了在 AppEngine 上执行 Socket 的功能,所以我创建了一个示例项目,您可以使用它在 python 中使用 GCM 和 APNS 发送推送通知。随意使用任何你喜欢的。
我还包含了一个示例 iOS 项目和 Android 项目,它们与应用引擎解决方案很好地挂钩。
https://github.com/GaretRogers/appengine-apns-gcm
** 完全披露 ** 这是我的项目,我绝不会试图推广它,因为它是我的……它只是目前唯一可以解决您的问题的可用项目。如果您发现任何做得更好的东西,请发表评论。
你可以签出java-apns-gae
。
它是一个开源 Java APNS 库,专为在 Google App Engine 上工作(和使用)而设计。