Assets 2

• This update adds new methods (setExternalUserId(string) and removeExternalUserId) allowing you to target push notifications using your own custom user ID's instead of having to store OneSignal player ID's.
• Small update that includes a fix for an issue that would have caused rare crashes, due to invalid HTTP request bodies being serialized into JSON

@Nightsd01 Nightsd01 released this Oct 29, 2018 · 3 commits to master since this release

Assets 2

• Fixes an issue with provisional notifications (no git issue) where a user would receive a provisional notification, tap 'Keep', and then tap 'Deliver Prominently', which should cause notifications to be delivered like normal: however in previous releases notifications would have no sound/alert/badge until the app was next restarted.
• Fixes some DSYMUtil warnings developers would see in regards to our framework including debugging information.

@Nightsd01 Nightsd01 released this Oct 18, 2018 · 6 commits to master since this release

Assets 2

• This release fixes an iOS 12 issue where enabling "Deliver Quietly" and then opening the app would cause notifications to stop being delivered entirely.

@Nightsd01 Nightsd01 released this Oct 9, 2018 · 10 commits to master since this release

Assets 2

• This is a minor release that adds bitcode support for our dynamic framework.

@Nightsd01 Nightsd01 released this Oct 2, 2018 · 12 commits to master since this release

Assets 2

Introduces support for new iOS 12 features. To learn more about how iOS 12 changes push notifications, please read our blog post on the subject.

Provisional/Direct To History Notifications

• Provisional notifications are a new way to message users without requesting their permission to send push notifications. Unlike traditional notifications, a provisional notification is sent directly to the Notification Center and does not alert/disturb the user directly.
• To use Provisional notifications, set kOSSettingsKeyAutoPrompt to false in your initialization settings. Then, navigate to and in your iOS platform settings, enable Direct To History notifications. From now on, all users that open your app will be able to receive provisional notifications unless they explicitly disable notifications for your app

Manage App Notification Settings

• iOS 12 introduces support to let your app provide a deep link to manage settings from within your app.
• To enable this, please set our init setting kOSSettingsKeyProvidesAppNotificationSettings to true. You also need to implement a UNUserNotificationCenterDelegate method to present your custom Notification Settings UI.

Thread-ID Support

• iOS 12 also introduces Notification Grouping which allows you to group related notifications together. To do this, set the thread-id parameter in your push notifications. iOS will automatically group notifications with the same thread-id together.

Bug Fixes & Improvements

• Fixes an issue with Xcode 10 that caused crashes to the IBDesignables agent and made users unable to use IBDesignable views in storyboards/xibs
• Adds a new reachable parameter to the OSPermissionState. This new parameter indicates if the user is reachable and can receive notifications, and will be true if they've (A) accepted notification permission or (B) are registered to receive provisional/direct-to-history notifications.

@Nightsd01 Nightsd01 released this Sep 26, 2018 · 17 commits to master since this release

Assets 2

• This release fixes an issue where the SDK was not properly handling HTTP request re-attempts. This would have resulted in an issue where calling sendTags() (for example) while a user had no network connection would, after 60 seconds, result in the onSuccess callback being executed.

• Removes some unnecessary log statements and other minor cleanup of the SDK

• Includes a fix for a merge mistake in the previous release that reverted a few minor/rare bugs.

@Nightsd01 Nightsd01 released this Sep 11, 2018 · 24 commits to master since this release

Assets 2

• This release fixes an issue (#410) where users that add buttons/functionality to a notification by directly using UNNotificationCategory instead of using our API would cause a crash

• Fixes a thread synchronization issue that would have deadlocked the main thread in very rare situations on initialization (#409)

• Fixes an issue where improperly formatted button JSON (from the create notification API) would cause the SDK to insert nil objects into an NSDictionary instance, causing an EXC_BAD_ACCESS (#409)

• Adds an additional dynamic framework/cocoapod for developers who previously encountered 'transitive dependency' errors using our SDK indirectly as a dependency of another cocoapod in Swift projects

@Nightsd01 Nightsd01 released this Aug 26, 2018 · 29 commits to master since this release

Assets 2

• Fixes a bug that only effected wrapper SDK's, such Cordova and React-Native, where calling setLocationShared(false) could still result in location data being sent to OneSignal if the app had location permission in iOS (Cordova SDK issue #406
• Fixes a bug that caused devices to never register with OneSignal if APNS did not respond with a token or failure.

@Nightsd01 Nightsd01 released this Aug 7, 2018 · 33 commits to master since this release

Assets 2

• 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).

@Nightsd01 Nightsd01 released this May 18, 2018 · 38 commits to master since this release

Assets 2

• 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.