APP在前台收到推送消息时也会弹出提醒?
展开全部
在iOS 10之前的系统,APP在后台或者APP被杀掉后,收到推送消息时会弹出通知提醒,如果APP是在前台运行的话,收到推送消息时是不会弹出通知的,这种情况下需要开发者自己处理弹框提醒的逻辑。
但在iOS 10之后的系统,APP处于前台时,收到推送消息也会弹出系统通知,这时如果开发者自己也写了弹框提醒,那么就会出现系统提醒和自定义提醒共存的问题,这可能不是我们想要的效果。那么如何去掉系统的提醒呢?我们先来看下iOS 10系统下收到推送消息时的代理方法(我这里集成的是极光推送):
其中关键就在于 completionHandler() 这个方法,其参数有 UNNotificationPresentationOptionAlert 、 UNNotificationPresentationOptionSound 、 UNNotificationPresentationOptionBadge 三种,经测试发现设置为第一个时只有通知弹出提醒,没有声音提醒;设置为第二个时只有声音提醒,没有通知弹出提醒;设置为第三个时没有任何效果。我们可以根据自己的需求来设置参数,如果你既要弹出提醒也要声音提醒,那么可以把3个值都加进去,也就是 completionHandler(UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert);
但在iOS 10之后的系统,APP处于前台时,收到推送消息也会弹出系统通知,这时如果开发者自己也写了弹框提醒,那么就会出现系统提醒和自定义提醒共存的问题,这可能不是我们想要的效果。那么如何去掉系统的提醒呢?我们先来看下iOS 10系统下收到推送消息时的代理方法(我这里集成的是极光推送):
其中关键就在于 completionHandler() 这个方法,其参数有 UNNotificationPresentationOptionAlert 、 UNNotificationPresentationOptionSound 、 UNNotificationPresentationOptionBadge 三种,经测试发现设置为第一个时只有通知弹出提醒,没有声音提醒;设置为第二个时只有声音提醒,没有通知弹出提醒;设置为第三个时没有任何效果。我们可以根据自己的需求来设置参数,如果你既要弹出提醒也要声音提醒,那么可以把3个值都加进去,也就是 completionHandler(UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionSound | UNNotificationPresentationOptionAlert);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询