Я реализовал Firebase с FirebaseAuth/FCM и т.д. и успешно отправил уведомление через Firebase Console.
Однако мне нужно будет отправить уведомление с моего собственного сервера приложений.
Мне интересно, какой путь является правильным способом получить идентификатор регистрации для устройства: -
1) получить регистрационный идентификатор регистрации из didRegisterForRemoteNotificationWithDeviceToken
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()!
i использовал первый способ, push-уведомление не принимается, даже если идентификатор регистрации хранится в базе данных моего сервера приложений, и я получаю этот результат сеанса CURL: -
{"multicast_id":6074293608087656831,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
Я также попробовал второй способ и получил фатальную ошибку при запуске приложения, как показано ниже:
оценил, может ли кто-нибудь указать мне правильный путь, спасибо!