株式会社アルテソリューション
 

Flutterでアプリ開発を進めるにあたって、プッシュ通知は必須機能のひとつですが、Firebase Cloud Messagingの利用がもっとも手軽に始められます。FCMはGoogleのサービスということもありますので、Androidの設定は問題なく行えるのですが、iOSのプッシュ通知がうまくいかず悩んでいる方も多いと思います。今回はiOSでも正しく通知を受信できるようにする方法を紹介したいと思います。

Firebase Cloud Messagingとは

Firebase Cloud Messaging(FCM)はメッセージを送信するためのメッセージングサービスです。新しいメールやその他のデータがあることをアプリに通知メッセージを送信することができます。Flutterでアプリ開発を進めるにあたり、導入しておきたい機能のひとつです。

FCMはFirebaseサービスの一つで、導入方法はすでに多くのブログや動画でも紹介されていますので今回は導入方法は割愛し、iOSで正しくプッシュ通知が行われるために、ほかでは紹介されていなかったところだけを取り上げていきたいと思います。開発に携わっている皆さんの参考になれば幸いです。


AppDelegate.swiftの修正

ios/Runner/AppDelegate.swiftを以下の通りに修正。



import UIKit
import Flutter
import Firebase

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {

    FirebaseApp.configure()

    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()
    
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}



Podfile内にpod 'Firebase/Messaging'を追加 use_modular_headers!の下あたりに追加します。


target 'Runner' do
use_frameworks!
use_modular_headers!

pod 'Firebase/Messaging'

flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end


APNsを利用する際に必要な証明書をp8ではなくp12を利用する

Firebaseのコンソールページでプロジェクトの概要設定->Cloud Messagingタブへ移動。登録したiOSアプリのAPNs認証キーで開発用と本番環境用APNs証明書(p12)をアップロード



ビジネスチャンスを逃さない!チラシデザイン スピーディ対応 印刷も対応 無料お見積致します
チラシデザイン作成に役立つ時短Tips集
チラシデザインを作成する上でもう一つ重要なのが素早く対応できることが挙げられます。スピーディな対応をこなしていくためには有料ソフトウェアも導入する必要がありますが、既存アプリケーションを上手に使いこなすだけで十分に効率を上げることができます。そこで、効率を上げるための便利なTipsを集めてみましたの...