Я создаю приложение с помощью firebase и пытаюсь сохранить токен FCM для push-уведомлений (который отправляется функциями firebase).
Способ, которым я пытаюсь это сделать, - это сохранение deviceToken в UserDefault, чтобы использовать его позже.
Мне нужно сохранить fcmToken, когда пользователь регистрируется (чтобы сохранить его в моей базе данных в профиле).
Когда пользователь выходит из системы, мне нужно удалить fcmToken в базе данных.
Из-за этого у меня есть func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String)
в AppDelegate (может быть, это неправильно?), И я храню его так:
Код AppDelegate:
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
UserDefaults.standard.setValue("fcmToken", forKey: fcmToken)
}
Когда я хочу вызвать его, например, в видеконтроллере регистрации, я объявляю маркер устройства следующим образом:
Регистрация кода ViewController регистрации:
let deviceToken = UserDefaults.standard.value(forKey:"fcmToken") as? String ?? "not found"
И затем я сохраняю его в своей базе данных следующим образом
["fcmToken": deviceToken]
Однако, это всегда возвращает «не найдено» в Firebase и не сохраняет фактический идентификатор устройства.Было бы здорово, если бы вы, ребята, могли бы помочь мне в этом.