赞
踩
参考链接:Apple Notification Center Service (ANCS) Specification
提示(tips):上述参考链接需要用VPN外网才能打开链接
注意事项:本文翻译是鄙人参考链接原文以及结合谷歌翻译而成,如果有问题敬请原谅。
苹果通知中心服务(ANCS)的目的是给予蓝牙配件(通过蓝牙低功耗链接连接到iOS 设备)一种简单方便的方式访问在iOS设备上生成的各种通知。
ANCS设计围绕三个原则:简单性,效率和可扩展性。 因此,从简单的LED到具有大型显示器的强大“伴随”设备的配件可以发现该服务很有用。
ANCS的使用没有依赖,它是GATT的一个子集,任何一个实现了GATT client的设备可以方便的从ios设备获取通知信息。
除非另有规定,通过ANCS传输的所有数值应为小端。
非另有规定,通过ANCS传送的所有字符串值都应由用UTF-8编码的Unicode字符组成。
苹果通知中心服务将被称为ANCS 。
ANCS服务的发布者( iOS设备)将被称为通知提供者(NP) 。
ANCS服务的客户端(配件)应被称为通知消费者(NC) 。
iOS通知中心中显示在iOS设备上的通知应称为iOS通知 。
由GATT特性作为异步消息发送的通知应被称为GATT通知 。
苹果通知中心服务是一个主服务,主服务的UUID:7905F431-B5CE-4E99-A40F-4B1E122D00D0
在NP上只能存在ANCS的一个实例。 由于iOS的性质,ANCS不能保证总是存在。 因此,NC应寻找并订阅GATT服务的服务更改特性,以便随时监控ANCS的潜在发布以及及时的取消发布。
在其基本形式中,ANCS暴露出三个特征:
所有这些特性都需要访问授权。
支持通知源特性是必需的,而对控制点特性和数据源特性的支持是可选的。
注意:在ANCS中可能存在比上面列出的三个更多的特征。 也就是说,NC可以忽略它不能识别的任何特性。
通知源特性是通知NC的特性:
一旦NC订阅通知源特征,就可以传送GATT通知。 因此,NC应处于在订阅此特性之前可以正确接受和处理这些消息的状态。
通过通知源特点发表了GATT通知包含以下信息:
一个NC可能需要使用iOS通知交互。它可能需要检索有关它的更多信息,包括其内容,也可能希望在其上执行操作。这些属性的检索是通过控制点和数据源的特点进行。
一个NC可以发出通过编写特定命令的控制点的特性来检索有关在iOS通知的更多信息的请求。如果写的控制点的特点是成功的,NP会及时通过GATT通知上的数据源特性的数据流的要求。
一个NC可以通过写特定命令的控制点特征执行在iOS通知预先确定的行动。有关行动和iOS通知的详细信息,执行通知操作。
在获取通知属性命令允许NC检索特定的iOS通知的属性。一个Get通知属性命令的格式示于图2-3。
Get通知一个响应的格式属性命令在显示图2-4。
如果响应是大于GATT最大传输单元(MTU)时,它被分裂成NP的多个片段。NC必须通过重新组合拼接每个片断的响应。当已接收到每一个请求的属性的完整元组的响应就完成了。
在某些应用属性命令允许NC检索安装在NP特定应用的属性。在获取的应用属性命令的格式显示在图2-5。
应用程序属性命令包含以下信息:
得到回应的格式属性应用命令的格式于图2-6
获取应用程序属性命令的响应包含以下信息:
该执行通知操作命令允许在NC上执行特定的iOS通知的规定动作。一个执行通知操作命令包括以下字段:
字节 | 名称 | 描述 |
---|---|---|
1 | CommandID | 设置为2( CommandIDPerformNotificationAction)。 |
2-5 | NotificationUID | 代表在其上客户端要执行的操作了iOS通知的UID的32位数值。 |
6 | ActionID | 要在iOS通知进行NC希望所需的操作。 |
如果没有数据源的特性产生的发出此命令时,不管是成功还是失败,都没有数据产生。
与iOS 8.0开始,NP可以给NC设备通知关于iOS的通知相关的一些隐藏行动。代表用户的时,NC然后可以请求的NP,以执行与特定的iOS通知相关联的动作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。