Android SDK Versions

All Android SDK specifications, parameters, and methods are documented in the following file.

v.3.13.1

March 25, 2024

IMPROVEMENTS

  • Behavior Manager Removal

The Behavior Manager has been removed from the project. This change is part of our broader initiative to improve SDK efficiency and ensure smoother operation within your applications.

To integrate the latest version of the Netmera SDK into your project, please update your dependencies as follows:

implementation 'com.netmera:nmcore:3.13.1'
implementation 'com.netmera:nmfcm:3.12.0'
implementation 'com.netmera:nmhms:3.11.0'

v.3.13.0

March 7, 2024

IMPROVEMENTS

  • Background Location Widget

Improved the background location widget for improved functionality and performance.

To integrate the latest version, update your dependencies as follows:

implementation 'com.netmera:nmcore:3.13.0'
implementation 'com.netmera:nmfcm:3.12.0'
implementation 'com.netmera:nmhms:3.11.0'

v.3.12.1

February 26, 2024

To integrate the latest versions, update your dependencies as follows:

implementation 'com.netmera:nmcore:3.12.1'
implementation 'com.netmera:nmfcm:3.12.0'
implementation 'com.netmera:nmhms:3.11.0'

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.

This update in Android Core version 3.12.1 introduces a new feature, Netmera.kill(), which allows for the SDK to enter a "kill" state until re-initialized, providing more control over Netmera's behavior.

v.3.12.0

January 25, 2024

Ensure to update your dependencies with the following changes:

implementation 'com.netmera:nmcore:3.12.0'
implementation 'com.netmera:nmfcm:3.12.0'
implementation 'com.netmera:nmhms:3.11.0'

IMPROVEMENTS

NMCore:

  • Enhanced security by enforcing TLS version 1.2 and above

Note: This results in an increased minimum Android version to 21 (Android 5.0).

  • Strengthened security measures by removing the MD5 encryption algorithm, replacing it with a more secure system that generates a random byte array on each client.

  • Introduced a default icon to the SDK to address situations where NotificationManager encounters difficulties locating the app icon.

NMFcm:

  • Upgraded Firebase Messaging version to 23.1.2 to support FCM HTTP v1.

Important Note about Migrating from legacy FCM APIs to HTTP v1:

Android SDK version 3.12.0 requires a minimum Firebase Messaging library version of 20.3.0 for FCM HTTP v1. Users with their own Firebase integration should ensure a minimum version of 20.3.0. The recommended version is 23.1.2 and above. However, if users prefer to stay on a lower version, they must use a minimum of version 20.3.0, as FCM enforces this requirement after June. For detailed information, refer to Firebase Cloud Messaging - Migrate to FCM HTTP v1.

Important Note: Android SDK version 3.12.0 raises the minimum supported Android version to 21 (Android 5.0).

v.3.11.5

January 15, 2024

To integrate the latest version, update your dependencies as follows:

implementation 'com.netmera:nmcore:3.11.5'
implementation 'com.netmera:nmfcm:3.11.0'
implementation 'com.netmera:nmhms:3.11.0'

Android Core version 3.11.5 brings improvements to the SDK initialization time and fixes an issue related to initialization problems during Android startup in a closed state.

IMPROVEMENT

  • The SDK initialization time has been improved by updating the initialization mechanism.

🛠 BUGFIX

  • Addressed and fixed the initialization problem occurring when Android startup is in a closed state.

v.3.11.4

January 9, 2024

To integrate the latest versions, update your dependencies as follows:

implementation 'com.netmera:nmcore:3.11.4'
implementation 'com.netmera:nmfcm:3.11.0'
implementation 'com.netmera:nmhms:3.11.0'

🛠 BUGFIX

  • In the user update callback, the response was sometimes returned as null. This has been addressed, and error responses will now provide more detailed information.

v.3.11.3

December 11, 2023

To integrate the latest version, update your dependencies as follows:

implementation 'com.netmera:nmcore:3.11.3'
implementation 'com.netmera:nmfcm:3.11.0'
implementation 'com.netmera:nmhms:3.11.0'

IMPROVEMENT

  • App version name and app version code are now included in request headers.

  • Full names of classes are sent for Auto Tracking instead of simple names.

  • onSuccess and onFailure callbacks are added to the Init method. Example usage:

Netmera.init(configBuilder.build(this), new NMInitSessionListener() {
    @Override
    public void onSuccess() {
        Log.i("NetmeraApp", "Session init completed");
    }

    @Override
    public void onFailure(String error) {
        Log.e("NetmeraApp", "Error occurred when trying to init session with Netmera. Error::"+error );
    }
});

🛠 BUGFIX

  • Developed a fix for the User Update issue, specifically addressing a problem that occurred after syncing user updates.

v.3.11.2

December 5, 2023

To integrate the latest versions, update your dependencies as follows:

implementation 'com.netmera:nmcore:3.11.2'
implementation 'com.netmera:nmfcm:3.11.0'
implementation 'com.netmera:nmhms:3.11.0'

Core Updates (3.11.2)

IMPROVEMENT

  • Added the onDeeplinkOpen callback.

🛠 BUGFIX

  • Fixed an issue related to sending multiple push/register requests.

  • Prepared a fix for the constraint layout problem.

FCM Updates (3.11.0)

🛠 BUGFIX

  • Prepared a fix for the autostart problem.

nm hms v.3.11.0

Android HMS Package Update

HMS Location Service Fix: The fix for the HMS location service issue has been introduced with com.netmera.nmhms:3.11.0. In previous SDK versions where a lower version of nmhms was used, errors related to Huawei location libraries may occur.

🛠 BUGFIX

  • Resolved the HMS location problem.

