Netmera Developer Guide
Ask or search…
Comment on page

Android SDK Versions

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.


  • Resolved the HMS location problem.


  • Updated the HMS library.
implementation 'com.netmera:nmcore:3.11.1'
implementation 'com.netmera:nmfcm:3.10.2'
implementation 'com.netmera:nmhms:3.11.0'


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


  • 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() {
public void onSuccess() {
Log.i("Netmera App", "Netmera User was updated successfully");
Toast.makeText(UpdateUserActivity.this, "NetmeraUser was successfully updated.", Toast.LENGTH_SHORT).show();
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();


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.


The Android SDK nmcore version 3.10.4 is now live.


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


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



  • Added slt parameter to request containing each ids block
  • The widget callback has been improved and can be used as in this page.


Note: For this version, you need to use version 21.0.1 of the package.


  • package upgraded to version 21.0.1


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



  • Target API level was upgraded to 33.


  • Play core library conflict was fixed.



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


  • Fixed in-app message callback bug in debug mode.
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.
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.



  • Email Preference - We have introduced a new method to manage email permissions more efficiently.
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.



  • Listing the pushes in the notification center can now be done according to the piid (push instance id) value.
// =>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


  • Resolved the issue where the onPushOpen callback was not working when the button click action was set to "nothing".
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.



  • The push token crash issue has been resolved.


The version numbers are as follows:
nmcore - 3.9.15
nmfcm - 3.9.5
nmhms - 3.9.6


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


  • 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. 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. 2.
    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. 3.
    In the "What" step, select the button set you added to the panel.