当前位置: 首页 > 知识库问答 >
问题:

管理推送通知

许照
2023-03-14

我使用城市飞艇在iOS 10(Swift)应用程序中接收推送通知。我遇到以下问题,请您帮助解决。

应用程序运行时无法隐藏通知

为了隐藏通知,我尝试了以下任务...

>

  • 删除委托方法func userNotificationCenter的实现(center:UNUserNotificationCenter,willPresent通知:UNNotification,withCompletionHandler completionHandler:@escaping(UNNotificationPresentationOptions)-

    我试图传递completionHandler(UNNotificationPresentationOptionNone)以转义/隐藏通知toast,但“UNNotificationPresentationOptionNone”不再可用。

    completionHandler([])——这不起作用。我试着通过“UNNotificationPresentationOptionNone”考试

    明确通知

    如何从列表中清除/删除已交付(一旦用户阅读或取消)的通知并相应地更新徽章图标。

    谢啦

  • 共有1个答案

    纪翰
    2023-03-14

    前台演示处理

    使用城市飞艇SDK处理iOS10上的前台表示选项有两种方法。如果您在城市飞艇上配置了UAPushNotificationConsionate实例SDK那么表示选项将委托给PresationOptions并按推送处理。例如:

    @available(iOS 10.0, *)
    func presentationOptions(for notification: UNNotification) -> UNNotificationPresentationOptions {
        return [.alert]
    }
    

    您可以返回[]以不显示任何内容。

    否则,如果您没有配置上述委托,您可以通过设置defaultPresentationOptions来禁用所有前台呈现选项。

    UAirship.push().defaultPresentationOptions = []
    

    清算通知

    在iOS10上,您可以通过unuserviceNotificationCenter的共享实例清除应用程序的通知,该实例提供了removeAllDeliveredNotifications()方法。为了在旧版本的iOS上保持兼容性,你可以将徽章设置为零——更多信息请参见此处。

    if #available(iOS 10.0, *) {
        UNUserNotificationCenter.current().removeAllDeliveredNotifications()
    } else {
        UIApplication.shared.applicationIconBadgeNumber = 0;
    };
    
     类似资料:
    • iOS消息推送在工作灯,接收通知时,应用程序在后台作为徽章,但当我点击徽章也我得到有效载荷作为警报。我只需要徽章时,应用程序在后台运行。 实际上,我需要在应用程序位于前台时显示警报,如果应用程序位于后台,则显示徽章。在我的push received handler函数中,我正在检查这一点。但在ios中,只有当用户点击badge时,处理器函数get才会触发,而在Android中,当push收到时,处

    • 我正在尝试用远程通知处理所有可能的情况。当调用Foreground-DidReceiverEmoteNotification中的app时我就ok了。问题是当应用程序处于后台状态时,我收到推送通知。什么都不叫。如何让用户知道他有新的远程通知当应用程序回到前台?

    • 首先,我想声明我一直在研究推送通知和web通知之间的关系,但我有点困惑。 我从这里读到PWAs的推送通知在Safari上的iOS(iPhone)不起作用:从PWA向iOS发送推送通知 然而,如果iPhone用户使用的是Chrome,这是否意味着它们可以工作呢?或者推送通知在任何浏览器上对iPhone中的PWAs都不起作用? 这就把我带到了web通知。web通知在后台对PWAs起作用吗?我的问题是w

    • 如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star

    • 通过上面的行,我得到了一个URL,它将在大约一个月内有用。 现在我不可能做的是将推送通知发送到应用程序。 任何关于如何使用Uri和如何将信息发送到它的光我会很高兴,因为我的400错误,那是关于我的post消息的一些错误。 我可以在发布或调试模式下获得推送通知吗? 使用PHP可以完成带有正确Uri的推送通知吗?

    • 我有一些关于实现推送通知的问题。事情是, > 订阅对象中的所有数据都是必需的吗?或者只有终点。 如果用户登录的设备超过10台,我是否需要为每个设备存储订阅值?是这样的吗?还是应该存储上次登录设备的订阅值?如果是这样,那么其余9个将不会收到任何通知。 如果您正在存储所有loggedin设备的订阅值,那么用户是否登录了多个浏览器?他会在每个浏览器中收到通知吗?这是标准做法吗? 欢迎提出建议,任何标准做