push原理
iOS push 工作机制可以用下图简要概括
-
Provider
:应用自己的服务器; -
APNS
:Apple Push Notification Service的简称,苹果的PUSH服务器;
push的主要工作流程是:
- iOS设备连接网络后,会自动与APNS保持类似TCP的长链接,等待APNS推送消息的到来;
- 应用启动时注册消息推送,并获取设备的在APNS中注册的唯一设备标示deviceToken上传给应用服务器(即Provider);
- 在需要给应用推送消息时,Provider把push内容、接收push消息的deviceToken按APNS指定的格式打包好,发送给APNS;
- APNS收到Provider发送的消息后,查找deviceToken指定的设备,如果该设备已经和APNS建立了连接,则立即将消息推送给该设备,如果设备不在线,则在该设备下次连接到APNS后将消息推送到设备。请注意苹果并不保证推送一定成功;
- 设备收到push消息后,iOS系统会根据SSL证书判断这个push消息是发给那个应用的,进而启动相应客户端。
上述过程中,有两个关键步骤需要自己处理的是:1.客户端获取deviceToken,并上传到Provider;2.Provider发送push消息到APNS。这两个步骤中都需要苹果的push证书授权,下面就来介绍如何生成push证书,以及Provisioning Profile。
具体实现:http://tanqisen.github.io/blog/2013/02/27/ios-push-apns/#userconsent#
相关推荐
iPhone的Push(推送通知)功能是iOS设备上的一项重要特性,它允许应用程序在后台向用户发送提醒,即使应用并未在运行。这一功能依赖于Apple Push Notification Service (APNS) —— 苹果提供的推送服务。下面是Push...
PHP iospush脚本主要涉及以下知识点: 1. **连接APNs**:PHP脚本需要建立SSL/TLS加密连接到APNs服务器。苹果提供了两个服务器地址,分别用于开发环境和生产环境。你需要根据证书类型选择正确的服务器地址。 2. **...
在iOS开发中,苹果推送通知服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项功能,允许应用程序在后台向用户发送提醒。这个服务对于提高用户体验和保持应用活跃度至关重要。"ios push 测试...
这个DEMO对于学习如何在Java后端集成iOS推送通知非常有用,它涵盖了从设置环境到实际推送的全过程,有助于开发者理解APNS的工作原理以及如何在自己的项目中实现这一功能。同时,它也强调了跨平台通信的重要性,即...
本文将深入探讨iOS中的简单Push Service代码,包括其工作原理、实现方式以及如何集成到你的应用程序中。 首先,理解Push Notifications的基本概念至关重要。当你的iOS应用不在前台运行时,系统可以通过Apple Push ...
本篇将深入探讨iOS通知的实现原理,包括本地通知和远程推送通知,以及它们在模拟环境中的工作流程。 1. **本地通知(Local Notifications)** - **定义**:本地通知是由应用程序本身在特定时间点或基于特定条件...
首先,我们要理解TabBar的基本工作原理。UITabBarController是苹果提供的一个容器控制器,它管理着一系列的UIViewController,每个UIViewController对应TabBar上的一个item。默认情况下,TabBar的每个item是等宽等高...
在iOS开发中,"PUSH"通常指的是远程通知服务,即Apple Push Notification Service(APNs)。这是一种苹果公司提供的服务,允许应用程序在不打开的情况下接收来自服务器的消息,如新消息、提醒或者更新。本项目“C++ ...
在iOS应用开发中,苹果提供了远程通知(Apple Push Notification service,简称APNs)服务,使得开发者可以向用户的设备发送消息,即使应用没有在前台运行也能接收到这些消息。本篇文章将深入探讨如何在Java服务端...
**iOS 自带Push Notification服务详解** 苹果公司的iOS操作系统提供了一种强大的推送通知服务,称为Apple Push Notification service(APNs)。这个服务允许应用在用户不直接与应用交互时,也能接收到来自服务器的...
Laravel Push Notification 是一个专门为 Laravel 框架设计的软件包,旨在简化向Android和iOS设备发送推送通知的过程。这个包不仅支持Android和iOS,而且特别强调了对Laravel 5.2版本的兼容性,确保开发者可以充分...
本文将深入探讨iOS消息推送的实现原理、证书制作过程以及核心代码实现,帮助开发者更好地理解和运用这一关键功能。 首先,我们要理解APNs的工作流程。当一个应用程序需要向设备发送推送通知时,它会通过HTTP/2协议...
APN是苹果公司提供的一项服务,允许开发者向iOS、iPadOS、watchOS以及tvOS设备发送实时通知。 在Laravel中集成APN推送,我们需要了解以下几个关键知识点: 1. **Apple Push Notification Service (APN)**: 这是...
在苹果的iOS应用开发中,推送通知(Push Notification)是一项重要的功能,它允许应用程序在后台向用户发送消息,即使应用程序没有运行。"苹果PUSH的服务器端源码"提供了实现这一功能的后端代码,主要使用Objective-...
我们将主要关注视图动画的原理、实现方式以及在实际项目中的应用。 首先,我们要理解什么是Push动画。在iOS的NavigationController中,当用户点击一个按钮或链接,新的ViewController被推入导航栈,这个过程通常...
首先,我们需要理解Push的原理。当应用程序注册了Push服务后,苹果服务器会为该设备生成一个唯一的设备Token,然后开发者将这个Token发送到自己的服务器。当需要向设备发送推送时,服务器使用这个Token与苹果的APNs...
下面将详细介绍iOS消息推送的原理、Java后端实现以及压缩包中可能包含的内容。 一、iOS消息推送服务(APNs) Apple Push Notification service (APNs) 是苹果公司提供的一个服务,它允许开发者向用户的iOS设备发送...
本资源摘要信息涵盖了 iOS 电话面试的常见题库及答案,涵盖了 Push 原理、 View Controller 生命周期、 Frame 和 Bounds 的区别、 SQLite 中插入特殊字符的方法、数组和集合的认识、 Socket 编程简述、冒泡算法等多...
1 IOS 2 PUSH 3 第三方推送 4 推送原理