iOS Firebase云消息:使用控制台发送的消息失败
我按照他们文档中的说明设置Firebase云消息传递,即将APNs身份验证密钥上载到Firebase以建立FCM->APNs连接。 我仔细检查了这个密钥的keyId和appid前缀 我能够在我的AppDelegate中使用此实现在应用中接收FCM令牌:iOS Firebase云消息:使用控制台发送的消息失败,ios,swift,firebase,firebase-cloud-messaging,Ios,Swift,Firebase,Firebase Cloud Messaging,我按照他们文档中的说明设置Firebase云消息传递,即将APNs身份验证密钥上载到Firebase以建立FCM->APNs连接。 我仔细检查了这个密钥的keyId和appid前缀 我能够在我的AppDelegate中使用此实现在应用中接收FCM令牌: // MARK: - Firebase Messaging delegate extension AppDelegate: MessagingDelegate { var fcmToken: String? { retu
// MARK: - Firebase Messaging delegate
extension AppDelegate: MessagingDelegate {
var fcmToken: String? {
return Messaging.messaging().fcmToken
}
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
print("FCM (Firebase Cloud Messaging) registration token: \(fcmToken)")
// TODO: Send token to application server (for login / logout)
// Note: This callback is fired at each app startup and whenever a new token is generated.
}
}
这是很好的第一步。然后,我尝试从Firebase控制台中的notification Composer发送通知。
我的测试很简单:标题和FCM标记。
但后来我发现了一个错误,我不知道会发生什么,Firebase没有给出太多细节:
这很奇怪,因为之前我已经在另一个iOS应用程序上实现了FCM,不过不太复杂,我检查了设置是否一致
唯一的区别是这个应用有几个目标
如果我得到FCM令牌,APN和Firebase之间的配置是否正确?
我还可以尝试调试什么
更新:我使用了一个curl来发送一个通知,正如在这篇博客文章中所解释的:,我得到了以下响应:
{多播_id:5245063881031284671,成功:0,失败:1,规范_id:0,结果:[{error:mistchsenderid}]}
我将调查这个不匹配的Senderid。好的,显然我的GoogleInfo.plist有点混乱,所以我从Firebase再次下载了它,现在它可以工作了。你在Firebase上上传了.p12文件了吗?是的,实际上,我上传了APNs身份验证密钥,现在是.p8,这是Firebase推荐的方法