C'est la première fois que je travaille sur Firebase en raison d'une exigence du backend, alors laissez-moi savoir si vous ne comprenez pas la question ou si elle ne l'est pas. ne veut rien dire.
Ce que je veux réaliser, c'est que j'ai besoin d'un Registration_ID
qui est le jeton FCM lorsque l'utilisateur s'enregistre. Voilà donc comment je la mise en œuvre dans AppDelegate.swift
>didFinishLaunchingWithOptions
Comment obtenir un jeton FCM lorsque l'utilisateur a refusé l'accès pour autoriser les notifications
if #available(iOS 10.0, *) {
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: {_, _ in })
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
Après que AppDelegate.swift
j'ai ajouté ces trois fonctions:
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Messaging.messaging().apnsToken = deviceToken as Data
}
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
print("Firebase registration token: \(fcmToken)")
}
func application(application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
Messaging.messaging().apnsToken = deviceToken as Data
}
Non le problème est que quand il demande la permission de notification et l'utilisateur nient alors comment je vais obtenir FCM que je vais envoyer au backend lorsque l'utilisateur s'inscrire ou se connecter.
pas possible d'obtenir jeton si l'autorisation est pas correctement réglée. –