Releases: OneSignal/react-native-onesignal
3.2.6
react-native-onesignal Improvements and Bug Fixes
- Fixes an issue where the
onOpened
andonReceived
events could stop working in Android once the app was in the background/terminated (#583)
Android 3.10.1 Improvements and Fixes
- Fixes a thread synchronization bug that in some situations could cause the main thread to lock up while waiting for a network request to finish. #587
- Updated fix for error with
startWakefulService
on Oreo when sending high priority with remote urls. - Fixed NPE with flushBufferToDisk #513
- Fixed idsAvailable not being called a 2nd time when registrationId was null. PR #563
iOS 2.8.6 Improvements and Fixes
• Fixes an issue (#391) that would have caused rare crashes (EXC_BAD_ACCESS
) in our API client because it attempted to execute a completion block without ensuring it was non-nil, which it could be in rare circumstances.
• Fixes an issue that would occasionally cause the SDK to be unable to automatically retrieve the App Group name, which was used to enable communication between the Service Extension and the main app. The main side effect of this issue would have been inconsistent badge logic, where the SDK would not maintain a logically consistent badge count.
• Fixes other minor problems, such as a potential (but never reported) crash in setEmail()
, also fixed an issue where the method that downloads attachments such as images wasn't using a double pointer to set errors that may occur during the download (common pattern in ObjC).
3.2.5
React-Native-Onesignal Bug Fixes & Improvements
Fixes multiple issues that would have caused the SDK to be unable to initialize, especially when using react-native-navigation
• This was primarily caused by how Activity objects are initialized with react-native-navigation
. The OneSignal SDK was receiving a null activity.
- Updated the SDK to fallback to initialize using a context instead.
- This resolves #516 and #547, and likely caused further difficult to debug issues where devices would not get registered in OneSignal and crashes.
• Fixed an issue that, in very rare situations when getTags
is called rapidly multiple times, would have caused the SDK to crash since React Native only allows a callback to be called once
• Updates android API level to 26
3.2.4
react-native-onesignal Improvements and Bug Fixes
• Fixes an issue (#512) that caused the opened
event to stop working if the app uses native Objective-C RCTOneSignal initialization (which gets fired when a notification is tapped).
• Fixes a JSON parsing issue (#519) that caused Android to be unable to post notifications
• Adds OneSignal.h
from the native iOS SDK to Copy Headers
, which should resolve issues where the RCTOneSignal library cannot find OneSignal.h
(this has not been reported as an issue thus far however).
• Updates the Native SDK's to the most recent versions (iOS = 2.8.5 and Android = 3.9.1).
Android 3.9.1 Improvements and Fixes
• Fixed issue with latest Proguard causing FCM and Android Support library report as not found (Issue #533)
• FCM init error when the Firebase Auth library was added to the project. PR #530
• Fixed GoogleAPIClient not connected yet errors. Issue #509
• Android 7.0 Bad Notification: Couldn't expand RemoteViews for: StatusBarNotification
(Restore on app update disabled to fix issue #263 )
• NPE on flushBufferToDisk. Issue #513
iOS 2.8.5 Improvements and Fixes
• Fixes a rare concurrency issue with the SDK's HTTP client.
• This issue would have caused exceptions when GDPR consent was revoked, or in some wrapper SDK's, early in the app lifecycle before the app ID was provided.
3.2.3
3.2.2
3.2.1
3.2.0
Expo Support
• Changes the SDK so that running in Expo will no longer cause the SDK to crash. The SDK now checks to make sure that the native event emitter exists before attempting to use it.
• This means OneSignal will not crash in Expo - however - since Expo's dev app cannot load native code, any calls to OneSignal's SDK will simply be ignored until the project is detached from Expo.
GDPR Support
• Adds new methods for Android and iOS that allow developers to require user consent before the SDK is fully initialized.
• Developers can call OneSignal. setRequiresUserPrivacyConsent(true)
to require a user's consent before the SDK collects any information.
• Until this point, any calls to the SDK are ignored. Once OneSignal.provideUserConsent(true)
is called, the SDK will fully initialize. By default, this behavior is turned off.
JS Initialization
• The SDK can now be used completely by JavaScript, without having to touch any Objective-C or gradle files.
• Developers can call OneSignal.init(appId)
to initialize the SDK in JavaScript.
• The older native initialization methods are still present but deprecated.
• Simplifies the setup process, removes the need to modify Xcode build settings for copying header files.
Bug Fixes
• Fixes an issue that would have caused occasional crashes when calling postNotification()
, getPermissionSubscriptionState()
, and when various errors were returned. This issue was caused by unsafe JSON serialization.
Native Updates
Android SDK - 3.9.0
- Now supports FCM (Firebase Cloud Messaging) library
- This upgrade is automatic as long as you followed the OneSignal standard setup guide.
- After April 11, 2019 Google will drop the GCM from new versions their Play Services library
- GCM (Google Cloud Messaging) is still supported in the OneSignal SDK until then
- Issue #507
- Fixed NPE on
UserState.dependValues
. Issue #503
iOS SDK - 2.8.3
• The SDK will now work with media attachment URL's that don't end in file extension (ie. .jpg). If a URL is missing a file extension, it will instead use the MIME type of the asset.
• Resolves an incompatibility issue with the HelpShift iOS SDK
• Fixes an issue that caused incorrect "notification opened" events to be sent to OneSignal's backend server
3.1.4
3.1.3
• Updates to the latest version of the iOS SDK (Android SDK updates are automatically distributed via gradle)
• Adds a new badge handling system in iOS which uses the OneSignalNotificationServiceExtension to perform badge handling logic instead of relying on the backend server
• Removes podfiles from the demo project, which are no longer used to distribute the iOS SDK
• Updates the build.gradle file to a more recent target SDK version and gradle tools version
3.1.2
Updates to use the latest version of the iOS SDK, which includes various bug fixes and also adds a new setting (kOSSSettingsKeyPromptBeforeOpeningPushURL
) that controls what happens when a user taps a notification in iOS with a launchURL
, whether should pop up an alert asking if they want to open the URL or simply opens it immediately.