수색…


비고

FCM : https://firebase.google.com/docs/cloud-messaging/ios/client

Swift에서 FCM 초기화

신속한 프로젝트에 FCM을 추가하려면 아래 단계를 따르십시오.

1- 아직 Xcode 프로젝트가 없다면 지금 생성하십시오. Podfile이없는 경우 만들기 :

$ cd 당신의 프로젝트 디렉토리
$ pod init

2 설치하려는 창을 추가하십시오. 다음과 같이 Pod 파일에 Pod를 포함시킬 수 있습니다 :

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

3- 포드를 설치하고 .xcworkspace 파일을 열어 Xcode에서 프로젝트를 확인합니다.

$ pod install
$ your-project.xcworkspace를여십시오.

4- plist 에서 GoogleService-Info.plist 파일을 다운로드하여 앱에 포함합니다.

5 APN 인증서를 Firebase에 업로드합니다. APN Cert

6- 프로젝트의 appDelegate 파일에 "Firebase 가져 오기"를 추가하십시오.

7 - "application : didFinishLaunchingWithOptions"에이 "FIRApp.configure ()"를 추가하십시오.

원격 통지를위한 8- 레지스터

  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 - 등록기 토큰 사용

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

10 - 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 - fcm에서 메시지 받기 appDelegate에 아래 코드 추가

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

12 및 연결 해제 용

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

appDelegate에서.

초기화가 완료되고 클라이언트가 fcm 패널에서 메시지를 받거나 제 3 자 서버에서 토큰으로 보낼 준비가되었습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow