【友盟+】开发者社区

iOS中APP处于前台时如何屏蔽系统通知

友盟PUSH 发表于 2017-1-16 14:05:55 | |阅读模式

友盟PUSH
友盟PUSH 发表于 2017-1-16 14:05:55 | 显示全部楼层 |阅读模式
当应用处于前台时,本来是没有提醒的,SDK中为了更便于提醒用户,所以增加了前台时的弹窗通知。如果要关闭这个功能可以在以下两个地方设置。
[AppleScript] 纯文本查看 复制代码
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    //关闭友盟自带的弹出框
    [UMessage setAutoAlert:NO];
    [UMessage didReceiveRemoteNotification:userInfo];}
[AppleScript] 纯文本查看 复制代码
//iOS10新增:处理前台收到通知的代理方法
-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler{
    NSDictionary * userInfo = notification.request.content.userInfo;
    if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
         [UMessage setAutoAlert:NO];
        //应用处于前台时的远程推送接受
        //必须加这句代码
        [UMessage didReceiveRemoteNotification:userInfo];
    }else{
        //应用处于前台时的本地推送接受
    }
    completionHandler(UNNotificationPresentationOptionSound|UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionAlert);
}

如果要关闭系统的alert弹框,可以将上面的completionHandler的UNNotificationPresentationOptionAlert去掉。




上一篇:推送编译报错,好像是jar包冲突,这个有解决方法吗
下一篇:TestFlight加上图片推送收不到,文字正常

您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

【报错必看】微信您的应用签名不正确,请去微信后台确认
微信如果提示这个错误,请查看debug日志: 箭头所指的为你当前应用的签名及包名,然后打开你的微信后台
无法检测设备有效性
无法检测设备有效性
自定义事件有消息数量,却看不到详情
集成都是OK的,能看到自定义事件的消息数量。却看不到详细的详情。 总是显示数据无法加载,稍后重试。

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

在线客服
返回顶部 返回列表