极光推送流程

阶段一:provider把要发送的消息、目的标识打包,发送给APNS

阶段二:APNS在自身的已注册Push服务的iOS设备列表中,查找响应标识的iOS设备,并将消息发送到iOS设备。

阶段三:iOS设备把发送的消息传递给相应的应用程序,并且按照设定弹出push通知。

a.首先是应用程序注册消息推送.

b.iOS跟APNS要devicetoken。应用程序接受devicetoken.

c.应用程序将devicetoken发送给JPush服务端程序.

d.server调用极光SDK将推送消息及相关信息发送给JPush.

e.Jpush服务端程序向APNS发送消息.

f.APNS服务将消息发送给iphone应用程序。

  1. 申请极光帐号,创建应用。创建后自动生成AppKey用以标识该应用,需要把它配置到项目中。
  2. 上传配推送证书.P12。开发环境显示已验证,表示上传成功。 证书ID必须与项目中的Bundle identifier一致。
  3. 导入API开发包到应用程序项目.

将SDK包解压,将解压后的lib文件夹添加到项目中。

必要的框架

CFNetwork.Framework

CoreTelephony.framework

SystemConfiguration.framework

Foundation.frmework

UIKit.framework

Security.framework

Xcode7需要的是libz.tbd;Xcode7以下版本是libz.Dylib

  1. 在项目中创建Push.Plist文件。

CHANNEL   指名应用程序的下载渠道。

APP_KEY 填写管理portal上创建应用后自动生成的APPkey值。确保双方一致。

5.在项目中点击点击info,找到Application requires iPhone environment 选择yes

APS_FOR_PRODUCTION

0表示采用的是开发者证书,1表示采用生产证书发布应用

客户端设置

开启Remote notifications  需要在xcode中修改应用的capabilities开启Remote notifications。

当注册了Backgroud Modes -> Remote notifications 后,notification 处理函数一律切换到下面函数,后台推送代码也在此函数中调用。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler;

+ (void)registerDeviceToken:(NSData *)deviceToken;

@abstract 处理收到的 APNs 消息

+ (void)handleRemoteNotification:(NSDictionary *)remoteInfo;

- (void)application:(UIApplication *)application

didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken ;

当你的iPhone收到推送信息后到底会发生什么呢?总共有三种可能性:

app在前台运行. 接收到推送信息时屏幕上不会有任何显示,也不会有提示音,但你的app delegate会收到这个推送信息。你可以在这里加入代码来处理接收到的信息。

app不在前台运行。iPhone可能停留在主界面或者另一个app正在运行.一个提示窗口会弹出,可能伴随着提示音。用户可以点击Close按钮来关闭这个窗口或者点击View按钮来打开你的app。如果用户点击的时Close按钮,那你的app不会处理这个推送的信息。

iPhone在锁屏状态下. 同样一个提示窗口弹出,并伴随着提示音,但是这个窗口不会有Close和View按钮。屏幕解锁后会自动进入你的app。

时间: 2025-01-14 22:03:04

极光推送流程的相关文章

极光推送demo测试流程,测试过程中可能遇到的问题和解决方法

创建开发证书,创建描述文件,极光推送页面设置,Xcode工程设置,真机测试 步骤1:创建开发证书 <1>.登陆 https://developer.apple.com进入开发者中心 <2>进入创建和描述文件页面 <3>.点击App IDs 创建一个app id <4>.进入创建页面以后在App ID Description输入app id 的名称 <5>.填入一个唯一的app id (注:推送的app id 只能创建一个唯一的,不能使用通用的.)

关于Android端配置极光推送

因为业务需要,android客户端需要加推送,原来采用的百度推送,但是小米手机有时候收不到,后来换成了极光推送,极光的话所有设备都能收到推送,但是在高峰的时候会推迟,博主说的免费版的,收费的没用过,也不错评论 博主用的android studio开发的,.so文件放置的位置啥的可能和eclipse有点不同,感觉用android studio开发jni一类的真的好费劲,博主现在老腻歪了,唉,废话不多说,进入正题: 首先,去极光推送官网注册一系列流程,不过貌似不用认证,老长时间注册的了,忘得差不多了

atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99

atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99 1.1. 云推送有推送次数或频率的限制吗? 1 1.2. 推送的消息长度 1 1.3. 离线消息的支持 2 1.4. 是否支持转义字符 2 2. 客户端身份识别机制 2 3. 绑定客户端的区别流程::jpush胜出 2 4. 文档风格比较::百度,jpush胜出 3 5. 编程sdk框架比较..个推,百度胜出 3 6. 编程风格的比较 3 6.1. 个推 3 6.2. 百度 4 6.3. J

Android客户端与PHP服务端通信(三)---极光推送使用

概述 推送消息的方式有很多,在这里我选择了极光推送.本节分为上下两部分,首先通过注册极光推送并使用其Demo程序来看一下推送的效果,然后再一步一步的修改到自己的应用上. 注册登录极光推送 开发人员基本上都了解使用第三方的库,很多都需要注册才能使用,极光推送也不例外.直接登录极光推送官网https://www.jpush.cn/,注册自己的账号,注册的流程就不介绍了,这个都会.注册完直接登录, 登录后,可以由下图看到自己还没有创建任何应用. 创建应用 点击"创建应用",界面变为下图. 按

【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)

作者 : octopus_truth 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/45046283 推送技术产生场景 : -- 服务器端主动性 : 客户端与服务器交互都是客户端主动的, 服务器一般不能主动与客户端进行数据交互, 因为服务器端无法得知客户端的 IP 地址 及 状态; -- 数据实时性 : 如果服务器端有紧急数据要传递给客户端, 就必须主动向客户端发送数据; -- 基本原理 : 使客户端实时获取服务器端消息,

【android极光推送】—从客户端到后台,一文通吃

前记 推送原理浅析 平台说明 概念解释 推送的三种实现方式 客户端直接向推送服务方发送Http请求 项目服务器通过Http转发推送请求至推送服务方 项目服务端使用SDK进行功能集成 关于推送的种类概述 android客户端初步实现 集成SDK说明 集成步骤 1下载官方提供的SDK集成包 2手动导入SDK 3在极光的官网创建一个应用 4编写一个MyApplication类初始化SDK 5配置 AndroidManifestxml wampServer服务端配置 配置推送SDK 通过composer

Android端 配置极光推送

因为业务需要,android客户端需要加推送,原来采用的百度推送,但是小米手机有时候收不到,后来换成了极光推送,极光的话所有设备都能收到推送,但是在高峰的时候会推迟,博主说的免费版的,收费的没用过,也不错评论 博主用的android studio开发的,.so文件放置的位置啥的可能和eclipse有点不同,感觉用android studio开发jni一类的真的好费劲,博主现在老腻歪了,唉,废话不多说,进入正题: 首先,去极光推送官网注册一系列流程,不过貌似不用认证,老长时间注册的了,忘得差不多了

iOS集成极光推送

iOS集成极光推送 一.配置APNs 苹果APNs(英文全称:Apple Push Notification Service) 1.配置开发证书 ![Uploading apns_13_803165.png -] 2.配置生产证书 和配置开发证书的流程相同. 3.将配置好的证书导出为 .p12 文件 一.注册极光推送帐号 可登录 极光推送官网 注册帐号. 注册成功后进入控制台 二.集成极光推送SDK sdk地址 我使用的是JPush-iOS-SDK-2.1.0.下载的文件里有个pdf文件iOS+

极光推送 标签和别名设置说明

1.获取别名:在极光这个回调方法里面 得到 registrationID 并存储起来 登录的时候会用, /** 极光推送 回调 */ - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { /// Required - 注册 DeviceToken [JPUSHService registerDeviceTok