iOS消息推送之Alert内容

本文探讨了在应用中实现亲友间血压数据推送的功能,特别关注iOS设备通过极光推送接收并处理推送通知的过程。分析了数据处理、上传至服务器、计算结果以及推送响应消息至客户端的完整流程,重点解释了iOS设备接收到推送后无法预先处理alert内容的机制,并通过苹果官方文档佐证。最后,阐述了Android设备与iOS设备在处理推送通知上的不同策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  项目用到了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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值