iOS推送通知:应用程序作为提供商?

时间:2014-03-05 14:29:09

标签: ios push-notification apple-push-notifications

我理解让提供商与Apple的推送通知服务器通信然后将通知推送到手机的基本概念。通常,提供程序是在某个计算机上运行的应用程序服务器,该计算机完全独立于应用程序。

但是,我们目前没有单独的服务器,并且还不需要一个服务器,因为当前所有内容都是在应用程序内处理的。 那么,我们有什么方法可以将应用程序本身作为提供商向Apple的服务器发送通知,从而发送到另一部手机?

基本概念:我们有一个游戏,当用户完成70%的关卡时,我们想通知他的竞争对手他已经接近完成游戏(或者他已经完成了100%)。

如果有可能,这种方法是否存在安全问题?

P.S。该应用程序已经知道竞争对手是谁,因为它在UITableView中显示它们。

2 个答案:

答案 0 :(得分:1)

从技术上讲,这是可能的。如果您将推送证书包含在您的应用中,并且您可以将每个设备的设备令牌发送到可能需要推送到该设备的所有其他设备,则可以直接将通知从一个设备推送到另一个设备。

然而,在实践中,这需要经常打开和关闭与APNS服务器的许多连接(您需要为每个设备建立连接,并且每次设备丢失网络连接时 - 这可能经常发生 - 您将拥有重新打开该连接),这可能会导致Apple阻止您的应用程序连接到他们的APNS服务器(因为他们会将其解释为DDoS攻击)。

因此您应该使用服务器。

答案 1 :(得分:0)

对于这个问题的未来访问者:由于我们花了近8个小时而无法按照我们想要的方式工作,所以我们放弃了Amazon SNS。相反,我们在大约15分钟内设置了Parse Push,正是我们想要做的,所以我肯定会建议你看一下。