我已经使用Firebase和FirebaseAuth/FCM等实现了应用程序,通过Firebase控制台成功地发送了通知。
然而,我需要从自己的应用程序服务器推送通知。
我想知道以下哪种方式是检索设备注册ID的正确方式:
1)从didRegisterForRemoteNotificationWithDeviceToken中检索注册ID令牌
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
var token = ""
for i in 0..<deviceToken.count {
token += String(format: "%02.2hhx", arguments: [deviceToken[i]])
}
print("Registration succeeded!")
print("Token: ", token)
Callquery(token)
}
2) 从 Firebase 获取注册令牌(根据 Firebase 文档检索当前注册令牌)
let token = FIRInstanceID.instanceID().token()!
我一直在使用第一种方式,但是即使我的应用服务器数据库已经存储了注册ID,推送通知仍未被接收,并且我得到了以下CURL会话结果:
{"multicast_id":6074293608087656831,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
我也尝试了第二种方法,但在运行应用程序时出现致命错误,如下所示:-
如果有人能指出正确的方法,将不胜感激!