[Flutter] FCM vs Local Notification
はじめに
FlutterでAndroidとiOSのアプリを両方開発しているところで、Push Notificationを実装することになりました。
最初はFCMとLocal Notificationの機能に関して紛らわしいことがありましたので、今回はこれに関して整理しようと思います。
FCM (Firebase Cloud Messaging)
Firebase Cloud Messaging(FCM)は、メッセージを無料で確実に送信するためのクロスプラットフォーム メッセージング ソリューションです。
Firebaseサイトで定義されてる概念で、Firebaseサーバーを使って簡単にユーザーにメッセージを送信することができるとで理解すれば、大丈夫だと思います。
FlutterにFCMを適用する方法
Flutterでは、firebase_messagingのパッケージを追加して使用することができます。
注意することはiOSはAPNsキーもしくはAPNs認証書を登録を事前にしなければ、送信できないので、面倒だけどXcodeの方でAPNsの登録を含めてbundle ID設定やProvisioning Profile設定をしましょう。
あと、他のFirebaseパッケージ、例えば、firebase_authやfirebase_coreなどを使うことになったら、バージョンの互換性も考えないとビルドエラーが起こる可能性もあるので気をつけた方がいいです。
FlutterのLocal Notification
A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform.
これもFCMみたいにメッセージを送信するためのクロスプラットフォームです。
FlutterにLocal Notificationを適用する方法
Local Notificationもfirebase_messagingようにflutter_local_notificationsのパッケージを追加すれば使用することができます。
FCMとLocal Notificationの共通点
- 両方Android,iOSにメッセージを無料で送信することができる
- メッセージの予約可能
- Notification許可ダイアログを出すことができる
(これ以上何かあったら、Feedbackしてください😭)
FCMとLocal Notificationの相違点
- FCMはiOSの方の追加的な対応が必要(bundle ID, Provisioning Profile, APNsキー, tokenなど)
- FCMはメッセージの中に画像を表示したいなら、Flutter上にObjective-Cで対応しなければならない。
- FCMはiOSの方の追加的な対応が必要(bundle ID, Provisioning Profile, APNsキー, tokenなど)
- FCMはメッセージの中に画像を表示したいなら、Flutter上にObjective-Cで対応しなければならない。
- FCMはfirebaseをデータベースとして使用している場合は、クラウド機能を使用してデータベースに加えられた変更をlistenすることができる。
- 用語の違い:機能がほぼ同じでFCMとLocal Notificationを話すとき、プッシュ通知もしくはPush Notificationと言われるですが、これは正しくないです。
Local Notificationはデバイス上にローカルにアプリ自体から送信、予約されたNotificationです。
Push NotificationはiOSやAndroidのクラウドシステム(APNs,FCMなど)を通じてアプリに送信されたNotificationです。
まとめ
つまり、用語的にFCMはPush Notification, ローカルで送信する通知はLocal Notificationです。FCMはユーザーのデータベースをもとにAPNsとトークンを通してメッセージを送信、Local Notificationはこれに関係なくてメッセージを送信することができます。もちろん、Push Notificationの方がLocal Notificationより細かい設定や実装が必要です。実装したいことによって、ちゃんと検討して実装した方がいいと思いますね。
参考
いつもFeedback歓迎
Feedbackはコメントでお願いします。
では、Happy coding!👋🏻
Author And Source
この問題について([Flutter] FCM vs Local Notification), 我々は、より多くの情報をここで見つけました https://qiita.com/bravobo/items/66c101c4b2f512f371e7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .