Skip to content

Releases: Notificare/notificare-sdk-ios

4.0.1

23 Dec 12:57
adce311
Compare
Choose a tag to compare
  • 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

02 Oct 19:22
bb402ce
Compare
Choose a tag to compare
  • Device identifiers become long-lived
  • launch(), unlaunch(), enableRemoteNotifications() and disableRemoteNotifications() 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. Use Notificare.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() and disableRemoteNotifications() 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:). Use notificare(_:didReceiveNotification:deliveryMechanism:) instead.
  • Removed deprecated notificare(_:didReceiveUnknownAction:for:responseText:) delegate method. Renamed to notificare(_:didOpenUnknownAction:for:responseText:).
  • Removed deprecated handleNotificationRequest() from push module. Include the NotificareNotificationServiceExtensionKit and use NotificareNotificationServiceExtension.handleNotificationRequest() instead.

4.0.0-beta.2

03 Sep 10:43
b72a005
Compare
Choose a tag to compare
4.0.0-beta.2 Pre-release
Pre-release
  • 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

26 Jul 14:10
dadbe41
Compare
Choose a tag to compare
4.0.0-beta.1 Pre-release
Pre-release
  • Device identifiers become long-lived
  • launch(), unlaunch(), enableRemoteNotifications() and disableRemoteNotifications() become async functions with a callback alternative
  • Add support for customisable hosts

Breaking changes

  • NotificareDevice.id attribute no longer contains the push token. Use Notificare.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() and disableRemoteNotifications() 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:). Use notificare(_:didReceiveNotification:deliveryMechanism:) instead.
  • Removed deprecated notificare(_:didReceiveUnknownAction:for:responseText:) delegate method. Renamed to notificare(_:didOpenUnknownAction:for:responseText:).
  • Removed deprecated handleNotificationRequest() from push module. Include the NotificareNotificationServiceExtensionKit and use NotificareNotificationServiceExtension.handleNotificationRequest() instead.

3.10.0

01 Jul 12:57
9d4a7bf
Compare
Choose a tag to compare
  • Add support for the URLResolver notification type
  • Fix anonymous device registration

3.9.1

17 Jun 09:03
e0f50a8
Compare
Choose a tag to compare
  • Preload images before showing in-app messages
  • Fix NotificarePass.type decoding

3.9.0

23 Apr 16:51
831b7df
Compare
Choose a tag to compare
  • Add support for deferred links
  • Add privacy manifests
  • Code sign XCFrameworks

3.8.0

07 Mar 12:02
631ec5a
Compare
Choose a tag to compare
  • 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

18 Jan 13:41
e4b3d5a
Compare
Choose a tag to compare
  • Prevent the device_registered event from invoking before the ready 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

09 Jan 15:08
40797ec
Compare
Choose a tag to compare
3.7.0-beta.1 Pre-release
Pre-release
  • Prevent the device_registered event from invoking before the ready 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()
    }
}