如题,问题是:如果我想取消这次的 APNS 推送,应该如何处理?
我在程序里各种设置 body , title ,等为空字符,依然不行,通知照常弹出。
self.contentHandler = contentHandler;
self.bestAttemptContent = [request.content mutableCopy];
self.bestAttemptContent.title = @"";
//[NSString stringWithFormat:@"%@", self.bestAttemptContent.title];
self.bestAttemptContent.body = @"";
self.bestAttemptContent.subtitle = @"";
self.bestAttemptContent.userInfo = [[NSDictionary alloc] init];
各位大牛是否有解决方案?
至于,为什么会有这样的奇葩需求,是因为我们的客户端是安防类的,服务器推送的太多了,而如果服务器修改,那么智能安防设备的固件端也得修改,为了成本考虑,放在端上解决了。目前无法解决拦截取消 APNS 通知啊!如是问。
1
martint028 2017-02-17 18:36:13 +08:00
目测控制不了
|
2
ningcool OP @martint028 好像是无法控制。
|
3
sea516 2017-02-17 18:51:02 +08:00
说明服务器的同事不行 就这么简单
|
4
onevcat 2017-02-17 18:51:51 +08:00 via iPhone 1
用静默通知在后台唤醒,按需求 schedule 一个本地通知弹出来…
|
5
paradoxs 2017-02-17 18:56:47 +08:00 via iPhone
服务器发送之前用 deviceToken 区分用户啊
|
6
ningcool OP @paradoxs 每次推送都是针对不同用户的,因为通知是根据不同用户的家庭安防设备报警所发的。但是有的报警是不必要发的,比如人在家里,大白天,设备检测到是家庭成员,这个行为监测就不应该发报警通知。如果放在服务器有的逻辑不好控制,比如需要判断用户 Wi-Fi 的 SSIS 名称是否和设备链接的 Wi-Fi 一样,一样说明在家里,那么就不推送。而这个逻辑难以在服务器部署,所以放到客户端去做。
|
7
xiaogui 2017-02-17 23:39:19 +08:00
@ningcool 个人建议将需要推送的信息进行分类,对推送情况进行区分。比如:推送的频率、权重、推送发起的位置(服务器、客户端)。
|
8
zwl2012 2017-02-18 10:12:13 +08:00 via iPhone
这后端也太懒了吧😄,如你所说的判断是否在家的问题。服务端两个字段的问题,逻辑部署在 app 端,变更通知逻辑不就得需要升级 APP 。感觉就像 bs 架构退步成 cs 架构了。
|