iOS
スウィフトでのFCMメッセージング
サーチ…
備考
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パネルからメッセージを受信する準備ができているか、サードパーティのサーバからトークンで送信する