サーチ…


備考

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

SwiftでFCMを初期化する

以下の手順に従って、迅速なプロジェクトにFCMを追加してください

1-まだXcodeプロジェクトがない場合は、今すぐ作成してください。 Podfileがない場合は作成してください:

$ cdあなたのプロジェクトディレクトリ
$ pod init

2-インストールするポッドを追加します。このようにPodファイルにPodを含めることができます:

ポッド 'Firebase / Core'
ポッド 'Firebase / Messaging'

3-ポッドをインストールし、.xcworkspaceファイルを開いてXcodeでプロジェクトを確認します。

$ pod install
$ your-project.xcworkspaceを開く

4- plistからGoogleService-Info.plistファイルをダウンロードし、アプリに組み込みます。

5 APN証明書をFirebaseにアップロードします。 APN Cert

6-プロジェクトのappDelegateファイルに "Firebaseをインポート"を追加する

あなたの "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()!

あなたが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パネルからメッセージを受信する準備ができているか、サードパーティのサーバからトークンで送信する



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow