我目前正在尝试按照 Firebase 官方文档来实现 Firebase Cloud Messaging。
我已在启用推送通知的情况下解决了证书和配置文件的问题。我还使用 CocoaPods 安装了所有必要的框架(FirebaseMessaging、Firebase),它们似乎工作正常。
在应用程序委托中,我尝试使用以下代码初始化 Firebase 云消息传递令牌。
let token = FIRInstanceID.instanceID().token()!
我还将 GCM 设置为启用,并且 GoogleService-Info.plist 中有一个 GCM 发件人 ID 值。
我收到的错误如下:
2016-11-29 16:11:12.358 Firebasesample[3852:122151] Firebase 自动
屏幕报告已启用。致电+[FIRAnalytics
setScreenName:setScreenClass:] 设置屏幕名称或覆盖
默认屏幕类别名称。要禁用自动屏幕报告,请设置
将 FirebaseAutomaticScreenReportingEnabled 标志设置为 NO
信息表
2016-11-29 16:11:12.419: Firebase
消息传递未正确设置,senderID 为零。致命错误:意外
解包可选值时发现 nil
预先感谢您的任何建议/帮助。
已经在评论中回答但没有实施:
确保您遵循以下设置指南https://firebase.google.com/docs/cloud-messaging/ios/client https://firebase.google.com/docs/cloud-messaging/ios/client.
In your didFinishLaunchingWithOptions
添加以下方法(在FIRApp.configure()
).
NotificationCenter.default.addObserver(self, selector: #selector(tokenRefreshNotification(_:)), name: NSNotification.Name.firInstanceIDTokenRefresh, object: nil)
当您的令牌刷新时,它将调用:
func tokenRefreshNotification(_ notification: Notification) {
guard let token = FIRInstanceID.instanceID().token() else {
QL3("No firebase token, aborting registering device")
return nil
}
//register your token somewhere..
registerToken(token)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)