前言

阿里云移动推送的集成这里不做重复描述,可以自己查看文档。

一、分类

阿里云推送主要分通知和消息两种。
如果安装在苹果手机上接受到的场景可以分为三类:
1、APP在杀死状态下,收到通知;
2、APP在进入后台状态下,收到通知;
3、APP在前台活跃状态下,收到通知;

1、消息

消息还是比较简单的,APP在前台就可以收到消息,用于更新数据等。

/***    注册推送消息到来监听*/
- (void)registerMessageReceive {[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(onMessageReceived:)name:@"CCPDidReceiveMessageNotification"object:nil];
}/***   处理到来推送消息**/
- (void)onMessageReceived:(NSNotification *)notification {CCPSysMessage *message = [notification object];NSString *title = [[NSString alloc] initWithData:message.title encoding:NSUTF8StringEncoding];NSString *body = [[NSString alloc] initWithData:message.body encoding:NSUTF8StringEncoding];NSLog(@"Receive message title: %@, content: %@.", title, body);NSDictionary *info = @{@"title":title,@"body":body};[[NSNotificationCenter defaultCenter] postNotificationName:@"message_notification" object:nil userInfo:info];
}

2、APP在杀死状态下,收到通知

这是比较常见的,也是最经典的通知方式。当APP处于杀死状态下,手机展示通知栏,点击通知启动APP可以获取发送的数据。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// launchOptions为通知的内容
}

3、APP退出到后台,收到通知

APP退出到后台,并没有被系统或者手动杀死,这时收到推送进行如下处理:

/**  App处于启动状态时,通知打开回调*/
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo {NSLog(@"Receive one notification.");// 取得APNS通知内容NSDictionary *aps = [userInfo valueForKey:@"aps"];// 内容NSString *content = [aps valueForKey:@"alert"];// badge数量NSInteger badge = [[aps valueForKey:@"badge"] integerValue];// 播放声音NSString *sound = [aps valueForKey:@"sound"];// 取得Extras字段内容NSString *Extras = [userInfo valueForKey:@"Extras"]; //服务端中Extras字段,key是自己定义的NSLog(@"content = [%@], badge = [%ld], sound = [%@], Extras = [%@]", content, (long)badge, sound, Extras);// iOS badge 清0application.applicationIconBadgeNumber = 0;// 通知打开回执上报// [CloudPushSDK handleReceiveRemoteNotification:userInfo];(Deprecated from v1.8.1)[CloudPushSDK sendNotificationAck:userInfo];[[NSNotificationCenter defaultCenter] postNotificationName:@"remote_notification" object:nil userInfo:userInfo];
}

二、点击APP启动程序

1、在APP杀死状态,来了通知,点击APP的图标打开APP并不能接收到推送的消息。
2、APP在后台,来了通知,点击APP的图标激活APP也不能收到消息。

阿里云移动推送iOS相关推荐

  1. 阿里云移动推送服务java调用

    阿里云移动推送服务java调用 首先登录阿里云官网,开通移动推送服务 创建app和平台 配置应用 测试推送 根据文档编写自己的调用方法 测试推送 ##具体步骤如下: 登录阿里云官网 https://w ...

  2. 注册阿里云移动推送服务

    阿里云推送 一.注册阿里云移动推送服务 1.注册阿里云移动推送服务,注册APP拿到AppKey和AppSecret 步骤参考:https://help.aliyun.com/document_deta ...

  3. 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题

    在博问中(.net core怎么实现邮件发送)知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题,自已实测也遇到同样的问题,而用自己搭建的邮件服务器没这个问题. 于是,向阿里云提交了工单.. ...

  4. 基于阿里云移动推送的移动应用推送模式最佳实践

    摘要: ### 一.概念 以下概念对应系统设计时的语义,对于如何合理使用移动推送有借鉴意义 #### 1.1 设备 安装并使用开发者移动应用的装置 #### 1.2 设备ID 阿里云移动推送为设备分配 ...

  5. 使用阿里云邮件推送服务架设自己邮件验证与推送体系

    提示:阅读本文需提前了解的相关知识 1.电子邮件协议(http://baike.baidu.com/view/2367542.htm) 2.阿里云邮件推送(https://www.aliyun.com ...

  6. 阿里云-邮件推送 配置 购买域名 配置域名

    阿里云-邮件推送 配置 购买域名 配置域名 1.邮件推送是什么: 2.为什么要用它 3.如何使用? 3.1 第一步:创建发信域名 第二步. 创建发信地址 第三步. 再创建一个模板,这个需要审核. 最后 ...

  7. Java实现邮箱发送(阿里云邮箱推送)

    Java mail邮箱发送 1. 邮箱信息实体类 2. jar包依赖 3. 发送邮箱实现 绑定阿里云域名,创建域名账户,并配置解析域名账户,获得发送邮箱的权限,上限两百封,超出要¥- 阿里云邮件推送控 ...

  8. 友盟推送和阿里云移动推送使用注意事项、不同点比较

    友盟推送和阿里云移动推送,都属于阿里系的产品,在使用上很大一部分还是很相似的,阿里云将移动推送.移动热修复.移动测试.移动数据分析和移动用户反馈集成到了一块,所有的远程依赖也都是集成在一起了,然而友盟 ...

  9. YII2.0使用阿里云邮件推送实现邮件发送

    从YII中文网小马哥发布的教程http://www.yiichina.com/tutorial/320获取到163邮箱的配置方法 1.在配置文件main-local.php components=&g ...

  10. java项目——发邮件之阿里云邮箱推送服务(一)

    最近做项目的时候用到了阿里云的邮箱推送.首先站在我自己的理解的角度,为什么要用阿里云邮箱推送服务? 首先从万网说起. 中国万网是中国最大的互联网基础服务提供商之一,服务范围涵盖基础的域名服务.主机服务 ...

最新文章

  1. PHP中的字符串 — 表示方法
  2. Chapter1 CLR的执行模式
  3. 进程间的通信IPC(无名管道和命名管道)
  4. 创意产品 分析_使用联合分析来发展创意
  5. 【codevs1553】互斥的数,二分查找是个好东西
  6. java限制符含义_JAVA的访问控制符private,default,protected,public
  7. 苹果考虑3月8日或前后发布5G iPhone SE
  8. Java-ReentrantLock-NonfairSync/FairSync
  9. python3.7安装pyltp出错_安装pyltp遇到的问题及解决办法
  10. Java项目中使用OpenOffice转PDF
  11. 间隙锁(Gap Lock)
  12. 爬取Google网站的图片
  13. 关于部分积分,动能公式另一种推导
  14. kaggle实战—泰坦尼克(四、数据可视化)
  15. Python爬虫入门教程导航帖
  16. 迁移Hexo博客到Google渐进式Web应用(PWA)
  17. Lux 安装以及使用
  18. Linux 关机与重启
  19. Git安装(傻瓜版)
  20. C++ 宽字符 窄字符 char wchar

热门文章

  1. 基于深度学习的云反演-文献分析
  2. 使用easyos递归删除城通网盘的日志
  3. 数据分析EXCEL常用统计函数
  4. revit二次开发创建标高
  5. 序列的傅里叶变换MATLAB实现
  6. 经纬度坐标格式批量转换
  7. MacQQ消息防撤回
  8. Redhat8 配置使用阿里源(关闭官方订阅)
  9. 《Python零基础快乐学习之旅》学习笔记9——字典(dict)
  10. pdftomusic pro(音乐谱曲软件) v1.0.4