自己搭建iOS 推送服务器



IOS推送原理:


1、 Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务端[消息的发起者]);
2、 APNS:Apple Push Notification Service[苹果消息推送服务器];
3、 iPhone:用来接收APNS下发下来的消息;
4、 Client App:IOS设备上的应用程序,用来接收iphone传递APNS下发的消息到制定的一个客户端 app[消息的最终响应者];
上图可以分为三个阶段:
阶段一:Provider[服务端]把要发送的消息,目的IOS设备标识打包,发送给APNS;
阶段二:APNS在自身的已注册Push服务的IOS设备列表中,查找有相应标识的IOS设备,并将消息发送到IOS设备;
阶段三:IOS设备把发送的消息传递给对应的应用程序,并且按照设定弹出Push通知。
具体过程,如下图:

1、 [Client App]注册消息推送;
2、 [Client App]跟[APNS Service]要deviceToken, Client App接收deviceToken;
3、 [Client App]将deviceToken发送给[Provider]Push服务端程序;
4、 当Push服务端程序满足发送消息条件了,[Provider]向[APNS Service]发送消息;
5、 [APNS Service]将消息发送给[Client App].


理解原理以后直接使用

一下是我一个BPM的项目用到的,使用的是C#语言

APNS-Sharp和PushSharp,这2个都可以推送,具体的区分自己Google去
把主要代码嵌入到工作量就可以实现工作量节点触发推送(BMP项目就是这样,大家可以按自己的要求修改,也可以做成windows服务)
---------------------------------------------------APNS-Sharp-------------------------------------------------------------------------
自己搭建iOS 推送服务器_第1张图片自己搭建iOS 推送服务器_第2张图片
自己搭建iOS 推送服务器_第3张图片自己搭建iOS 推送服务器_第4张图片自己搭建iOS 推送服务器_第5张图片

---------------------------------------------------PushSharp-------------------------------------------------------------------------

自己搭建iOS 推送服务器_第6张图片

自己搭建iOS 推送服务器_第7张图片自己搭建iOS 推送服务器_第8张图片

------------------------------------------------------------------------------------------------------------------------------------------------------

现在代码还没写完,官方文档上的那个获取推送信息的代码我依旧没法获取信息,继续修改ing

来自:http://bbs.appcan.cn/forum.php?mod=viewthread&tid=16090

你可能感兴趣的:(iOS)