Former iOS SDK Versions

v.3.24.2

December 5, 2024

FEATURE

New Method Added: Introduced the Netmera.checkNotificationPermission() method to retrieve the current notification permission status for the user:

  • NOT_DETERMINED: User has not responded to the notification permission request during the initial setup.

  • GRANTED: User has allowed notifications.

  • DENIED: User has denied notifications.

v.3.24.1

November 7, 2024

🛠️ BUGFIX

  • Custom Button Name Fix:

Resolved an issue where the custom button name was not updating on certain devices for the "Custom Button Name" feature.

Custom Button Name Documentation

v.3.24.0

November 7, 2024

FEATURE

  • Defining Live Activity Events:

Added support for defining Live Activity events, enabling customers to trigger live activity events.

Live Activity Documentation

v.3.23.16

October 17, 2024

IMPROVEMENT

  • Enhanced Network Handling:

We have improved the management of network-related errors, preventing requests from entering a loop. This enhancement ensures greater stability and more reliable network performance in your applications.

v.3.23.15

October 16, 2024

FEATURE

  • SSL Pinning Support:

Added support for SSL Pinning, allowing developers to enable SSL pinning when needed. This feature enhances the security of your application by ensuring trusted communication channels.

SSL Pinning for iOS 14 and Above

To enhance the security of your iOS application, SSL pinning is recommended, particularly for devices running iOS 14 and above. Here’s a step-by-step guide:

1. Store Certificates Within the Application

SSL pinning involves storing a specific certificate or a certificate chain within the app bundle. You need to add this certificate to the application bundle to authenticate communication between your app and the server.

  • Steps to Add the Certificate:

    1. Download the certificate in .cer format.

    2. In Xcode, right-click on your project name in the Project Navigator.

    3. Select "Add Files to [project name]" and choose the downloaded .cer file.

2. Configure Network Security Settings

To optimize security and performance on iOS 14 and above, apply the following configurations in your app:

App Transport Security (ATS):

  • Apple’s ATS feature requires apps to communicate securely over HTTPS, providing an added layer of security when used with SSL pinning.

  • Configure ATS in your app’s Info.plist file as follows to ensure strict security compliance:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
</dict>

This setting ensures that all communications conform to HTTPS standards, making SSL pinning more robust.

SSL Pinning for iOS 13 and Earlier

For devices running iOS 13 and earlier, follow these steps:

  • Add the netmera.com.cer file to your project’s target.

  • No additional configuration is required for these versions.

This ensures compatibility across various iOS versions while maintaining security standards for iOS 14 and above.

Important Note on File Name:

  1. The certificate file must be named netmera.com.cer.

  2. Do not rename the file, as the application relies on the exact file name for proper functionality.

v.3.23.14

October 16, 2024

🛠️ BUGFIX

  • Push Click Action Cache Issue:

Resolved a cache-related issue that affected the behavior of push click actions, ensuring consistent functionality and improved performance.

v.3.23.13

September 17, 2024

IMPROVEMENT

  • The log event feature has been removed to streamline the SDK and improve overall performance.

v.3.23.5

March 29, 2024

⭐ FEATURE

  • Netmera.kill() Method

A new feature has been added: the Netmera.kill() method. If this method is called, Netmera will remain in a "kill" state until it is re-initialized.

v.3.23.4

March 19, 2024

IMPROVEMENT

  • Resend of push/enable and push/register requests in case of API key change.

v.3.23.3

March 6, 2024

IMPROVEMENTS

  • Implemented cache reset functionality when the API key is changed.

v.3.23.1

January 11, 2024

🛠️ BUGFIX

  • Resolved a crash issue related to callbacks.

This update in iOS version 3.23.1 (11.01.24) addresses a bug causing crashes associated with callbacks and provides a fix for a more stable experience.

v.3.22.0

December 20, 2023

IMPROVEMENTS

  • Added 'appmanage' for widget deeplink action.

When creating a widget and assigning an action to a button, selecting 'manage app' will allow developers to handle the action within the handleOpenUrl method, enabling the SDK to notify you. Additionally, detailed visuals can be seamlessly integrated.

  • Added appversion and build version to request header.

🛠️ BUGFIX

  • Resolved an issue causing crashes during user updates.

  • Addressed and fixed issues related to the removal of operator code.

  • The issue of app version information not reflecting has been resolved.

v.3.21.0

November 30, 2023

🛠️ BUGFIX

  • Fixed an issue where errors were encountered when returning information about screens added to the auto-tracking whitelist.

IMPROVEMENTS

  • Introduced user callback for enhanced functionality.

  • Added dSYM to XCFramework for improved development and debugging.

UpdateUser Details
Netmera.update(user) { success, error in
              if success {
                  print("success")
              } else {
                  print("error")
              }
            }

v.3.20.0

November 14, 2023

Note: This is a beta version. Do not update without contacting Netmera.

IMPROVEMENTS

  • Integration of the new auto-tracking structure.

v.3.19.0

November 13, 2023

FEATURE

  • Users can now send push notifications with different icons for various scenarios. Visit iOS Push Icon page for further details.

v.3.18.0

October 31, 2023

  • In iOS SDK version 3.18.0, an enhancement has been made to the fetchCoupon feature.

If you want to retrieve assigned coupons for a user, you can use the fetchCoupon() method. Here's a Swift code example:

filter = NetmeraCouponFilter()
filter.page = 0
filter.max = 12

Netmera.fetchCoupon(using: filter) { coupons, error in
    self.coupons = coupons ?? []
    self.tableView.reloadData()
}

This code allows you to fetch assigned coupons for a user and update the table view with the retrieved data.

v.3.16.0

IMPROVEMENTS

  • User Method Simplified

  • Email Preferences Added

v.3.15.1

🛠️ BUGFIX

  • Scenario: When an event is triggered offline, the events are written to the queue. When the user is back online, the accumulated events in the queue are logged in sdk.log.

    It was noticed that the events in offline event delivery were not coming after the A/B feature (3.14.13). This issue has been resolved in this version.

v.3.15.2

IMPROVEMENTS

  • SwiftUI Support

Details

Problem: None of the original application lifecycle methods in SwiftUI are being triggered.

SwiftUI is a framework introduced by Apple in 2019, which allows developers to create applications with a single design that can be used across devices such as iPhone, iPad, and Mac.

The issue has been investigated and development has been carried out to address the problem in both SwiftUI and traditional application frameworks, ensuring compatibility for all types of applications.

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
{
[//Netmera.recentPushObject](<https://netmera.recentpushobject/>)()?.alert.body                  //Push Text
[//Netmera.recentPushObject](<https://netmera.recentpushobject/>)()?.alert.title                 //Push Title
[//Netmera.recentPushObject](<https://netmera.recentpushobject/>)()?.action.deeplinkURL          //Push Deeplink
[//Netmera.recentPushObject](<https://netmera.recentpushobject/>)()?.customDictionary            //Custom JSON
}

Last updated