iOS Initialiser FCM dans Swift


Exemple

suivez l'étape ci-dessous pour ajouter FCM dans votre projet rapide

1- Si vous n’avez pas encore de projet Xcode, créez-en un maintenant. Créez un Podfile si vous n'en avez pas:

$ cd le répertoire de votre projet
$ pod init

2- Ajoutez les modules que vous souhaitez installer. Vous pouvez inclure un pod dans votre Podfile comme ceci:

pod 'Firebase / Core'
pod 'Firebase / Messaging'

3- Installez les modules et ouvrez le fichier .xcworkspace pour voir le projet dans Xcode.

$ pod installation
$ ouvrez votre-project.xcworkspace

4- Téléchargez un fichier GoogleService-Info.plist de plist et incluez-le dans votre application.

5- Téléchargez le certificat APNs sur Firebase. APN Cert

6- ajouter "import Firebase" dans votre fichier appDelegate du projet

7- ajoutez ceci "FIRApp.configure ()" dans votre "application: didFinishLaunchingWithOptions"

8- enregistrer pour notification à distance

  if #available(iOS 10.0, *) {
  let authOptions : UNAuthorizationOptions = [.Alert, .Badge, .Sound]
  UNUserNotificationCenter.currentNotificationCenter().requestAuthorizationWithOptions(
    authOptions,
    completionHandler: {_,_ in })

  // For iOS 10 display notification (sent via APNS)
  UNUserNotificationCenter.currentNotificationCenter().delegate = self
  // For iOS 10 data message (sent via FCM)
  FIRMessaging.messaging().remoteMessageDelegate = self

} else {
  let settings: UIUserNotificationSettings =
  UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
  application.registerUserNotificationSettings(settings)
}

application.registerForRemoteNotifications()

9- pour obtenir l'utilisation du jeton de registre

let token = FIRInstanceID.instanceID().token()!

10- et si vous voulez surveiller le changement de jeton, utilisez le code ci-dessous dans le fichier appDelegate

func tokenRefreshNotification(notification: NSNotification) {
if let refreshedToken = FIRInstanceID.instanceID().token() {
    print("InstanceID token: \(refreshedToken)")
  }

  // Connect to FCM since connection may have failed when attempted before having a token.
  connectToFcm()
}

11- recevoir un message de fcm ajouter le code ci-dessous dans appDelegate

func connectToFcm() {
  FIRMessaging.messaging().connectWithCompletion { (error) in
    if (error != nil) {
      print("Unable to connect with FCM. \(error)")
    } else {
      print("Connected to FCM.")
    }
  }
}

12- et pour une utilisation de déconnexion

func applicationDidEnterBackground(application: UIApplication) {
  FIRMessaging.messaging().disconnect()
  print("Disconnected from FCM.")
}

dans votre appDelegate.

l'initialisation terminée et le client prêt à recevoir un message du panneau fcm ou à envoyer par jeton depuis un serveur tiers