本地和推送通知编程指南
本地通知和推送通知是没有运行在前台的应用程序可以让它们的用户获得相关消息通知的方式。消息通知可能是一条消息,即将发生的日历事件,或远程服务器的新数据。当被操作系统显示时,本地通知和推送通知看起来一样。它们可以显示一个警告信息或在应用程序的图标上面显示一个徽标。它们也可以在警告窗或徽标显示时播放一段声音。 ###本地和推送通知编程指南知识点总结####关于本地通知和推送通知**本地通知**和**推送通知**是两种让不在前台运行的应用程序能够向用户发送消息通知的方法。这两种通知方式对于用户来说,在外观上是相同的,都可以显示一条警报信息或在应用程序图标上显示一个标记,同时还可以播放声音。 **推送通知**自iOS 3.0和macOS v7.0版本起引入,而**本地通知**则自iOS 4.0版本起引入。值得注意的是,这两种通知方式都不支持早期版本的macOS系统。当用户收到通知后,可以选择打开应用程序查看详细信息,或者忽略该通知,此时应用程序不会被激活。 ####概览1. **本地通知和推送通知解决的问题:** -通常情况下,屏幕上只有一个应用程序处于活跃状态。 -许多应用程序基于时间或特定情境运行,这意味着用户感兴趣的一些事件可能会在应用程序不处于前台时发生。 -通过本地通知和推送通知,这些应用程序可以在后台提醒用户有关事件的发生。 2. **本地通知和推送通知的区别:** - **本地通知**由本地设备上的应用触发。 - **推送通知**(也称远程通知)则是从远程设备(通常是应用提供商)发送到用户的设备上的。 -推送通知通过苹果的推送通知服务(Apple Push Notification service, APNs)传输。 3. **苹果推送通知服务(APNs):** -是推送通知的网关。 -应用必须获取用户的授权才能接收推送通知。 -提供者(即应用提供商)与APNs之间通过二进制接口进行通信。 ####本地和推送通知深度1. **显示效果:** -推送通知和本地通知在外观上是相同的,都能显示警报信息或在应用图标上显示标记,并且可以播放声音。 2. **本地通知:** -由本地设备上的应用发起。 -不依赖于网络连接,可以在没有互联网的情况下被触发。 3. **推送通知:** -来自远程设备(通常是应用提供商)。 -需要通过APNs服务传输。 -用户必须给予应用推送权限才能接收到推送通知。 ####调度、注册和处理通知1. **准备工作:** -准备好自定义的警告声音。 2. **调度本地通知:** -在适当的时间触发本地通知。 -可以设置重复的本地通知。 3. **注册远程通知:** -用户必须授予应用推送通知权限。 -注册过程涉及到获取设备的Token。 4. **处理本地和远程通知:** -当通知到达时,应用必须能够正确处理。 -这包括显示通知以及响应用户的操作(如点击通知)。 5. **传递当前用户偏好语言给提供者:** -为了确保推送通知的语言符合用户的偏好,需要将用户的语言设置传递给远程服务器。 ####苹果推送通知服务1. **推送通知路径:** -应用->用户授权->获取Token->发送到提供者->提供者发送到APNs->APNs发送到设备。 2. **反馈服务:** -提供者可以通过APNs的反馈服务获取未成功投递的通知列表。 3. **服务质量:** - APNs尽力提供可靠的服务,但不保证100%的成功率。 4. **安全架构:** -包括服务器-设备的信任连接、提供者-服务器的信任连接等。 -令牌的安全性和加密机制确保了通知的安全传输。 5. **通知负载:** -通知的格式可以包含各种类型的信息,如文本、图片链接等。 ####配置和开发1. **沙箱和生产环境:** -开发过程中通常使用沙箱环境测试。 -生产环境中使用真实的推送服务。 2. **配置过程:** -创建SSL证书和密钥。 -安装配置证书。 -将SSL证书和密钥安装到服务器上。 ####提供者与APNS间的通信1. **一般提供者要求:** -提供者需要遵循一定的规范和技术要求。 2. **二进制接口和通知格式:** -提供者需要按照指定的二进制格式发送通知。 -通知格式包括各种字段,如设备Token、警报信息等。 3. **反馈服务:** -提供者可以定期检查反馈服务,以确定哪些设备不再接受推送通知。本地通知和推送通知是现代移动应用中非常重要的功能之一,它们不仅提高了用户体验,还增强了应用与用户之间的互动。通过理解这些概念及其技术实现细节,开发者可以更好地利用这些工具来提升其应用程序的价值和吸引力。
842.69KB
文件大小:
评论区