gpt4 book ai didi

ios - 如果满足 swift 条件,则显示 fcm 通知

转载 作者:搜寻专家 更新时间:2023-10-31 19:27:02 24 4
gpt4 key购买 nike

我正在使用 firebase 推送通知,我的应用订阅了一个主题,一切都很好。但是我想知道如果通过通知是否可以显示通知。这是我的场景:

local_user_id = 10

var payload = {
notification: {
title: "hi",
body: "this is a notification",
sound: "default"
},
data: {
user_id: "1",
message: "you should pay $3020.25"
}
};

1) 控制用户是否登录(true/false)2)获取通知消息数据并查看:

if (payload.data.user_id = local_user_id && is_login){
show_notification()
}

3) 显示通知

实际上我只有通知,没有更多,我是 firebase 的新手,这是我的代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) {
(granted, error) in
}
application.registerForRemoteNotifications()
FirebaseApp.configure()
return true
}

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
let dict = userInfo["aps"] as! NSDictionary
let message = dict["alert"]
print("response")
print(message)
}

我不知道如何做我想做的事,这可能吗?提前致谢

最佳答案

您无法在您的应用程序中控制显示隐藏通知。您可以在后端放置一些逻辑,是否应显示此通知。不过,我有以下可能的解决方法。

  • 使用静默推送。然后触发本地通知。注:静音推送并不总是可靠的。
  • 因此只需在您的负载中包含 content-available: 1,如图所示在下方获取静默通知。它将充当静默通知。
  • 此外,在 Info.plist 中应该将 UIBackgroundModes 设置为
    远程通知

但它仅限于运行和后台模式。如果您的应用程序处于离线状态时 content-available 设置为 0,您将无法接收或处理它

关于ios - 如果满足 swift 条件,则显示 fcm 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734577/

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