mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-04-21 19:11:34 +08:00
* fix(messaging,ios): keep original UNUserNotificationCenter delegate Keeps a reference to any original UNUserNotificationCenter delegates that are set before we replace the delegate with out own implementation. Internally we will also call the original delegate if our code does not already handle the delegate call. This should keep compatibility with other RN modules that set the delegate. * v6.4.1-alpha.0 * Revert "v6.4.1-alpha.0" This reverts commit b355a86a * feat: automatically register with APNs * docs: typos * fix: forward delegate call to FIRAuth Fixes / supersedes #3425 * fix(messaging): add activity check to getInitialNotification (#3495) * fix(messaging): add activity check to getInitialNotification * fix(messaging): add activity check to getInitialNotification * Update .spellcheck.dict.txt Co-authored-by: Mike Diarmid <mike.diarmid@gmail.com> Co-authored-by: Elliot Hesp <elliot.hesp@gmail.com>
8.0 KiB
8.0 KiB
title, description, date
| title | description | date |
|---|---|---|
| v6.4.0 | Messaging focused release with features, bug fixes and documentation updates. | 2020-04-03 |
Features
iOS: added aPodfileoption to allow using React Native Firebase packages as static frameworks (#3253) (#530f8bb)- see Allow iOS Static Frameworks to learn more. This option will default to true in the next major release.
Messaging
- added support for
onNotificationOpenedApp&getInitialNotificationAPIs.- these can be used to detect if a user opened the app via pressing a notification. (
#d66a611)
- these can be used to detect if a user opened the app via pressing a notification. (
- the
RemoteMessageevent (e.g. viaonMessage) now includes a notification payload (if present). (#d66a611) setBackgroundMessageHandlernow supported on iOS. (#d66a611)- the iOS permissions API has been upgraded to now support custom permissions.
- the permission API selects sensible defaults, however; allows you to fully customize them if required.
- provisional permissions are now disabled by default (previously, it was enabled by default for iOS 12+ devices). (
#d66a611)
- the
requestPermission&hasPermissionAPIs now returns the current authorization status as an enum, rather than a boolean value.- see
AuthorizationStatusreference documentation for available enum members
- see
Bug Fixes
iOS: updatein-app-messagingdependency to latest package name in iOSInAppMessaging(#166692d)
Analytics
- logging event parameters can be objects and arrays (
#2876) (#eebfb04) - update
logEventtypes (#65ec7eb)
Authentication
user.metadata.lastSignInTime&user.metadata.creationTimenow correctly return an ISO date string (#2555) (#8adef65)
Dynamic Links
- switch
ShortLinkTypeinterface to an enum (#870d0a1) - fix links options not correctly applied in iOS (
#54bc6f8) - fix missing return statement causing bug in iOS (
#3315) (#1661f6e)
Firestore
- improve Firestore query validation;
wherefield parameter cannot matchorderByparameter (#6311dc8)- field path cannot be used with a
orderByparameter (#ea19622)
Functions
- correctly throw an
UNAVAILABLEerror code on network IO errors for Android to match iOS (#3310) (#7351147)
Messaging
onMessagenow works correctly fordata-only,notification-only&data-notificationmessages. Previously it only worked fordata-onlymessagessetBackgroundMessageHandlernow works when the app fully quit or backgrounded, fordata-only,notification-only&data-notificationmessages. Previously, when the app was fully quit, events were not being handled- for iOS this requires
content-availableto be set
- for iOS this requires
- add better handling for messages in cases where no user handler has been set
Android: ensure a default notification color is always present when user does not set oneiOS: callingregisterDeviceForRemoteMessages/registerForRemoteNotificationswas incorrectly causing permissions to be requested before explicitly requesting them via the messaging APIiOS: registering the device was not being called if it was already registered internally.- Devices should always register with
registerDeviceForRemoteMessages, as per Apple guidelines, irregardless of current registration status. - Make sure you always call
registerDeviceForRemoteMessagesduring your app initialization on iOS
- Devices should always register with
iOS: in cases where requesting an FCM with the defaultscope&authorizedEntity, the underlying code now uses the recommendedinstanceIDWithHandlervstokenWithAuthorizedEntity.- This fixes an issue where FCM would throw a
"The operation couldn’t be completed"error (#2657)
- This fixes an issue where FCM would throw a
iOS: direct FCM connection is now fixed.- When the app was in the foreground,
data-onlymessages were not coming through, they are now.
- When the app was in the foreground,
iOS: when running debug build, the APNs token will be registered with FCM as a"sandbox"key typeiOS: the original APNs swizzling we implemented was not functioning correctly withapplication:didReceiveRemoteNotification:fetchCompletionHandler:.- We added additional logic whereby this is executed in all scenarios (foreground/background/quit) and replaces a deprecated Apple API.
- This fixes issues with
data-onlymessages not being handled by the device
iOS: any customFIRMessagingDelegatemethods you add to yourAppDelegate.mwill now also be called internally by React Native Firebase messaging.
Storage
- fixed a bug that occurred when parsing encoded URLs (
#2753) (#8e99b9c) - storage tasks now correctly have a
snapshotproperty - to match the Web SDK putmethod now correctly returns a thenableTaskinstance instead of a promise (#ea19622)
Deprecations
Messaging
registerForRemoteNotificationshas been deprecated in favor ofregisterDeviceForRemoteMessages.- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. (
#d66a611)
- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. (
isRegisteredForRemoteNotificationshas been deprecated in favor ofisDeviceRegisteredForRemoteMessages.- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. (
#d66a611)
- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. (
unregisterForRemoteNotificationshas been deprecated in favor ofunregisterDeviceForRemoteMessages.- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. (
#d66a611)
- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. (