gpt4 book ai didi

ios - 应用程序打开时更新角标(Badge)而不发出警报

转载 作者:行者123 更新时间:2023-11-30 12:44:26 24 4
gpt4 key购买 nike

我正在尝试通过推送通知远程更新角标(Badge)值。一切正常,但当应用程序打开时,我收到一个空警报(包含我的应用程序名称和关闭按钮)。

我读到了silent notifications在苹果的文档中,但似乎即使在通知有效负载中指定 content-available : 1 ,有效负载也不得包含角标(Badge)以使通知保持沉默。

是否可以在不收到警报的情况下更新角标(Badge)?

最佳答案

如果您使用静默推送通知,则无法在 aps 字典中包含 badge 键,因此无法直接使用静默推送通知更新角标(Badge)推。

可以aps字典中包含自己的键和值,并且该字典在didReceiveRemoteNotification:fetchCompletionHandlerUIApplicationDelegate中可用 函数。

在此函数中,您可以从 aps 字典中提取自己的“角标(Badge)” key ,并使用它直接使用 UIApplication 属性 [ applicationIconBadgeNumber][1]

UIApplication.shared.applicationIconBadgeNumber = someValue

类似于:

 func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if let badgeNumberStr = userInfo["myBadge"] as? String {
if let badgeNumber = Int(badgeNumberStr) {
application.applicationIconBadgeNumber = badgeNumber
}
}
}

关于ios - 应用程序打开时更新角标(Badge)而不发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41814388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com