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

被折叠的 条评论
为什么被折叠?



