2012-08-28 158 views
2

我哈弗阅读这篇文章到:如何推送通知发送到特定设备

Apple Push Notifications to specific Users

我需要发送推到特定的设备,但我的问题是,登录到我的应用程序的用户,被鉴定通过生成的UDID,不使用弃用的UIDevice。我看到easyAPNS存储这个值到MySQL的:

CREATE TABLE `apns_device_history` (
2 
    `pid` int(9) unsigned NOT NULL auto_increment, 
3 
    `appname` varchar(255) NOT NULL, 
4 
    `appversion` varchar(25) default NULL, 
5 
    `deviceuid` char(40) NOT NULL, 
6 
    `devicetoken` char(64) NOT NULL, 
7 
    `devicename` varchar(255) NOT NULL, 
8 
    `devicemodel` varchar(100) NOT NULL, 
9 
    `deviceversion` varchar(25) NOT NULL, 

我不知道如何注册应用程序用户使用此表链接,从而实现发送推特定的用户。是否有可能通过代码用户pid或设备令牌获取?

非常感谢!

回答

3

开发任何级别的APNS都是一项艰巨的任务,除非您对服务器端和客户端的角度都有很多知识。

事情要记住:

  1. 服务器端必须考虑到设备标识符(标记)会改变每个设备上,如果他们更新或恢复他们的设备 - 甚至得到一个新的设备!
  2. 客户端必须考虑必须在App Delegate中实现的委托方法,以正确接受并处理这些推送通知,并开始启动它们。 (示例如下)。
  3. 服务器再次必须认识到,如果您没有设置适当的“反馈”服务,您可以将您的推送通知证书列入黑名单。这样做是检查标识符是否存在,如果不存在,则将其从数据库中取出,以便不再继续尝试向该用户发送推送通知。
  4. 在服务器上,您可以一次发送一个通知(每个通知之间有一段时间),也可以将它们排队成群发量并“流”这些通知。真的,你必须遵循这个或者你可以被列入黑名单,并且不能再次向用户发送推送通知。

在开始创建任何类型的推送通知服务器之前,我们需要了解这4点。

id (int) 
token (int - 32 length) 
dateChanged (dateTime) 

这三个列出的字段实际上都是您需要的基本推送通知服务器。数据库中的个人标识,设备条目的标记,以便知道谁将收到推送消息,dateChanged是可选的,但很好知道您在数据库中拥有多长时间。

回到“流式传输”推送通知的概念 - 您应该仔细研究如何使用基本PHP脚本一次发送多个通知(我已经使用少于100行的代码在PHP中完成了整个服务器,所以基于类的PHP可以非常简单)。

CODE:

不幸的是它会占用大量的空间,把所有必需的代码为基础的推送服务,但我强烈建议寻找到我上面还有一些非常惊人提到的几点此任务教程如下:

+0

非常感谢您的评论,非常有帮助! – theomen

相关问题