一种设备到设备的推送通知系统
Posted
技术标签:
【中文标题】一种设备到设备的推送通知系统【英文标题】:A device to device push notification system 【发布时间】:2011-05-04 23:27:27 【问题描述】:嗯,我的想法是制作一个安装在两个或更多设备上的应用程序。主设备或“头”设备可以以推送通知的形式向特定设备之一发出呼叫。推送通知可以是预设的或其他。目标将是一个简单的通知系统。我为之制作的所有用户都拥有一台活跃的 iPad,并坐在他们面前的桌子上。把它想象成一个医生工具,当病人准备好时,它可以把护士叫到房间里。告诉我这是否足够清楚。
如何做到这一点?
【问题讨论】:
为什么不直接给对方发一封电子邮件呢?还是短信? 根本不够清楚。你已经(有点)解释了你想做什么。现在你的问题是什么?您希望我们帮助您解决的具体问题是什么?甚至在应用程序上,您可能想要更精确。应用程序是什么?它有什么作用?等 好的,我更新了更多细节。 嗯,短信可以,但他们使用的是 iPad。我们希望它是一个按钮。不涉及任何打字。 【参考方案1】:如果我正确理解您的问题,您想开发一个可以将通知推送到其他设备的应用程序。
最好的方法是拥有一个服务器并让设备发送通知以向服务器发送请求。然后服务器会将其存储在数据库中。然后,当其他设备向服务器发送请求以检查任何新内容时,它们会看到最新条目并将通知推送到手机。
参考 Dave DeLong 的评论,如果人们不想使用他们的分钟/文本/3G/4G,而只想使用 WiFi,这个应用程序实际上可能很好。对小公司也有好处,而不是对讲机。 (最后一部分可能有点夸张。)
祝你发展顺利!
为了让设备检查来自服务器的新通知,只需让它在设定的时间间隔内访问一个链接(可能每 5-10 秒一次;理想的情况是为用户设置更改时间检查间隔):
hxxp://domain.com/checkForNew.php?deviceID=foo&otherSecurity=blah
然后让 PHP 返回一些您可能需要的值。一个示例输出是:
fromID|toIDs|dateSent|消息
在 iPhone 上,您可以使用以下方式获取此内容:
NSString *googleString = @"hxxp://domain.com/checkForNew.php?deviceID=foo&otherSecurity=blah";
NSURL *googleURL = [NSURL URLWithString:googleString];
NSError *error;
NSString *googlePage = [NSString stringWithContentsOfURL:googleURL
encoding:NSASCIIStringEncoding
error:&error];
(此代码可以在这里找到:Reading html content from a UIWebView)
最后,把这个字符串分成合适的变量,然后推送通知。
【讨论】:
谢谢!你似乎理解正确。我知道如何设置推送服务器,也知道如何让设备将推送发送到服务器,但我不知道如何让其他设备主动检查新通知。 您至少有两种选择:一种是构建“私有”通知服务...您的应用只需轮询服务器并通过您在服务器上发布的任何数据服务获取通知.. JSON、html , 任何。第二种选择是实际使用 Apple 的推送通知服务向“客户端”iPad 发送警报。您应该查看文档以获取推送通知:developer.apple.com/library/ios/#documentation/… @DanielsCaleb0 我已经更新了我的答案,以解释我将如何检查新通知。请让我知道这是否有意义。 (请其他人提供更好的实施方式。) @ChrisW- 谢谢,您认为最简单/有效的解决方案是什么? @DanielsCaleb0 这取决于您的需求。轮询解决方案最容易实施,但会产生不需要的网络流量,并且仅在 iPad 客户端应用程序运行(和轮询)时才有效。 Apple 通知服务并不难实现,但您必须在某处运行服务器才能将通知推送给 Apple,然后由 Apple 提供。该应用程序必须经过推送通知认证,这只是您在 Apple 配置网站上进行的简单配置设置。但是,即使您的应用没有运行,您也不必进行投票,并且您会收到通知。以上是关于一种设备到设备的推送通知系统的主要内容,如果未能解决你的问题,请参考以下文章