iOS端后台收不到通知


#16

是的,可以同时传值。


(来自宇宙边际的奥特蛋) #17

那我这边接收的话,需要做哪些改动呢?


#18

你在官网推送的时候就推送的是 Notification 了,可以收到,那说明你客户端接收 Notification 的方法都已经完成了呀,不需要做什么改动吧?


(来自宇宙边际的奥特蛋) #19

服务器增加一个向Notification传值,安卓那边需要做判断或改动吗?


#20

Notification 只对 iOS 传值,Android 就不会收到 Notification 消息,他收到的消息和之前没有变化,也不需要做什么改动


(来自宇宙边际的奥特蛋) #21

好的,非常感谢您,后续有问题的话,再咨询您,那今天先这样哈!


#22

好的,另外注意给 iOS 推送 Notification 有环境参数设置问题,根据客户端的环境来对应配置

帖子中服务端部分有说明


(来自宇宙边际的奥特蛋) #24

您好,现在 App 在后台能收到推送,但是我在NSNotification Service Extension中的- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler API_AVAILABLE(ios(10.0)) API_AVAILABLE(ios(10.0))方法中打断点不会进入断点。


#25

首先要推送正确的 Service Extension 信息,有 “mutable-content” = 1;其次:

https://community.jiguang.cn/t/topic/29534/18


#27

11 个帖子被分离到了新主题:运行 Extension target 不走断点


(来自宇宙边际的奥特蛋) #28

您好,还有一个问题就是通知和自定义消息同时推送的时候,当 App 在前台会有两次语音播报,这个怎么处理呢?有哪个代理方法可以过滤吗?


#29

你对 自定义消息还做了展示和语音播报吗?

如果你是设置的在前台根据自定义消息来做提醒,那 Notification 消息就是多余的,你可以判断下现在在前台状态,收到的 Notification 不展示不语音播报?


(来自宇宙边际的奥特蛋) #30

是这样的,需求是当 App 在前台的时候就推自定义消息,当在后台的时候就用通知,但是后台不知道 App 处于前台还是后台所以就两者一起推了,就出现了现在的2次语音播报问题,我想的是在扩展里面能不能用代码判断 App 是否处在前台还是后台?


(来自宇宙边际的奥特蛋) #31

您好,有什么办法能够在推送扩展里面判断当前 App 是否处在前后台状态呢?尝试了几种方法都不行,要不方法不能在里面实现,要么就判断失效。


#32

只搜索到这个:

在 Extension 里面应该判断不了前后台吧,如果语音播报放在 extension 里面,那么通知收到的时候就会触发,不区分前后台

不如你就都对通知进行播报,不对自定义消息进行语音播报呢?

或者控制下自定义消息的展示,判断下收到了通知已播报过就不要对自定义消息重复播报?毕竟自定义消息本身默认就是不展示的,可能相对来说比较好操作一点。


(来自宇宙边际的奥特蛋) #33

那有没有当 App 在前台的时候可以关闭通知的方法呢?


#34

反注册代码


(来自宇宙边际的奥特蛋) #35

我在AppDelegate 中加入了 以下代码,还是会走扩展里面的语音播报方法,是我这个方法有问题吗?
// 判断当前 App 活跃状态来决定是否接受通知
if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) {
// 关闭推送
[[UIApplication sharedApplication] unregisterForRemoteNotifications];
}else{
// 打开通知
//可以添加自定义categories
[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound |
UIUserNotificationTypeAlert)
categories:nil];
}


(来自宇宙边际的奥特蛋) #36

您好,我在程序进入后台注册通知,进入前台反注册通知,但是现在杀死进程就收不到推送了?


#37

杀死进程如果没有走进入后台时的 重新注册的 API ,那就还是处于反注册状态