Releases: Notificare/notificare-sdk-ios
Releases · Notificare/notificare-sdk-ios
4.0.1
- Add documentation to public methods.
- Fix crash when executing the completion handlers in the implemented
UNUserNotificationCenter
after disabling the default Notificare implementation. - Remove User Inbox messages from the notification center when apropriate.
- Fix
refreshBadge()
calls error handling when auto badge is off. - Fix crash when sending photos using the camera notification action.
- Fix camera notification action behaviour when no camera permission is granted, opening the photo library.
4.0.0
- Device identifiers become long-lived
launch()
,unlaunch()
,enableRemoteNotifications()
anddisableRemoteNotifications()
become async functions with a callback alternative- Add support for customisable hosts
- Fix
NotificarePass.data
decoding - Add
Equatable
compliance to applicable data models - Allow
configure()
to be called more than once, provided Notificare is unlaunched.
Breaking changes
NotificareDevice.id
attribute no longer contains the push token. UseNotificare.shared.push().subscription
instead.- The
NotificareDevice
data model was reduced to only publicly relevant attributes. didRegisterDevice
only triggers once, when the device is created.launch()
,unlaunch()
,enableRemoteNotifications()
anddisableRemoteNotifications()
become suspending functions that complete after all the work is done.NotificareTransport
was moved to the push module.- Drops support for the monetize module.
- Removed deprecated
notificare(_:didReceiveNotification:)
. Usenotificare(_:didReceiveNotification:deliveryMechanism:)
instead. - Removed deprecated
notificare(_:didReceiveUnknownAction:for:responseText:)
delegate method. Renamed tonotificare(_:didOpenUnknownAction:for:responseText:)
. - Removed deprecated
handleNotificationRequest()
from push module. Include the NotificareNotificationServiceExtensionKit and useNotificareNotificationServiceExtension.handleNotificationRequest()
instead.
4.0.0-beta.2
- Fix
NotificarePass.data
decoding - Add
Equatable
compliance to applicable data models - Changed the
subscriptionId
properties to a more robust data model - Allow
configure()
to be called more than once, provided Notificare is unlaunched.
4.0.0-beta.1
- Device identifiers become long-lived
launch()
,unlaunch()
,enableRemoteNotifications()
anddisableRemoteNotifications()
become async functions with a callback alternative- Add support for customisable hosts
Breaking changes
NotificareDevice.id
attribute no longer contains the push token. UseNotificare.push().subscriptionId
instead.- The
NotificareDevice
data model was reduced to only publicly relevant attributes. didRegisterDevice
only triggers once, when the device is created.launch()
,unlaunch()
,enableRemoteNotifications()
anddisableRemoteNotifications()
become suspending functions that complete after all the work is done.NotificareTransport
was moved to the push module.- Drops support for the monetize module.
- Removed deprecated
notificare(_:didReceiveNotification:)
. Usenotificare(_:didReceiveNotification:deliveryMechanism:)
instead. - Removed deprecated
notificare(_:didReceiveUnknownAction:for:responseText:)
delegate method. Renamed tonotificare(_:didOpenUnknownAction:for:responseText:)
. - Removed deprecated
handleNotificationRequest()
from push module. Include the NotificareNotificationServiceExtensionKit and useNotificareNotificationServiceExtension.handleNotificationRequest()
instead.
3.10.0
3.9.1
3.9.0
3.8.0
- Prevent processing location updates too close to the last known location
- Fix race condition where geo triggers and region sessions were sent multiple times
- Limit the amount of location points and ranged beacons in geo sessions
- Improve polygon regions handling
- Improve notifications UI
3.7.0
- Prevent the
device_registered
event from invoking before theready
event - Automatically enable remote notifications during launch when possible
- Automatically enable location updates during launch when possible
- Drop support for iOS 12.0
Important notice: Re-enabling remote notifications and location services is no longer required.
You can safely remove the following piece of code as the SDK will automatically handle it for you during the launch flow.
func notificare(_ notificare: Notificare, onReady application: NotificareApplication) {
// This check is no longer necessary.
if Notificare.shared.push().hasRemoteNotificationsEnabled {
Notificare.shared.push().enableRemoteNotifications { _ in }
}
// This check is no longer necessary.
if Notificare.shared.geo().hasLocationServicesEnabled {
Notificare.shared.geo().enableLocationUpdates()
}
}
3.7.0-beta.1
- Prevent the
device_registered
event from invoking before theready
event - Automatically enable remote notifications during launch when possible
- Automatically enable location updates during launch when possible
- Drop support for iOS 12.0
Important notice: Re-enabling remote notifications and location services is no longer required.
You can safely remove the following piece of code as the SDK will automatically handle it for you during the launch flow.
func notificare(_ notificare: Notificare, onReady application: NotificareApplication) {
// This check is no longer necessary.
if Notificare.shared.push().hasRemoteNotificationsEnabled {
Notificare.shared.push().enableRemoteNotifications { _ in }
}
// This check is no longer necessary.
if Notificare.shared.geo().hasLocationServicesEnabled {
Notificare.shared.geo().enableLocationUpdates()
}
}