gpt4 book ai didi

ios - 无法在 iOS 上接收来自 Firebase 3.2.0 主题的推送通知

转载 作者:技术小花猫 更新时间:2023-10-29 10:29:44 25 4
gpt4 key购买 nike

我在 https://firebase.google.com/docs/notifications/ios/console-topics#receive_and_handle_topic_messages 上按照谷歌的教程进行操作在我的 iOS 应用程序上订阅 Firebase 主题。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {

FIRMessaging.messaging().subscribeToTopic("/topics/Notifications")

let homeViewController = UINavigationController(rootViewController: HomeViewController())

UINavigationBar.appearance().translucent = false
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.rootViewController = homeViewController

window?.makeKeyAndVisible()
return true
}

但是,当我从 Firebase 控制台发送主题推送通知时。我无法收到任何推送通知。但是当我从控制台向用户段发送推送通知时,推送工作正常。当我检查 Xcode 控制台时,我看到了这个 FIRMessaging 错误。

2016-05-31 11:11:47.893: <FIRMessaging/WARNING> Cannot subscribe to topic: /topics/Notifications with token: (null) 

我试图搜索此错误,但没有找到任何东西。我不确定这是否是导致我的应用程序无法收到来自主题的任何推送的问题。

有没有人遇到过这个问题并且知道如何解决?

最佳答案

看起来您调用 subscribeToTopic 可能太早了。

首先,在设置任何 Firebase 调用之前,请确保调用

FIRApp.configure()

这将确保正确设置和初始化所有 Firebase 服务。

接下来,您需要稍等片刻才能订阅主题。您的客户端需要先向 APNs 和 FCM 注册您的应用程序,以确保它可以接收通知。这涉及网络调用,这意味着您无法在您的应用程序首次启动时订阅主题。

相反,我建议将该代码放入您的 application:didRegisterUserNotificationSettings 处理程序中。像这样:

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {
NSLog(@"Hooray! I'm registered!");
[[FIRMessaging messaging] subscribeToTopic:@"/topics/cool_users"];
}

编辑:还有 Swift 版本...

func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
print("Hooray! I'm registered!")
FIRMessaging.messaging().subscribeToTopic("/topics/swift_fans")
}

关于ios - 无法在 iOS 上接收来自 Firebase 3.2.0 主题的推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37549717/

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