• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 当我的应用程序打开时,我会收到横幅通知。我不想在我的应用打开时显示横幅

[复制链接]
菜鸟教程小白 发表于 2022-12-13 05:40:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

enter image description here

我在我的 iOS 应用程序中使用 Firebase 通知,每当我收到通知时,即使应用程序打开,它也会显示为横幅。

当我们使用 iOS 原生远程通知方法时,实际上不会发生这种情况。

我尝试检查是否调用了默认的 iOS 方法,但它不起作用。

注册:

if(SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(@"10.0")){
        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
        center.delegate = self;
        [center requestAuthorizationWithOptionsUNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
            if( !error ){
                [[UIApplication sharedApplication] registerForRemoteNotifications];
            }
        }];
    }
    else{
        [application registerForRemoteNotifications];
    }

对于设备 token :

- (void)messagingnonnull FIRMessaging *)messaging didRefreshRegistrationTokennonnull NSString *)fcmToken {
    // Note that this callback will be fired everytime a new token is generated, including the first
    NSString* deviceTkn = [[NSString stringWithFormat"%@",fcmToken] stringByReplacingOccurrencesOfString"<" withString""];
}

接收通知:

-(void)userNotificationCenterUNUserNotificationCenter *)center willPresentNotificationUNNotification *)notification withCompletionHandlervoid (^)(UNNotificationPresentationOptions options))completionHandler{
    //Called when a notification is delivered to a foreground app.
    NSDictionary *userInfo = notification.request.content.userInfo;
    completionHandler(UNNotificationPresentationOptionAlert);
}

请帮我解决这个问题



Best Answer-推荐答案


您可以在此处设置演示样式警报,这就是显示横幅的原因。您应该根据苹果文档在完成处理程序中传递 UNNotificationPresentationOptionNone 。

https://developer.apple.com/documentation/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter?language=objc

-(void)userNotificationCenterUNUserNotificationCenter *)center willPresentNotificationUNNotification *)notification withCompletionHandlervoid (^)(UNNotificationPresentationOptions options))completionHandler{
    //Called when a notification is delivered to a foreground app.
    NSDictionary *userInfo = notification.request.content.userInfo;
    completionHandler(UNNotificationPresentationOptionAlert);
}

关于ios - 当我的应用程序打开时,我会收到横幅通知。我不想在我的应用打开时显示横幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57881608/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap