极光 服务器 自定义消息,iOS利用极光自定义消息推送app前台页面接收,无socket。...

项目中有个场景,app传一图片给服务器,服务器对图片运算后返回一个结果给app,可是app并不知道服务器要运算多久,可能1秒可能5秒可能20秒,服务器也不支持socket通信。

当时想到了两个方案。

app每隔几秒(比如2秒)就请求一次服务器接口,30秒内如果拿到想要的结果就停止请求,超过30秒也停止请求。但是觉得比较麻烦和不靠谱。

本身app就集成了极光推送,于是就有了通过发送自定义消息的方案。

即app上传完图片后就弹hud等待,服务器处理完后那边调用一下极光的接口,然后就给app发送自定义消息。

以下是传图片的类的部分代码

主要是注册通知

- (void)viewDidLoad {

[super viewDidLoad];

[self setUpUI];

// 注册通知

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(networkDidReceiveMessage:)

name:kJPFNetworkDidReceiveMessageNotification

object:nil];

}

接受到自定义消息后

// 接收到通知事件

- (void)networkDidReceiveMessage:(NSNotification *)notification {

NSDictionary *userInfo = [notification userInfo];

NSLog(@"%@",userInfo);

//自定义消息就存在这个userInfo中

//这里就写收到自定义消息后的处理代码

}

记得移除通知

- (void)viewWillDisappear:(BOOL)animated{

[super viewWillDisappear:animated];

//移除通知

[[NSNotificationCenter defaultCenter] removeObserver:self name:kJPFNetworkDidReceiveMessageNotification object:nil];

}

这是测试结果

在极光推送的网页上可以推送测试消息

我这里是靠registrationID来指定推送设备的,registrationID在集成极光推送后会有极光SDK自动生成

33d101ff3326?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

可选字段就可以用来传消息内容了

33d101ff3326?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

在app调试时收到的消息结构就是这样

33d101ff3326?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

33d101ff3326?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值