推送

APNS (Apple Push Notification Service) 推送机制

  • 苹果官方图
苹果官方图
  • Provider 即为我们自己的后台服务器
  • 过程可以分为三个阶段
    第一阶段: 应用程序要要发送的消息, 目的 iPhone 的标示打包, 发给 APNS.
    第二阶段: APNS 在自己已经注册 Push 的 iPhone 列表中找到对应的标识的 iPhone, 并把消息发送给这个 iPhone.
    第三阶段: iPhone 把发来的消息传递给相应的应用程序, 按照设定弹出 Push 通知.

APNS推送通知的详细工作流程

APNS推送通知的详细工作流程
  • 应用程序注册 APNS 消息推送
  • iOS 从 APNS Sever 获取 device token, 应用程序接受 device token
  • 应用程序将 device token 发送到自己的服务器
  • 服务器向 APNS 发送消息
  • APNS 将消息发送给 iPhone 的应用程序

准备工作

  • 需要有一台苹果设备, 模拟器不支持推送.
  • 注册证书

使用 Push

// 在AppDelegate里didFinishLaunchingWithOptions函数里写
- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //推送的形式:标记,声音,提示
   [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert];
   return YES;
}

- (void)application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pToken {
   NSLog(@"regisger success:%@",pToken);
   //注册成功,将deviceToken保存到应用服务器[数据库](http://lib.csdn.net/base/14)中
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
    // 处理推送消息
    NSLog(@"userinfo:%@",userInfo);

    NSLog(@"收到推送消息:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]);
}
- (void)application:(UIApplication *)applicationdidFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
   NSLog(@"Registfail%@",error); 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 和本地通知不同,推送通知(远程推送)是由应用服务提供商发起的,通过苹果的APNs(Apple Push Notif...
    AYuan_阅读 4,889评论 0 1
  • 来源:崔江涛的博客 概述在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感...
    李栖桐阅读 4,430评论 0 0
  • 什么是APNS? 苹果推送通知服务(APNs)是推送通知的网关,iPhone ipad 对于应用程序在后台运行有诸...
    CoderZS阅读 5,316评论 0 11
  • 前言 我们在实现推送功能的时候,更需要了解下推送的原理机制,这样我们在发现问题时候才好定位到问题的解决办法。 推送...
    進无尽阅读 9,302评论 0 5
  • 极光推送: 1.JPush当前版本是1.8.2,其SDK的开发除了正常的功能完善和扩展外也紧随苹果官方的步伐,SD...
    Isspace阅读 11,720评论 10 16

友情链接更多精彩内容