标注:APNs 苹果推送服务器
Device 安装带有推送服务程序的iPhone手机
Provider 程序服务器,把需要推送的信息发给 APNs
DeviceToken 在Device第一次连接APNs时,由APNs生成的经过加密的连接认证信息。在以后的连接中,无论时Provider到APNs还是APNs到Device 都需要 DeviceToken作为认证。
Payload 需要推送的消息的主体内容。alert-alert消息的消息体,按键标题等
badge
-显示在程序icon右上角的数字,sound-声音提示文件的文件名,该声音资源文件要在程序包中。
整体流程大体分为五个步骤:
1: Device --> 连接--> APNs 获取 DeviceToken
2: Device -->连接--> Provider 提供DeviceToken
3: Provider侦测需要push的消息生成Notification信息
4: Provider侦把要push的消息推送到APNs
5: APNs把该消息推送到手机
使用方法:
为了获取deviceToken
第一步:获取认证书Certificates.p12 [注释:.p12 文件,文件名可以随便取]
该Certificates.p12 认证书 是用于服务器与APNs服务器SSL 连接时的认证,而获取p12的前提是获取APNs Assistant
1:每个程序都要在apple开发中心生成 App ID.
2:单击app id 的后面的 Configure
3:在新的页面中,勾选Enable Push Notification Services , 而后点击Configure ,随后出现APNs Assistant,APNs助手会引导生成你的程序与APNs服务器进行SSL连接的认证书App ID specific Client SSL certificate[注释:一般文件名为“aps_developer_identity.cer” 可修改]
4:APNs助手会引导你保存SSL certificate到你的硬盘,保存好后双击,安装到你的keychain
5: 执行完以上四步,可以点击Done,关闭APNs助手。
6:启动Keychain Access程序,查看刚才安装的认证,name 为apple Development/Production push Services。。。
导出--即获得Certificates.p12 保存好给Provider 服务器使用
第二步:iPhone 端
iPhone provisioning 以开启了PUSH功能App ID 生成相应的provisioning。
iPhone需要用到的方法函数如下:
//注册启用 push
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge /*|UIRemoteNotificationTypeSound*/)];
//用该判断 程序是不是通过push消息启动的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//iPhone 从APNs服务器获取deviceToken后激活该方法
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
//注册push功能失败 后 返回错误信息,执行相应的处理
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
注意:
deviceToken的处理
[[devToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]
调测试方法:
Device
调试运行iPhone端程序,以获取deviceToken 为成功标志。
Provider
网上有个共开发测试的Provider程序:
PushMeBaby:
使用的方法是,
1;拷贝注册获取的SSL certificate文件【.cer文件】重命名为 apns.cer 添加到PushMeBaby资源文件夹中
2: 运行,输入 iPhone端获取的deviceToken
3: 推送
以Device 程序获得相应消息为成功标志。
分享到:
相关推荐
用https实现iphone消息推送,短连接形式 有问题,请留言
关于IOS_APNS推送消息(iphone端+服务端)。关于IOS_APNS推送消息(iphone端+服务端)。
苹果推送项目源码,运行即用 语言:JAVA,开发IDE:eclipse 数据库:MYSQL 运行即用,附带API调用文档 超级硬通货,想不使用第三方苹果消息推送的千万不要错过
iphone 推送通知 服务器端java 实现 iphone 推送通知 APNS 包含所需jar包和实现代码
APNS(Apple Push Notification Service)苹果推送通知服务。该技术由苹果公司提供的APNS服务。工作原理:首先,APNS会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书已确定其为...
C#语言 多线程 实现iphone 推送
首先声明下写这个文章的目的,就是让更多人更好的了解push notificaiton 苹果的消息推送功能。(虽然网上有很多类似的文章说明,但是当自己实践起来的时候还是觉得花费了不少的时间)
.net推送消息到iphone
2、iOS从苹果推送服务器(APNs)获取devicetoken(设备令牌,用于标识设备),应 用程序接收devicetoken。 3、应用程序将devicetoken发送给第三方Push服务端程序。 4、服务端程序向APNS服务发送消息。 5、APNS服务将...
编写.net服务端发送APNS时遇到了“调用 SSPI 失败,请参见内部异常。”困扰多时,最后在一篇文章上找到解决方法,原来是证书的问题,出现该错误的童鞋可以参考一下,谢谢,留意例子是发送的sandbox的,正式放上App ...
Provider是指某个iPhone软件...第 一阶段:BeejiveIM服务器把要发送的消息、目的iPhone的标识打包,发给APNS。 第二阶段:APNS在自身的已注册Push服务 的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。
顾名思义,就是从远程服务器推送给客户端的通知(需要联网)远程推送服务,又称为APNs(ApplePush Notification Services) 为什么需要远程推送通知传统获取数据的局限性只要用户关闭了app,就无法跟app的服务器沟通...
一个向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8设备发送推送通知的服务器端库。
ApnsPHP:Apple推送通知和反馈提供程序 全套开放源代码PHP类,可与iPhone,iPad和iPod Touch的Apple Push Notification服务交互。消息2016年6月1日,首先实现的HTTP / 2协议的,请下载(请检查您是否卷曲与HTTP2支持...
一个免费、开源、独立且兼容单声道的 C#/.NET 库,用于与 Apple 的 iPhone/iPod 推送通知和反馈服务交互。 ##消息 2011 年 5 月 9 日将项目移至 Github! 2010 年 3 月 27 日更新至 1.0.3.0,
推送测试可以通过Easy APNs Provider等软件进行。普通推送基本设置1. 创建项目,开启远程推送功能在Cababilities中打开Push Notification开关2. 编码注册通知#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0#...
16.[开源][安卓][推送通知]PushSharp-master 一个向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8设备发送推送通知的服务器端库。
2、APNS:Apple Push Notification Service[苹果消息推送服务器]; 3、iPhone:用来接收APNS下发下来的消息; 4、Client App:IOS设备上的应用程序,用来接收iphone传递APNS下发的消息到制定的一个客户端 app[消息...
这是一个推送工具类,作为移动推动的后台服务,由吕津(lvjin948@163.com)开发。...2. 支持IOS(Apple/iPhone)推送,使用APNS-Sharp(参考代码:https://github.com/Redth/APNS-Sharp) 百度的那块改写自APNS.
第一阶段:Push服务器应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。 第三阶段:iPhone把发来的...