iOS的消息推送机制是什么?

iOS的消息推送机制,主要分为两种模式:本地通知和远程推送。通知推送机制。之间的设备,直接用下方代码(通过注册本地通知)注册即可。推送到手机的一种消息通知,包括:声音、横幅、角标和自定义字段。版本之后推出的一种特殊远程推送,又称为后台远程推送。双击下载的推送证书,系统会将其导入钥匙串中。后台推送过来的数据要协商好格式;...

iOS的消息推送机制主要分为本地通知和远程推送两种模式。本文将围绕这两种模式,详细介绍iOS的通知推送机制。

本地通知

一、本地通知介绍

指定推送时间,此时手机会弹出推送通知,无需网络连接,如日历、待办事项、闹钟等应用。

二、本地通知使用

1. 在代码中注册本地通知

如果是iOS 7及更早的设备,无需开发者添加代码即可使用(用户需要打开App通知)。

如果是 iOS 8 - iOS 10 之间的设备,可以直接用下面的代码注册(通过注册本地通知)。

如果是iOS 10以上的设备,需要导入#in并(在iOS 10中,苹果推出了远程推送和本地通知的新框架)SDA-LeahyGo(图形数据提取工具),如下:

2. 发送本地通知

3. 取消本地通知

4. 处理传入的本地通知

4.1 应用在前台运行

4.2 应用在后台激活

4.3 应用在后台被挂起或杀死

远程推送

一、远程推送介绍

: 应用程序

APNs:苹果推送

远程推送工作流程

二、远程推送式

1. 普通推送

服务器通过 APNs 推送到手机的消息通知,包括:声音、横幅、角标和自定义字段。

通知内容的格式如下:

2. VoIP 推送

iOS 8之后推出,依赖.,主要用于音视频通话时的响铃,VoIP推送可以在应用被杀时唤醒应用。

使用时需要在&中开启VoIP、fetch、ModesSmillaEnlarger(图片清晰无损放大),并添加..

从 iOS 13 开始RePaper Studio(手绘板软件),为了防止非来电功能滥用 VoIP 推送,Apple 禁止在非来电功能中使用 VoIP 推送。如果使用 VoIP 推送,则只能使用 iOS 系统。库,如果你不使用 iOS 系统。库,App 收到 VoIP 推送后会被杀掉,表现类似于不接收 VoIP 推送;由于苹果在中国限制使用iOS系统.,因此VoIP推送功能无法在Apple Store获批。您可以将VoIP推送转换为APNs解决方案,融云iOS 13及以上VoIP功能适配。

3. 静默推送

iOS 7 版本之后引入的一种特殊的远程推送,也称为后台远程推送。本次推送的特点是收到通知时没有弹窗、和声音。此时无需点击通知,无需打开App就会执行以下方法:

注意:1.需要开启和开启远程推送功能

2. 静默推送字段中不允许出现alert、badge、sound等字段,必须包含-。

三、iOS 远程推送配置

1. 申请证书和配置文件

1.1 创建应用 ID

1.1.1 登录苹果,输入,点击“+”按钮。

1.1.2 创建App ID(如果App ID已经存在,可以直接跳过此步骤)

注意:App 不能使用通配符mac怎么打开软件消息通知,否则无法使用远程推送服务。

1.1.3 开启远程推送服务

1.2 创建推送证书

1.2.1 创建推送证书

1.2.2 选择新的证书类型(开发或生产)

注意:从iOS9.2开始,Apple上生成的生产推送证书名称为Apple Push:XXX,之前生成的生产推送证书名称为Apple IOS Push:XXX。

1.2.3 选择App ID开启远程推送,点击后会提示需要CSR文件,CSR文件需要参考1.2.生成@>4

1.2.4 生成CSR文件上传

• 打开mac 系统提供的钥匙串访问权限;

• 向证书颁发机构申请证书;

• 将请求的 CSR 保存到磁盘。

1.2.5 上传 (CSR) 文件

上传 . 1.2.4中生成的文件,点击生成推送证书。

1.2.6 下载 生成推送证书并导出.p12文件

双击 下载 的推送证书,它将被导入到钥匙串中。打开mac怎么打开软件消息通知,选择对应的证书,右键选择。保存 .p12 文件时,您可以设置或不设置密码。

注意在右键选择导出的时候不要打开证书,在证书上右击就可以了。

1.3 创建配置文件

1.3.1 已创建

2.3@>

1.3.2 选择对应的环境

2.6@>

1.3.3 关联配置文件的App ID

2.9@>

1.3.4 选择开发者证书

1.3.5 选择要安装的设备

1.3.5 填写姓名

1.3.6 下载 并双击将其添加到 Xcode

2. 代码处理

2.1 在代码中注册远程推送

如果是iOS 10以上的设备,需要导入#in并(在iOS 10中,苹果推出了远程推送和本地通知的新框架),如下:

#如果

#

#万一

注册远程推送相关代码:

2.2. 处理

如果处理方法是去掉[ ]的“”和“空格”,iOS 13之前的设备可以得到正确的,而iOS 13之后的设备不能得到正确的;因为在iOS 13之后,可以通过 [ ] 得到正确的字符串,变成如下格式:

现在获取的方法应该是:

3. 处理传入的远程推送

3.1 应用在前台运行

当 App 在前台可见时,它处于前台状态。

3.1.1 收到远程推送时会回调如下方法

3.1.2 点击远程推送会回调如下方法

3.2 应用在后台激活

当app进入后台没有被系统回收时,在后台处于活动状态。

3.2.1 点击弹窗会启动应用并回调如下方法

3.3 应用程序在后台被挂起或杀死

当App进入后台被系统回收或进程被杀死时,处于后台挂起状态。

四、iOS 远程推送扩展

1. 修改通知内容

随着iOS 10的新增,可以修改接收到的远程推送内容。

注意:

1.1 仅适用于 iOS 10 及以上版本;

1.2 后台推送的数据格式要协商;

1.3中的系统版本需要修改为10.0。如果版本高于测试设备的系统版本,则不执行相应的方法。

具体步骤如下:

•在项目中添加:。

• 主项目启用推送和模式功能。

• 启用推送功能。

• 在 .m 中实现 – (void):(t *) :(void (^)(t * )) :

相关文章

发表评论