iOS消息推送之Alert内容

  项目用到了APNs推送(采用了极光推送),推送的用法什么的在此就不做赘述了。app中有这样一个功能,亲友测量了血压,然后其他亲友会收到相应的推送,然后点击查看。OK,非常简单。

  然后就开始了,用户通过血压计测量了血压以后,上传数据至app,然后app简单处理以后上传数据至服务器,服务器经过计算,然后推送响应的消息至其他客户端。做后台的同学把数据处理完成以后,然后就推过来了。格式大概是这样子的:

{"ios":{"sound":"","badge":"+1","alert":"{\"createtime\":\"1449714357908\",\"data\":{\"bp\":{\"age\":\"6\",\"borthday\":\"2009-10-13 00:00:00.0\",\"diastolic_pressure\":\"100\",\"family_role\":\"yeye\",\"id\":\"26006\",\"nikename\":\"**\",\"occupation\":\"体力劳动\",\"pulse\":\"80\",\"save_time\":\"1449714357000\",\"sex\":\"男\",\"source\":\"测试设备来源\",\"state\":\"0\",\"systolic_pressure\":\"120\",\"userbh\":\"18351883607\",\"userid\":\"291\"},\"prop\":{\"healthclasstype\":\"3\",\"healthsuggests\":\"您的血压测量值过高,请严格调整作息,控制饮食,戒烟戒酒。如遇身体不适,请及时就诊。请密切关注血压,每天测量。\",\"healthtip\":\"您患有中度高血压,请遵医嘱控制血压。\",\"memo\":\"\"}},\"msgtype\":\"1\"}"}}​

  OK,收到推送以后,红色字体部分作为alert内容被直接推送过来了。但是,需要的效果是这样的:**测量了血压,血压过高。;​Android的做法是收到推送以后,再进行处理,然后才显示推送消息,然后也实现了,我说iOS实现不了,至少我所接触到的没有人这么做啊。主管说了,不可能吧?你去再查一查。好了,那就扒一扒apple的官方文档吧。

https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW20 ,

  官方的解释是这样的:

Keys and values of the aps dictionary

        alert的value类型可以为string或者dictionary,如果是string的话,这个string将直接作为alert的内容推送过来,如果是dictionary,则参照下边的图片

Child properties of the alert property

        title作为消息的title,body作为alert的内容。说白了,alert的内容不能自己二次处理。从苹果推送的机制上来看,也是不能修改alert内容的,因为苹果的推送是由苹果推送中心推过来的,然后点击推送的消息进入app以后才有机会去处理消息内容,所以不可能在消息过来之前app先处理再显示推送。

        以上。

转载于:https://www.cnblogs.com/zpz501/p/5044514.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值