IMPROVEMENT

  • Updated the HMS library.

Usage:

 implementation 'com.netmera:nmcore:3.11.1'
 implementation 'com.netmera:nmfcm:3.10.2'
 implementation 'com.netmera:nmhms:3.11.0'

v.3.11.1

November 22, 2023

To update to the latest version, set the following dependencies:

com.netmera:nmcore:3.11.1
com.netmera:nmfcm:3.10.2
com.netmera:nmhms:3.10.1

IMPROVEMENTS

  • Enhanced the User Update method with onSuccess and onFailure callbacks.

  • Made adjustments to the web view.

User Update Method Details

You can continue using the existing method, and with version 3.11.1, you now have the option to listen for results by adding a listener.

Example Usage:

Netmera.updateUser(netmeraUser, new NMUpdateUserListener() {
            @Override
            public void onSuccess() {
                Log.i("Netmera App", "Netmera User was updated successfully");
                Toast.makeText(UpdateUserActivity.this, "NetmeraUser was successfully updated.", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onFailure(@Nullable String error) {
                Log.i("Netmera App", "Netmera User couldn't be updated successfully :: " + error);
                Toast.makeText(UpdateUserActivity.this, "Netmera User couldn't be updated successfully :: \"+ error", Toast.LENGTH_LONG).show();
            }
        });

v.3.11.0

October 31, 2023

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

Android Netmera Core version 3.11.0 has been released with the following changes:

  • Integration of the new auto-tracking structure.

v.3.10.4

October 26, 2023

The Android SDK nmcore version 3.10.4 is now live.

FEATURE

  • An enhancement for coupon code fetch requests, fetchCoupons, has been added.

🛠 BUGFIX

  • The issue where the slt parameter was not updated when performing a user update with an existing user in the panel has been resolved.

  • A fix has been added to address the baseUrl crash problem.

v.3.10.3

IMPROVEMENTS

  • Added slt parameter to request containing each ids block

  • The widget callback has been improved and can be used as in this page.

v.3.10.2

Note: For this version, you need to use version 21.0.1 of the com.google.android.gms:play-services-location package.

IMPROVEMENTS

  • com.google.android.gms:play-services-location package upgraded to version 21.0.1

🛠 BUGFIX

  • Fixed the bug that caused the change to not appear in the Netmera dashboard when location permission was changed from the settings.

v.3.10.1

IMPROVEMENTS

  • Target API level was upgraded to 33.

🛠 BUGFIX

  • Play core library conflict was fixed.

v.3.10.0

IMPROVEMENTS

  • Moved user identity and update operations to the backend for better efficiency.

v.3.9.19

  • Fixed in-app message callback bug in debug mode.

Details

We have fixed a bug related to in-app message callbacks. Previously, in debug mode, the "onInAppMessageShown" and "onInAppMessageOpen" functions were not triggered in the NMInAppMessageActionCallbacks class during banner push tests. With this update, the callbacks will now work as expected, ensuring a seamless user experience with in-app messages.

  • Resolved application launch issue with push notifications in kill state.

Details

In the previous version (3.9.18), there was an issue where the application did not launch when a push notification was clicked while the application was in the kill state. We are happy to announce that this problem has been resolved, and now the application will start correctly when a push notification is clicked, regardless of its state.

v.3.9.18

IMPROVEMENTS

  • Email Preference - We have introduced a new method to manage email permissions more efficiently.

Details

We have introduced a new method to manage email permissions more efficiently. With the following method, you can easily control email permissions for your users:

public codepublic static void setEmailPermission(boolean isAllowed);

By calling Netmera.setEmailPermission(false), you can remove email permission for your users on your side. On the other hand, calling Netmera.setEmailPermission(true) allows you to grant permission for emails.

v.3.9.17

IMPROVEMENTS

  • Listing the pushes in the notification center can now be done according to the piid (push instance id) value.

Details

.usePushInstanceId(true);

// =>If you want pushes to be listed by piid(push instance id) in notification center, set the above method to true. The default value is pid(push id).

Problem: Currently, pushes are listed in the device's notification center based on the pid (push id) value. In the case of transactional pushes with the same pid value, modifying the content and sending the same transactional push would only display the most recent push in the notification center. Previous pushes were overwritten.

A development has been made to allow developers to list pushes according to the piid when desired.

Example usage: Line 20

🛠 BUGFIX

  • Resolved the issue where the onPushOpen callback was not working when the button click action was set to "nothing".

Details

When a button was set in a push notification with the button click action set to "nothing," expecting no action to be taken by the SDK, to receive the payload from the callback and perform their own action. However, the callbacks were not working. This issue has been fixed.

v.3.9.16

⚒️BUGFIX

  • The push token crash issue has been resolved.

Crashes

v.3.9.15

The version numbers are as follows:

nmcore - 3.9.15

nmfcm - 3.9.5

nmhms - 3.9.6

⚒️BUGFIX

  • The issue of the slider and carousel images not being accessible in push notifications, resulting in the notifications not being displayed, has been resolved.

  • The problem of email and msisdn being sent as null in the user update request, causing them to be deleted from the panel, has been fixed.

v.3.9.13

⚒️ BUGFIX

  • The solution to the mail crash issues has been implemented.

  • The problem of the application coming to the foreground despite the actions of push click and push button click being set to "nothing" has been resolved.

Push Click Details

You can add buttons to push notifications.

  1. In the panel, go to Setting > Button Set page. After defining a new button set using Create New Button Set, click on Publish to Devices button. Then the button set will be available for use.

  1. When creating a new push notification in Messages > Campaign page, in the Setup step, select Add Button (Interactive) to use the button set you defined.

  1. In the "What" step, select the button set you added to the panel.

Last updated