4.0.23-pre
Pre-release
Pre-release
4.0
- Improved notification channel handling during app startup.
- Data-only notifications are no longer displayed in the notification tray.
- NotificationBuilder support for Android API 26 and below (where no notification channels are available).
- OpenNotificationSettings now also works for Android API 26 and below.
- Synchronized notification handling behavior between Android and iOS.
- Renamed topic methods to follow the Async pattern: SubscribeToTopicAsync, UnsubscribeFromTopicAsync, etc.
- Use AddOnCompleteListener for asynchronous tasks in Android.
- Add target framework net9.0, net9.0-android and net9.0-ios.
- Remove target framework net7.0, net7.0-android and net7.0-ios.
- Bug fixes and refactorings.
3.2
- Improved default notification channel handling.
- Bug fixes and refactorings.
3.1
- Extend INotificationChannels to manage notification channel groups.
- Internal refactoring of INotificationChannels implementation.
- Removed properties IsActive and IsDefault from NotificationChannelRequest. Set the default notification channel via UseFirebasePushNotifications(o => o.Android.DefaultNotificationChannelId = ...).
- Configure initial list of notification channels via o.Android.NotificationChannels and notification groups via o.Android.NotificationChannelGroups.
3.0
- Update firebase-ios-sdk by replacing nuget package Xamarin.Firebase.iOS.CloudMessaging with AdamE.Firebase.iOS.CloudMessaging.
2.5
- Move static properties from Android's FirebasePushNotificationManager to FirebasePushNotificationAndroidOptions.
- iOS 18 workaround for duplicate notifications in foreground mode.
- iOS options to override default UNNotificationPresentationOptions for notifications received in foreground mode.
- Handle gcm.notification.click_action payload as click_action in Android.
2.4
- Refactor instanciation of IFirebasePushNotification.
- Refactor startup procedure of platform-specific services.
- Add singleton instance INotificationPermissions.Current.
2.3
- General bug fixes and code cleanup.
- Bug fixes in the area of topic subscriptions.
- IFirebasePushNotification.Current.
- Add singleton instance IFirebasePushNotification.Current and INotificationPermissions.Current.
2.2
- Complete refactoring of the original 1.x implementation.
- Simplified APIs, less static code, support for dependency injection.
1.0
- Initial release.
Changes:
- 674673f Extract release notes to text file
- 2691600 Cleanup
- dbe986b Reformat argument
- f497f06 Try restoreArguments
- bb5a834 Use nuget restore arguments to add release configuration parameter
- ce13897 Restore nugets with release configuration
- 2da0341 Remove 32 bit runtime identifiers in android sample app
- 003d5bc Publish snupkg
- d17cae4 Use .net 8 and .net 9
- b844f38 Add Android proguard and trimmer config
See More
- 942e94e GenerateDocumentationFile only in release mode
- 5ad809c Update nugets in test project
- 1a9210c Replace arrow in log messages
- a39c382 Update community toolkit in sample app
- 6b8e6cf Remove target framework net7.0 + add target framework net9.0
- 719c90e Merge pull request #131 from thomasgalliker/android-notification-channel-handling-2
- 8b2fa0a Update postman collection with more firebase notification messages
- 99a0bf2 Adjust sample app to comply with latest changes/renames
- 76efcf8 Refactor notification id and tag methods
- 59987d8 Refactor and reuse icon resource methods
- f81b2ac Don't process intent actions with android.intent.action.MAIN
- b287355 Synchronize notification handling behavior between Android and iOS
- a6f1a11 - Renamed topic methods to follow the Async pattern: SubscribeToTopicAsync, UnsubscribeFromTopicAsync, etc.
- 77eb1ca Renames
- 9723af8 Use TryGetInt method
- 9c9199c Update comment
- f7435fd Add key words to abbreviation list
- 9f109a1 Synchronize notification handling behavior between android and ios
- db7dafd Update readme.md
- e93e5cd Update FAQ
- d6d89e0 Remove internal method from interface
- 32ac0da Adjust log message
- 8edbb0b - Improved notification channel handling during app startup.
- 4da1ef8 Cleanup
- 832176c Add important note to Importance property
- 25fecd4 Reformat log messages
- 2380a39 Use NotificationImportance.Default for default notification channel
- 687e08b Reformat log message
- ae88772 Comment-out unused code
- b635ccb Display "IsDefault" in sample app
- e92ab6b Reformat log message + log missing default notification channel as warning
- 3789176 Extend log message
- 7b0c8fb Update release notes
- bd1f0a4 Bump version to 3.3
- 29fbbaf Refresh authorization status in sample app when app is resumed
- 25d8328 Update FAQ
- eff53f9 Merge pull request #122 from thomasgalliker/maintenance-20250512
- a1657b3 Update contributor section in readme
- 40fe066 Disable blank issue template
- c368b95 Update FUNDING.yml
- ce3bf9f Fix log target in sample app
- cff5c6c Update postman collection
- aa61d65 Refactor icon resource handling (Android)
- 488770d Refactor notification channel handling: Ensure there is always at least the default channel. Read the default channel ID either from AndroidManifest or from Constants.
- 0405436 Remove GetDefaultNotificationImportance method
- 7209498 Use in-memory queue as default
- aa8c84c Cleanup
- 3c1bd2a Bump version to 3.2
- 8fe1176 Remove obsolete parameter
- 09a6f5d Remove property set in interface's static Current property
- 4d3af19 Update readme
- 3647562 Update readme: More infos regarding developers.google.com/oauthplayground
- ba8a30a Update funding info
- 81862aa AssemblyInfo update: DisableTelemetry
- bcba8ec Merge pull request #87 from thomasgalliker/android-notification-channel-groups
- aec5cd3 Use LaunchMode SingleTask (instead of SingleInstance) in Android sample app
- 7e55680 Fix bug in PNFirebaseMessagingService which avoids displaying notification messages while the Android app runs in background
- 7c5a130 Add demo for DefaultNotificationImportance
- 3ea8f21 Increase efficiency in parsing
- e9ae45d Fix CA warning
- 029c22a Readd IsDefault property to NotificationChannelRequest + implement new notification channel handling with wrapper class around INotificationChannels.Channels
- 9d4bd6f Add unit tests for tokenformatter
- 1b4bdea Cleanup
- 7665657 Use reportgenerator 5
- e528df7 Call RegisterForRemoteNotifications on iOS also if RequestAuthorization returned 'denied' (to enable silent/background notifications)
- 9a8f591 Reformat code
- 52cec57 Use GetById method
- 9ef5c21 Cleanup
- 31cf4a9 Cleanup obsolete statements in csproj
- ca9a54d Merge remote-tracking branch 'origin/develop' into android-notification-channel-groups
- 6127b65 Simplify code
- dd0d3ca Improve alignment of information in notification channels list (sample app)
- 2bc8bbf Return if channelIds is empty
- fbef6a3 Improve readability of notification channels in sample app
- c2930d2 Move methods + add comments
- 347e2bd Fix tostring output
- a9b265b Add comments + cleanup
- 01b5e01 Merge pull request #102 from thomasgalliker/android-get-context-fix
- a914326 Update postman test messages
- ee3eb2e Merge remote-tracking branch 'origin/android-get-context-fix' into android-notification-channel-groups
- b18b3a6 Cleanup log messages
- 90fc89c Use application context instead of current activity to configure platform (Android)
- 5655eb2 Replace font in sample app (to avoid error on Android)
- 99c0d48 Merge pull request #99 from thomasgalliker/update-ios-firebase-sdk
- 155c235 Update nugets in sample app
- 224d29f Update nuget AdamE.Firebase.iOS.CloudMessaging to 11.6.0
- e37f2f9 Update mauiversion in sample app
- 7c2f1fd Format enums in channel viewmodel
- 07810fd Set AutoInitEnabled=true by default
- c35a2ae Fix bug in SetNotificationChannelGroups to delete existing groups
- 2a2e443 Fix bug in SetNotificationChannels so that no longer used channels are removed properly
- 3dc547b Fix wrong label text
- 8325e6b Update release notes
- ad9c1b8 Remove prop set in android/ios specific options
- 165a8f0 Add methods to open notification settings
- fad9792 Fix log messages
- fb12adb Extend log messages
- 6ce6c32 Restore platform-independent implementation of INotificationChannels to simplify dependency injection
- f72703b Disable sentry by default
- ac1a9e2 Internal refactoring of INotificationChannels implementation. Add API to manage notification channel groups in INotificationChannels.
- e86119c Merge remote-tracking branch 'origin/develop' into android-notification-channel-groups
- 3682303 Extend sample app to create/delete notification channel groups
- 126a14e Create and delete notification channel groups
- d01337b Add model for notification channel group and add sample data
- 3395a1c Initialize notification channels before firebase app is initialized
- 07f6383 Update PR template
- 076b231 Merge pull request #74 from thomasgalliker/update-firebase-ios-sdk
- 4b88a30 Update PR template
- d19eec6 Add pull request template
- 73d60a7 Hide divider line on android
- 14b890b Use latest assembly-info task
- 0cc8339 Extend rate limiter to throw exception if identifier is null
- 24757bb Return sdk version of firebase cloud messaging in IFirebasePushNotification
- 871dc0c Merge remote-tracking branch 'origin/develop' into update-firebase-ios-sdk
- 4629de3 Merge pull request #80 from thomasgalliker/foreground-handling-notification-actions
- 6ce79aa Harmonize notification action handling between Android and iOS: Don't show notification popup if priority is <=default and app is in foreground mode.
- c53aa9a Read aps.priority value from data payload on iOS
- 9bd92a7 Merge pull request #79 from thomasgalliker/gcm-notification-clickaction-fix
- f81ca5f Update release notes
- d04a78d Include gcm.notification.click_action in ShouldHandleNotificationReceived
- 8bc905d Read key gcm.notification.click_action as click_action
- 0d87edc Disable spell checking and text prediction in topic entry
- 6847b6f Add comment
- 3f3bcaf Merge pull request #76 from thomasgalliker/firebase-initialization-options
- cef88b1 Merge remote-tracking branch 'origin/update-firebase-ios-sdk-2' into update-firebase-ios-sdk
- 91b6128 Restore Android-specific nuget packages
- 97a297e Remove explicit version for net7.0-ios (Rider issue)
- 5e36d9f Merge pull request #77 from thomasgalliker/update-firebase-ios-sdk-2
- 327e0ec Update nugets Xamarin.Firebase.Messaging (Android) and AdamE.Firebase.iOS.CloudMessaging (iOS)
- d5bae1c Fix bug in CheckIfFirebaseAppInitialized method
- 177e586 Move method
- 78b83eb Harmonize platform configuration code between android and ios. Add more logging during app initialization.
- 9ca5a3c Add comment
- 9fd0925 Add iOS option to configure firebase programmatically
- e1dc4ec Add Android option to configure firebase programmatically
- e48a4be Update FAQ
- b200f97 Merge remote-tracking branch 'origin/develop' into update-firebase-ios-sdk
- a5b9f9f Merge branch 'develop' of https://github.com/thomasgalliker/Plugin.FirebasePushNotifications into develop
- 26c2fcd Merge pull request #73 from thomasgalliker/ios-presentationoptions
- c09057e Cleanup comments
- 3d261a0 Update nugets in sample app + test project
- fb1a068 Update release notes
- 257b00c Bump version to 3.0.x
- 203124d Replace Xamarin.Firebase.iOS.CloudMessaging with AdamE.Firebase.iOS.CloudMessaging
- 1a1fe0d Add sentry to MauiSampleApp
- 48f0d36 Fix unit tests
- af22445 Fix android build (sample app)
- 35d72ce Use PresentationOptions as default before priority is applied
- 279182f Extend sample app to configure PresentationOptions on iOS
- 89a9022 Update release notes
- fc319ae Fix build issue in sample app
- f6bb98b Add presentation options for iOS
- f48e168 Move const
- 3d017dc Merge pull request #72 from thomasgalliker/notification-delivered-twice-ios18
- 965158c Set WillPresentNotificationExpirationTime to 3 seconds (default)
- 7cab43d Make iOS 18 rate limit workaround configurable
- d726d26 Add rate limiter to omit duplicated notifications in WillPresentNotification
- 63586e7 Merge pull request #68 from thomasgalliker/move-static-props-from-android-firebasepush
- 190dd7b Share FCM token in sample app as text file (instead of plain text)
- a3e5805 Harmonize IPushNotificationHandler initializer code on both platforms
- f6bfd4f Use IFirebasePushNotifications.Current instead of CrossFirebasePushNotification.Current
- 8245729 Bump version to 2.5.x
- affb91e Remove DefaultNotificationActivityType (as there is no real purpose for this property)
- 8b3c024 Move static properties from Android's FIrebasePushNotificationManager to FirebasePushNotificationAndroidOptions
- 78897f6 Update build config to use PublishCodeCoverageResults@2
- 9de6411 Build for net8.0-ios16 and ios17
- 3d104e3 Remove scheduled monthly build
- f0896a9 CA1416 severity to info
- c305544 Update FAQ
- 2999629 Update mauiversion in sample app
- 532827c Update github templates
- 8313d6e Update FAQ with infos regarding the long path issue on Windows 11
- 2a84087 Merge pull request #59 from thomasgalliker/register-categories-nre
- c7dd8e2 Replace AndroidSupportedAbis with RuntimeIdentifiers
- f4f50bb Update maui version in sample app
- 524ed1b Merge branch 'develop' into register-categories-nre
- 1209953 Merge pull request #63 from thomasgalliker/android-foreground-priority-fix
- c49b617 Enforce the existence of a notification channel before calling NotificationCompat.Builder
- 82b28f0 Remove foreground check from Android NotificationBuilder
- 8731f91 Update icon
- 76bd52d Replace icon
- 2f2dc2a Update sample app icon + splash screen
- fbd0568 Set AllowMultiple=true for PreserveAttribute
- 5ba708c Replace pdn icon with svg
- 149a308 Update release notes
- dca91a6 Add singleton instance INotificationPermissions.Current
- 34b41ed Update logo
- c24d56e Move platform initialization code from FinishedLaunching/OnApplicationCreated to ctor of FirebasePushNotificationManager
- a01850e Use ctor of FirebasePushNotificationManagerBase to inject services instead of configuring them inside OnApplicationCreate (Android) and FinishedLaunching (iOS). IFirebasePushNotification.Current is now constructed via DI container.
- bab92d1 Merge pull request #53 from thomasgalliker/topic-unsubscribe-after-unregister
- 62f4e0a Update release notes
- c34bd2a Remove automatic unsubscription from topics if unregistered from push notifications
- 2b775b1 Merge pull request #51 from thomasgalliker/subscribe-topic-after-restart
- d891233 Update font family for better readability
- b29671a Update styles
- 1e6ba7f Move FAQ.md to docs
- 6254972 Remove obsolete iOS version check
- 1b73402 Add logging to RequestPermissionAsync method
- c8baae1 Reformat code
- 6efefb1 Don't store hasToken in a variable - instead, check if ApnsToken is not null
- f06d524 Extract GetParameters method as extension method
- f04f254 Fix readme
- a5ae4ba Fix whitespaces in url
- a0291a9 Fix readme
- 397132f Adjust readme
- 0bac86d Add FCM postman collection with sample messages
- 0e07bf4 Add intent action to open web urls (demo app)
- e47b9fe Remove obsolete code
- 4d731ff Bump version to 2.3.x
- 42bcd55 Improve splash screen, app icon and logo visibility in sample app
- 59e15e9 Merge pull request #30 from thomasgalliker/refactor-platform-specific-service
- 044cee0 Extend unit tests
- 4915395 Resolve notification action by notificationCategory.CategoryId and notificationAction.Id
- 417fcaf Use keyboard type "url" for topic entry
- b047cc9 Remove NotificationAction from NotificationOpened event + create separate event args class FirebasePushNotificationActionEventArgs
- dfccf7c Use anonymous type instead of Tuple for queuing topics
- 4b7f95b Display link to nuget package on MainPage
- 1103a63 Conditional MauiVersion
- e7cf73c Cleanup
- 7357613 Remove obsolete test method
- 8ff0108 Set MauiVersion to >=8.0.3
- b09cc2f Fix build
- b97caa7 Experiment with TestMethod
- 03bb867 Another attempt to preserve platform-specific methods
- 1fa39a2 Add Preserve attribute for IFirebasePushNotification interface (all members)
- aa46f74 Mark readonly
- 30806f4 Bump MauiVersion in sample app
- 50561b5 SetStyle for large icons
- a413626 Move sound uri method
- 12cda59 Refactor large icon handling in Android
- 6a5dcfd Log warning message if notification importance is higher than what the channel supports
- 7ce3153 Extract methods
- a5621a5 Read default notification color and notification icon from AndroidManifest (if configured)
- aad1696 Create default notification channel if options.Android.NotificationChannels is left empty
- 037987d Fix notification handling in Android: Show local notification vs. handle notification with default behavior
- 1bea48b Add logging
- 159384f Reformat code
- 8015f1d Reformat code
- 2e1cb84 Cleanup
This list of changes was auto generated.