Apple Push Notification服务

本文深入探讨了苹果的推送通知服务(APNS),包括其工作原理、注册流程、所需工具及样例程序。从用户安装应用开始,直至通过PHP程序实现服务端与客户端之间的消息传递,提供了一套完整的实现方案。


苹果的push notification服务是为了向用户推送消息的服务。可以向用户推送消息条,声音,还有badge条数。应用程序可以在任何状态下接受到push消息,包括(not running, background)。APNS为应用程序的交互提供了极大的便利。


  • APNS的工作流程

用户第一次安装应用并启动时,会注册APNS服务,Apple的APNS服务器会向注册的app返回一个device token。这个device token是设备唯一的,不同的app收到的device token是一样的。

  • 样例程序
1.打开keychain access,创建一个证书签名请求。

2. 填写信息并保存到磁盘


3.创建push APP ID,主要是要enable push功能

4.下载开发版本的push证书,这里需要上传在第二步生成的签名请求文件



5. 创建provisioning文件,包括测试device和App ID。

6. 把push的证书文件和私钥转化成pem格式,并合并成同一个文件。

openssl x509 -in aps_developer_identity.cer -inform der -out MyPushChatCert.pem
openssl pkcs12 -nocerts -out MyPushChatKey.pem -in MyPushChatKey.p12
cat PushChatCert.pem PushChatKey.pem > ck.pem

7. 客户端实例程序


注册服务
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:  
        (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];  

App delegate函数
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken  
{  
    NSLog(@"My token is: %@", deviceToken);  
}  
   
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error  
{  
    NSLog(@"Failed to get token, error: %@", error);  
}  


8. 下载服务端 php程序,并修改device token和pem文件



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值