You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: flutter_local_notifications/CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,9 @@
1
+
# [1.4.4+1]
2
+
3
+
* Added details that platform-specific implementations can be obtained to the _Caveats and limitations_ section
4
+
* Added a note on restrictions imposed by the OS by Android OEMs that may be prevent scheduled notifications appearing
5
+
*_Release configurations_ section of the readme renamed to _Release build configuration_
6
+
1
7
# [1.4.4]
2
8
3
9
*[iOS] Fixes to ensure that the native completion handlers were called appropriately. If you had some issues using this plugin combined with push notifications (e.g. via `firebase_messaging`) when the app was in the foreground then I would recommend updating to this version. Thanks to [Paweł Szot](https://github.com/szotp) for picking up the gap in the code in handling the native `willPresentNotification` call
Copy file name to clipboardExpand all lines: flutter_local_notifications/README.md
+5-10Lines changed: 5 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -43,14 +43,15 @@ A cross platform plugin for displaying local notifications.
43
43
*[iOS] Request notification permissions and customise the permissions being requested around displaying notifications
44
44
*[iOS] Display notifications with attachments
45
45
46
-
47
-
48
46
## ⚠ Caveats and limitations
49
-
Note that this plugin aims to provide abstractions for all platforms as opposed to having methods that only work on specific platforms. Each method allows passing in "platform-specifics" that contains data that is specific for customising notifications on each platform. This approach means that some scenarios may not be covered by the plugin. Feel free to fork or maintain your code for showing notifications in these situations.
47
+
The cross-platform facing API exposed by the `FlutterLocalNotificationsPlugin` class doesn't expose platform-specific methods as its goal is to provide an abstraction for all platforms. As such, platform-specific configuration is passed in as data. There are platform-specific implementations of the plugin that can be obtained by calling the [`resolvePlatformSpecificImplementation`](https://pub.dev/documentation/flutter_local_notifications/latest/flutter_local_notifications/FlutterLocalNotificationsPlugin/resolvePlatformSpecificImplementation.html). An example of using this is provided in the section on requesting permissions on iOS. In spite of this, there may still be gaps that don't cover your use case and don't make sense to add as they don't fit with the plugin's architecture or goals. Developers can fork or maintain their own code for showing notifications in these situations.
50
48
51
49
##### Compatibility with firebase_messaging
52
50
Previously, there were issues that prevented this plugin working properly with the `firebase_messaging` plugin. This meant that callbacks from each plugin might not be invoked. Version 6.0.13 of `firebase_messaging` should resolve this issue so please bump your `firebase_messaging` dependency and follow the steps covered in `firebase_messaging`'s readme file.
53
51
52
+
##### Scheduled Android notifications
53
+
Some Android OEMs have their own customised Android OS that can prevent applications from running in the background. Consequently, scheduled notifications may not work when the application is in the background on certain devices (e.g. by Xiaomi, Huawei). If you experience problems like this then this would be the reason why. As it's a restriction imposed by the OS, this is not something that can be resolved by the plugin. Some devices may have setting that lets users control which applications run in the background. The steps for these can be vary and but is still up to the users of your application to do given it's a setting on the phone itself.
54
+
54
55
##### Recurring Android notifications
55
56
This feature uses the [Alarm Manager](https://developer.android.com/reference/android/app/AlarmManager) API. This is standard practice but does mean the delivery of the notifications/alarms are inexact and this is documented Android behaviour as per the previous link. It has been reported that Samsung's implementation of Android has imposed a maximum of 500 alarms that can be scheduled via this API and exceptions can occur when going over the limit.
56
57
@@ -63,16 +64,13 @@ Daylight saving issues for scheduled notifications is a known issue. This functi
*[Javier Lecuona](https://github.com/javiercbk) for submitting the PR that added the ability to have notifications shown daily
@@ -81,8 +79,6 @@ Daylight saving issues for scheduled notifications is a known issue. This functi
81
79
*[Zhang Jing](https://github.com/byrdkm17) for adding 'ticker' support for Android notifications
82
80
* ...and everyone else for their contributions. They are greatly appreciated
83
81
84
-
85
-
86
82
## 📈 Testing
87
83
88
84
As the plugin class is not static, it is possible to mock and verify its behaviour when writing tests as part of your application.
@@ -111,7 +107,6 @@ When specifying the large icon bitmap or big picture bitmap (associated with the
111
107
112
108
⚠️ For Android 8.0+, sounds and vibrations are associated with notification channels and can only be configured when they are first created. Showing/scheduling a notification will create a channel with the specified id if it doesn't exist already. If another notification specifies the same channel id but tries to specify another sound or vibration pattern then nothing occurs.
113
109
114
-
115
110
#### Scheduled notifications
116
111
117
112
If your application needs the ability to schedule notifications then you need to request permissions to be notified when the phone has been booted as scheduled notifications uses the `AlarmManager` API to determine when notifications should be displayed. However, they are cleared when a phone has been turned off. Requesting permission requires adding the following to the manifest (i.e. your application's `AndroidManifest.xml` file)
@@ -145,7 +140,7 @@ If the vibration pattern of an Android notification will be customised then add
145
140
For reference, the example app's `AndroidManifest.xml` file can be found [here](https://github.com/MaikuB/flutter_local_notifications/blob/master/flutter_local_notifications/example/android/app/src/main/AndroidManifest.xml)
146
141
147
142
148
-
#### Release configurations
143
+
#### Release build configuration
149
144
150
145
Before creating the release build of your app (which is the default setting when building an APK or app bundle) you will likely need to customise your ProGuard configuration file as per this [link](https://developer.android.com/studio/build/shrink-code#keep-code) and add the following line:
Copy file name to clipboardExpand all lines: flutter_local_notifications/pubspec.yaml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
name: flutter_local_notifications
2
2
description: A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform.
0 commit comments