Skip to content

What's New in the Unity Plugin Version🔗

v6.19.0 Release (2025-01-17)🔗

Native SDK versions: Android 6.19.0, iOS 6.19.0

In this version:

MRGService module:

  • Improved SDK performance in Vietnam.
  • [android] Added logs for MRGSTracker#trackEvent(String name, Map params) parameters.
  • Fixed 'NotNullAttribute' is inaccessible error

Advertising module:

  • Improved ad loading for URLs that do not contain a file extension

Appsflyer module:

  • [android] Fixed an issue where an incorrect payment amount could be sent to AppsFlyer for Huawei payments.

Authentication module:

  • [android] Fixed an issue where java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern for MyGames authorization.
  • Fixed a bug due to which MyGames authorization did not work with GDK from UPM.

Billing-catappult module:

  • [android] Added support for Catappult.

Bank module:

  • [android] Fixed possible loss of deviceId in http requests for payment validation.
  • Fixed incorrect value of PriceMicros field for products in WebGL (if price is more than 2147)

Ironsource-Adapter module:

  • Updated Apptimism SDK (Android 0.0.9, iOS 0.0.6)

Notifications module:

  • [android] Fixed crash when clicking on notification if developerPayload contains extra quotes

Read more about the new features and how to use them in the documentation.


v6.18.0 Release (2024-11-15)🔗

Native SDK versions: Android 6.18.0, iOS 6.18.0

In this version:

MRGService module:

  • [android] Added new MRGSProductInfo class to send new format product information
  • [android] Updated androidx.core:core:1.9.0 to androidx.core:core-ktx:1.13.1
  • [android] Updated com.google.android.gms:play-services-ads-identifier from 18.0.1 to 18.1.0.
  • [android] Updated com.google.android.gms:play-services-appset from 16.0.2 to 16.1.0.
  • [android] Updated androidx.appcompat:appcompat from 1.6.1 to 1.7.0
  • [android] Updated kotlin from 1.8.22 to 1.9.23
  • [android] Improved thread queue, fixed Thread pool blocking queue is full error
  • Fixed warning about empty parameters when sending events to MRGSTracker
  • [ios] Fixed logger, now console messages will not be truncated to 1024 characters

Authentication module:

  • Added support for MyGames authorization for Microsoft Store via deeplink GDK SDK.
  • [android] Added the ability to open another browser with CustomTabs if the default browser does not support CustomTabs. If the device does not have a browser with CustomTabs, then the regular browser will be opened.
  • [android] Removed dependency androidx.localbroadcastmanager:localbroadcastmanager.
  • [android] Updated com.google.android.gms:play-services-games-v2 from 20.1.0 to 20.1.2

Advertising module:

  • [android] Removed dependency androidx.localbroadcastmanager:localbroadcastmanager.
  • [android] Updated androidx.recyclerview:recyclerview from 1.2.1 to 1.3.2.
  • [android] Updated androidx.vectordrawable:vectordrawable from 1.1.0 to 1.2.0
  • [android] Fixed getting video file name from creative_video_file value in MRGSAdvertisingCampaign.

Bank module:

  • Added support for Microsoft Store payments via "GDK SDK".
  • [ios] Added new functions for opening a new system window with an interface for selecting and purchasing subscriptions. The window can be opened by passing groupId to show a group of subscriptions or passing an array of product ids that need to be shown.
  • [android] Updated com.android.billingclient:billing from 6.0.1 to 7.1.1.
  • [android] Updated com.facebook.android:facebook-gamingservices from 16.0.1 to 17.0.2

GDPR module:

  • [android] Updated com.bigossp:bigo-ads from 4.7.0 to 5.0.2.
  • [android] Updated com.moloco.sdk.adapters:moloco:2.1.1.0 to com.moloco.sdk:moloco-sdk:3.2.0
  • [android] Updated com.tappx.sdk.android:tappx-sdk from 4.0.6 to 4.1.6
  • [android] Updated com.unity3d.ads:unity-ads from 4.4.1 to 4.12.3
  • [android] Updated com.tapjoy:tapjoy-android-sdk from 12.11.0 to 14.1.0
  • [android] Updated com.my.target:mytarget-sdk from 5.16.2 to 5.22.1
  • [android] Updated com.vungle:publisher-sdk-android:6.12.0 to com.vungle:vungle-ads:7.4.1
  • [android] Updated com.fyber:fairbid-sdk from 3.33.1 to 3.55.0
  • [android] Updated com.facebook.android:facebook-core from 15.1.0 to 17.0.2
  • [android] Updated com.chartboost:chartboost-sdk from 9.1.1 to 9.7.0
  • [android] Updated com.applovin:applovin-sdk from 11.6.0 to 13.0.0
  • [android] Fixed Activity leak in CCPA.

Ironsource-Adapter module:

  • Updated Apptimism SDK (Android 0.0.8, iOS 0.0.5)
  • [ios] Added new SKAD identifiers of ad networks for Apptimism

Notifications module:

  • [android] Updated com.google.firebase:firebase-messaging from 24.0.0 to 24.0.3.
  • [android] Added intent filters for broadcast receivers.

Recommendations module:

  • Added new event type for Recsys - geo pricing.

Showcase module:

  • [android] Removed dependency androidx.localbroadcastmanager:localbroadcastmanager.
  • [android] Updated androidx.browser:browser from 1.5.0 to 1.8.0.
  • [android] Updated androidx.recyclerview:recyclerview from 1.2.1 to 1.3.2.

Read more about the new features and how to use them in the documentation.


v6.17.4 Release (2024-10-25)🔗

Native SDK versions: Android 6.17.4, iOS 6.17.3

In this version:

MRGService module:

  • Improved server time retrieval for Standalone, Console, and WebGL platforms. Now the behavior will be similar to the behavior of mobile platforms.
  • [android] Fixed a bug where MRGSMetrics events were lost if the events were added before MRGService initialization and it was the very first launch of the application (however, on subsequent launches of the application the events were not lost)
  • [android] Fixed reset of the total time spent in the game (allSession) counter when changing the day during the game
  • Fixed sending payment data to AppsFlyer when using manual transfer of payment data

Bank module:

  • Now MRGSBankEditor#RestorePurchases will only return the last purchased items for NonCons and Subs, as well as failed Cons from the cache (RAM) for UnityEditor.

Advertising module:

  • [android] Fixed some ANR errors
  • [ios] Fixed an error displaying ads if a URL with parameters was received from the server

Didomi module:

  • [android] Fixed ANR errors

GDPR module:

  • [android] Updated CCPA Mintegral dependencies

Notifications module:

  • [android] Added null data check in PostPermissionActivity.

Support module:

  • Fixed a bug where 'callbacks' were not called if MRGSMyGamesSupport#CancelAccountDeletionRequest method was called multiple times with the same ticketId.

Read more about the new features and how to use them in the documentation.


v6.17.3 Release (2024-10-05)🔗

Native SDK versions: Android 6.17.3, iOS 6.17.2

In this version:

MRGService module:

  • [ios] Minimum XCode version required for building has been increased to 15.2
  • [ios] Added collection of information about the XCode version used to build the application
  • [android] Added collection of GAID, ASID, OA ID, ODID and Amazon advertising id and sending them to the server as separate parameters.
  • [android] Added handling of all errors in the MRGSReflection.isClassExists() method.

Analytics module:

  • [ios] Updated AppsflyerSDK from 6.15.1 to 6.15.3.

Bank module:

  • [android] Changed maximum size of developerPayload in OnestoreBilling - reduced to 200 characters.
  • [ios] Fixed MRGSBankProduct.init crash (could occur when trying to buy a product with payment ban enabled)
  • [android] Fixed developerPayload disappearance when resuming the application after onPause.
  • [android] Fixed a bug where transactionId from Samsung Galaxy Store could not be sent to Appsflyer.
  • [android] Fixed a thread race condition that could result in developerPayload being lost when validating a payment.

Didomi module:

  • [ios] Updated Didomi SDK from 2.11.1 to 2.13.0.
  • [android] Updated io.didomi.sdk:android from 2.10.1 to 2.13.0

Firebase module:

  • [ios] Updated Firebase SDK from 10.29.0 to 11.2.0.
  • [android] Updated com.google.firebase:firebase-analytics from 22.1.0 to 22.1.2

Ironsource-Adapter module:

  • Updated Apptimism SDK (Android 0.0.7, iOS 0.0.4)
  • [ios] Fixed Ironsource dependency version in pod file to support Ironsource 8+ versions

Notifications module:

  • [android] Added try/catch blocks in notification creation methods and added sending logs to the server.

Support module:

  • [android] Added network availability check when displaying the support window.

Read more about the new features and how to use them in the documentation.


v6.17.2 Release (2024-09-12)🔗

Native SDK versions: Android 6.17.2, iOS 6.17.1

In this version:

MRGService module:

  • [android] Fixed a bug since version 6.17.0, due to which it was impossible to install other applications that use MRGS SDK due to the error INSTALL_FAILED_DUPLICATE_PERMISSION: Package to redeclare permission games.my.mrgs.permission.OPEN_UDID already owned
  • Fixed the error WebException: Error: NameResolutionFailure during the project build with MRGS SDK, which led to the project compilation stopping.

Read more about the new features and how to use them in the documentation.


v6.17.1 Release (2024-09-06)🔗

Native SDK versions: Android 6.17.1, iOS 6.17.1

In this version:

MRGService module:

  • [iOS] Removed iAd SDK dependency, because it can cause some problems on XCode 16.

Analytics module:

  • Added a new waitForTCF field to mrgs_dma_start event.

Ironsource-Adapter module:

  • SKAN networks, will add required settings for Apptimism into Info.plist.
  • [Android] Updated Apptimism SDK dependency to 0.0.4.
  • [iOS] Updated Apptimism SDK dependency to 0.0.3.

Read more about the new features and how to use them in the documentation.


v6.17.0 Release (2024-08-29)🔗

Native SDK versions: Android 6.17.0, iOS 6.17.0

In this version:

MRGService module:

  • Added define MRGS_DISABLE_CORE to disable the module
  • [ios] Improved work with OpenUDID - disabled generation before start of sdk, added saving in Keychain to get the value when reinstalling
  • [android] Added the ability to share OpenUDID between applications.
  • [android] Added a new way to generate a stable OpenUDID
  • Added a new key MRGSTrackerMediationNetwork.ToponPte for custom logs.
  • [android] Fixed a duplicate value error when using MRGService#setHost, which led to broken network requests.
  • Fixed the SDK version collector for IronSource version 8 and above
  • Fixed the presence of the example project in UPM

Analytics module:

  • [android] Removed the com.appsflyer:adrevenue dependency.
  • [android] Updated com.appsflyer:af-android-sdk from 6.14.2 to 6.15.0.
  • [ios] Updated AppsFlyer SDK from 6.14.3 to 6.15.1.

Advertising module:

  • [ios] Fixed crash when displaying ads from Ironsource 8.x

Bank module:

  • [android] Fixed subscription recovery in Amazon - now cancelled and inactive subscriptions will not be sent to the delegate

Didomi module:

  • [android] Updated io.didomi.sdk:android from 2.7.0 to 2.10.1
  • [ios] Updated Didomi SDK from 2.8.0 to 2.11.1.

Firebase Module:

  • [android] Updated com.google.firebase:firebase-analytics from 22.0.1 to 22.1.0
  • [ios] Updated Firebase SDK from 10.27.0 to 10.29.0.

GDPR Module:

  • Added Unity settings (Services -> MRGS -> GDPR -> Settings) for GDPR.
  • Changed fonts for GDPRUi/PIPAUi from custom to Unity default for Unity Standalone, Consoles, and WebGL.
  • Custom fonts will no longer be added to mobile builds, but they will be added for Unity platforms: Standalone, Consoles, WebGL. You can disable adding fonts for the latter via the settings Services -> MRGS -> GDPR -> Settings: IncludeSdkFonts(true/false).
  • Added the ability to provide your fonts for GDPR (only for Standalone, Consoles, and WebGL platforms) via Services -> MRGS -> GDPR -> Settings: CustomFont(Font)

Ironsource-Adapter module:

  • Added automatic connection of Apptimism SDK. For iOS SDK will be added only for projects with target version 13 or higher. Can be disabled with define MRGS_DISABLE_APPTIMISM_SDK

Read more about the new features and how to use them in the documentation.


v6.16.1 Release (2024-07-02)🔗

Native SDK versions: Android 6.16.1, iOS 6.16.1

In this version:

Module MRGService:

  • Added internal support for switching hosts in case some countries block access to MRGS resources.
  • [android] Disabled SSL connection security checks for all network requests to the MRGS server for Android 7.0 and below.
  • Changed code to support Unity 2019 with netframework 2.0.

Authentication module:

  • Added automatic setting of MyGamesUserId when using authorization in WebGL or on a PC using a browser
  • [android] Changed minimum required version of Android from 4.4 (19 api) to 5.0 (21 api) for the MRGSGoogleSignIn module
  • [android] Updated com.google.android.gms:play-services-games from 23.1.0 to 23.2.0.
  • [android] Updated com.google.android.gms:play-services-auth from 20.6.0 to 21.2.0.
  • [android] Changed minimum required version of Android from 4.4 (19 api) to 5.0 (21 api) for the MRGSGooglePlay module
  • [android] Updated com.google.android.gms:play-services-games-v2 from 17.0.0 to 20.1.0

Module Appsflyer:

  • [android] Updated com.appsflyer:af-android-sdk from 6.14.0 to 6.14.2.

Module Bank:

  • [android] Fixed a bug where MRGSBillingDelegate#onReceiveFailedPurchase returned the result without an error for the new private implementation of Google payments.
  • Fixed error NullReferenceException: Object reference not set to an instance of an object at MRGS.Android.BankUtils.ToBankTransaction.

Module Didomi:

  • [android] Updated io.didomi.sdk:android from 2.5.1 to 2.7.0.
  • Fixed project build on Linux systems

Read more about the new features and how to use them in the documentation.


v6.16.0 Release (2024-06-13)🔗

Native SDK versions: Android 6.16.0, iOS 6.16.0

In this version:

Module MRGService:

  • Fixed a bug that caused MRGSUsers to not restore data from the cache.
  • Fixed bug where MRGSDevice#Languange would always return null for PC and consoles.

Authentication module:

  • Added asynchronous isLoggedIn method for more accurate state checking.
  • Added support for MyGames authorization on Windows via browser.

GDPR module:

  • Added support for some MRGSGDPR functionality to display custom GDPR on PC and consoles.

Support module:

  • Added support for MyGamesSupport for PC and WebGL

Read more about the new features and how to use them in the documentation.


v6.15.1 Release (2024-06-11)🔗

Native SDK versions: Android 6.15.1, iOS 6.15.1

In this version:

Module MRGService:

  • Added callback support for loading ads on the JavaScript side (WebGL) for the store.my.games platform
  • Reduced the number of characters in the library path in the finished XCode project
  • [android] Fixed java.util.ConcurrentModificationException error in MRGSTracker.

Module Bank:

  • Added automatic closing of TopUp (WebView) upon successful purchase
  • [ios] Fixed a crash when restoring an unfinished purchase on the next launch

Module Didomi:

  • [ios] Updated Didomi SDK from 2.5.0 to 2.8.0.

Firebase module:

  • [ios] Updated Firebase SDK from 10.24.0 to 10.27.0.
  • [android] Updated com.google.firebase:firebase-analytics from 22.0.0 to 22.0.1

GDPR module:

  • Added support for new libraries for CCPA - Moloco and BigoAds

Advertising module:

  • [android] Some improvements for sending DSP links.

Read more about the new features and how to use them in the documentation.


v6.15.0 Release (2024-05-28)🔗

Native SDK versions: Android 6.15.0, iOS 6.15.0

In this version:

Module MRGService:

  • [android] Fixed connection to the auto tracking billing service, added a countdown timer to limit the automatic number of connection attempts.
  • [ios] Fixed crash Collection was mutated while being enumerated. in MRGSModulesManager
  • [android] Fixed ANR bug. The getHwMemoryUse() call has been moved to a background thread inside the updateHwMemoryUse() method.

Authentication (Facebook) module:

  • Graph Api version used raised to 19

Analytics module:

  • [android] Fixed a bug where events sent during the active waitForCustomerUserId mode were lost.
  • [android] Fixed a bug where AppsFlyer would start sending analytics after the waitForCustomerUserId mode was removed, but the user agreement (DMA) had not yet been received. The problem only occurred when using the waitForCustomerUserId mode.

Module Bank:

  • Added new fields isSandbox (whether the payment was made in the test environment) and usd (payment amount in dollars)
  • [ios] Added experimental support for StoreKit 2
  • [android] Fixed error java.lang.NoClassDefFoundError: Failed resolution of: Lcom/amazon/device/drm/LicensingListener. This error will no longer cause the application to crash.

GDPR module:

  • Fixed showing the PIPA window on small screens

Read more about the new features and how to use them in the documentation.


v6.14.3 Release (2024-05-16)🔗

Native SDK versions: Android 6.14.3, iOS 6.14.3

In this version:

  • Fixed an issue of sign validation for embedded libraries.
  • Changed way of delivering PrivacyManifest to avoid problems with building on XCode 15.3.

MRGService module:

  • [Android] Fixed ANR when calling MRGSTracker#Flush().

Authentication module:

  • [iOS] Fixed missed authentication callback for MyGames and Facebook if a device was blocked.
  • [iOS] Fixed an issue when trying to authorize in Apple Game Center.
  • [iOS] Fixed an issue The bundle 'MRGSAuthenticationFacebook.framework' is missing plist key.

Analytics module:

  • [iOS] Updated AppsFlyer AdRevenue SDK from 6.9.1 to 6.14.3.

Bank module:

  • Improved purchase validation for WebGL.

Is-adapter module:

  • [iOS] Fixed an issue Use of unimplemented initializer.

Read more about the new features and how to use them in the documentation.


v6.14.2 Release (2024-05-07)🔗

Native SDK versions: Android 6.14.2, iOS 6.14.2

In this version:

Analytics module:

  • [iOS] Updated AppsFlyer SDK from 6.13.1 to 6.14.3.
  • [Android] Updated com.appsflyer:af-android-sdk from 6.13.0 to 6.14.0.

Didomi module:

  • [iOS] Updated Didomi SDK from 2.2.0 to 2.5.0.
  • [Android] Updated io.didomi.sdk:android from 2.4.0 to 2.5.1.

Firebase module:

  • [iOS] Updated Firebase SDK from 10.23.0 to 10.24.0.
  • [Android] Updated com.google.firebase:firebase-analytics from 21.6.2 to 22.0.0.
  • [Android] Changed minimum required Android version from 4.4 (19 api) to 5.0 (21 api).

Notification module:

  • [Android] Updated com.google.firebase:firebase-messaging from 23.1.2 to 24.0.0.
  • [Android] Changed minimum required Android version from 4.4 (19 api) to 5.0 (21 api).

Read more about the new features and how to use them in the documentation.


v6.14.1 Release (2024-04-27)🔗

Native SDK versions: Android 6.14.1, iOS 6.14.1

In this version:

  • Minimum iOS version raised to 12.0
  • [ios] Added support for Apple Privacy Manifest

Module MRGService:

  • Added sending firebaseInstanceId to MRGS events
  • [android] Added flag to disable auto-tracking of payments from a remote config.
  • [android] Changed way of generating sessionId from MD5 to UUID v4 to reduce collisions.

Authentication module:

  • Fixed error InvalidOperationException: Steamworks is not initialized, when instead of completing the operation, they tried to get a token from an uninitialized Steam in work-thread.

Module Bank:

  • [android] Changed behavior of restoreTransaction method for Amazon. Now the behavior of the method will be similar to the behavior of Google payments, the method will no longer attempt to load missing products, but will access the local cache of products that is formed when calling requestProducts, and will return an error in onReceiveFailedPurchase if not managed to find the product in the local cache.
  • [android] Fixed a bug where transactions were not restored if there was no cache on the device, indicating that the payment was made on this particular device. Now the payment will be restored no matter on which device the user makes the restoration.
  • [android] Fixed a bug where in rare cases, after validating a payment, the transaction was closed for all unvalidated payments for OneStore.

Module Didomi:

  • [ios] Updated Didomi SDK from 1.98.0 to 2.2.0.
  • Updated DidomiPostProcessorGradleAndroidProject. It will now replace Unity activity with FragmentActivity instead of AppCompatActivity, will no longer replace default styles and will stop modifying android manifest.
  • [android] Updated io.didomi.sdk:android from 1.90.0 to 2.4.0.
  • [ios] Fixed work with DMA if the user is not covered by TCF

Firebase module:

  • [android] Updated com.google.firebase:firebase-analytics from 21.6.1 to 21.6.2.

Module Ironsource:

  • Added support for Unity.LevelPlay asmdef

Read more about the new features and how to use them in the documentation.


v6.14.0 Release (2024-04-11)🔗

Native SDK versions: Android 6.14.0, iOS 6.14.0

In this version:

MRGService module:

  • [iOS] Fixed a problem with requesting permission of tracking ATT on iOS 17.4 - now this method works correctly despite that fact iOS has a bug.
  • [Android] Fixed a possible ANR because of writing logs for remote logging.
  • [Android] Fixed a NullPointerException and ANR in TransferManager.
  • [Android] Fixed some errors which would lead to crash of MRGService.
  • [Android] Fixed a crash while trying to connect to Google Billing for auto-tracking payments.

Authentication module:

  • Supported authentication on store.my.games platform for Unity WebGl builds.

Bank module:

  • Supported payments on store.my.games platform for Unity WebGl builds.

  • [Android] Fixed a ForegroundTaskPipeline: No UI visible to execute task error, when couldn't start a payment window in Amazon IAP SDK on Unity builds.

Didomi module:

  • [iOS] Added a newOnSkippedDueToAtt method, which must be called if TCF was skipped because user rejected to share IDFA.

  • Fixed behavior when MRGSDidomi called FirebaseAnalytics#setAnalyticsCollectionEnabled. Now this method will be called even if user does not fall under TCF, to avoid blocking Firebase collection data.

Firebase module:

  • Added a new FirebaseAnalytics#SetAnalyticsCollectionEnabled(bool) method.

Read more about the new features and how to use them in the documentation.


v6.13.3 Release (2024-04-02)🔗

Native SDK versions: Android 6.13.3, iOS 6.13.3

In this version:

Analytics module:

  • [iOS] Improved deeplink and attribution performance in AppsFlyer when running a stopped application

Advertising module:

  • Added support for additional tracking links (percentage of video views) for AdTech
  • [Android] Disabled network request caching for AdTech.

Module Bank:

  • [Android] Fixed error when building a project if the project used obfuscation with proguard-android-optimize.txt

Module Didomi:

  • MRGSDidomi will also call FirebaseAnalytics#setAnalyticsCollectionEnabled with true, after each call to FirebaseAnalytics#setConsent.

Firebase module:

  • [iOS] Updated Firebase SDK from 10.22.0 to 10.23.0.
  • [Android] Updated com.google.firebase:firebase-analytics from 21.5.1 to 21.6.1.

Read more about the new features and how to use them in the documentation.


v6.13.2 Release (2024-03-27)🔗

Native SDK versions: Android 6.13.2, iOS 6.13.2

In this version:

  • Fixed JVM Verifier rejected class errors that led to problems on some versions of Android due to the fact that kotlin in the MRGS SDK was compiled with an old compiler .

Module MRGService:

  • Fixed bug with copying aar into assemblies on android and adding them to gradle

Analytics module:

  • [Android] Fixed crash when MRGSAnalytics module was added to the project but did not pass MRGSAppsFlyerParams to initialize AppsFlyer.
  • Fixed error when building use of '@import' when C++ modules are disabled

Advertising module:

  • [Android] Updated obfuscation rules.

Module Bank:

  • [Android] Updated obfuscation rules.
  • [Android] Fixed MyGames payments (WebView).

Firebase module:

  • [iOS] Updated Firebase SDK from 10.21.0 to 10.22.0.

Read more about the new features and how to use them in the documentation.


v6.13.1 Release (2024-03-25)🔗

Native SDK versions: Android 6.13.1, iOS 6.13.1

In this version:

MRGService module:

  • Fixed an issue in MRGSSDKVersionsReporter which lead to crash.

Advertising module:

  • [iOS] Fixed a problem with store window in application while playing ads.

Bank module:

  • Fixed an issue in bank emulation for Editor.
  • [Android] Fixed an issue com.amazon.a.a.o.a.b: Executing thread must be thread: 2, was: N if Amazon IAP wasn't initialized with Android main-thread.

Didomi module:

  • [Android] Fixed an issue java.lang.ClassNotFoundException: games.my.mrgs.analytics.MRGSAnalytics.

Showcase module:

  • [iOS] Fixed a problem with store window in application.

Read more about the new features and how to use them in the documentation.


v6.13.0 Release (2024-03-21)🔗

Native SDK versions: Android 6.13.0, iOS 6.13.0

In this version:

  • Supported DMA for AppsFlyer and Firebase.
  • [Android] Minimum required kotlin version is 1.8.22.

MRGService module:

  • Added a new MRGSUsers#SetMyGamesUserId(string) method to set MyGames UserId for PC builds, in case if projects are using their own implementations to work with stores instead of MRGS solutions.

  • Improved supporting define, now Android libraries will not be added to build, if MRGS module was disabled by MRGS_DISABLE_{Module}.

  • [iOS] Added collection of attributes that application was launched on Mac with M series.
  • [iOS] Improved checking jailbreak.

  • Fixed a crash in MRGSDoOnMainThread if this class was called from work-thread instead of main-thread.

  • [Android] Fixed an issue when auto-tracking payments was not be disabled if MRSRGBank was used, so auto-tracking made extra validation requests.

Advertising module:

  • [Android] Improved hash checking for downloaded AdTech ads.

  • [iOS] Fixed cache resetting if IronSource adapter was used.

Analytics module:

  • [iOS] Updated AppsFlyer SDK from 6.12.3 to 6.13.1.
  • [Android] Updated com.appsflyer:af-android-sdk from 6.12.1 to 6.13.0.

  • [Android] Fixed an issue when MRGSAnalytics didn't send purchases to AppsFlyer, if auto-tracking payments was used.

Bank module:

  • Added a new MRGServiceParams#BankVersionAtFirstRun property to change version at the first application launching. For next launches the version will be used from remote config.

Firebase module:

  • [iOS] Updated Firebase SDK from 10.13.0 to 10.21.0.
  • [Android] Updated com.google.firebase:firebase-analytics from 21.3.0 to 21.5.1.

Didomi module:

  • Added a new MRGSDidomi#Reset() method.

  • [Android] Updated io.didomi.sdk:android from 1.89.0 to 1.90.0.

GDPR module:

  • [Android] Changed width of button in dialog for COPPA.

IronSource-Adapter module:

  • Added data sending of GDPR to AdTech.

Read more about the new features and how to use them in the documentation.


v6.12.0 Release (2024-02-27)🔗

Native SDK versions: Android 6.12.0, iOS 6.12.0

In this version:

MRGService module:

  • Added collection versions of SDK's for some libraries.
  • Added a new MRGSUsers#SetEmail(string) method to send user's email to MRGS.
  • Added a new MRGSDevice#Language property to get device language.
  • [Android] Supported payments auto-tracking for Google Play. This feature is enabled by default, and will send historical data to MRGS at the first start.

Authentication module:

  • [iOS] Added new methods to show AccessPoint and Common Dashboard for Apple Game Center.

  • Fixed a build problem, if project used .NET 2.0.

  • Fixed crash because of NullReferenceException, if MRGSAuthenticationMyGames#Login was calling when application wasn't run from MyGames/Steam launcher.

Analytics module:

  • Supported sending payments info to AppsFlyer from MRGS server.
  • [iOS] Updated AppsFlyer SDK from 6.12.1 to 6.12.3.

Bank module:

  • Supported MRGSBank emulation for UnityEditor.

  • [Android] Updated Samsung IAP SDK from 5.0.1 to 6.1.0.

  • [Android] Updated Amazon IAP SDK from 2.0.76 to 3.0.4.

  • [Android] Fixed an issue when MRGSBank completed operations incorrectly with empty receipt, as a result callback could be called several times.

  • [Android] Fixed long validation if transaction cache contains the same user and transaction id.

Didomi module:

  • Added a new MRGSDidomi#ShouldUserStatusBeCollected property.
  • [Android] Supported Activity from Android SDK to work with Didomi SDK for projects which don't use Androidx libraries.

  • [iOS] Update Didomi SDK from 1.95.1 to 1.98.0.

  • [Android] Update io.didomi.sdk:android from 1.87.0 to 1.89.0.

GDPR module:

  • [Android] Changed conditions for showing CCPA button, now it has the same behavior as oniOS.

Notifications module:

  • [Android] Supported different notification styles and improved supporting of custom notifications.

  • [Android] Fixed incorrect behavior for Android 13 and deferredPushStart flag was disabled.

Support module:

  • Supported MRGSMyGamesSupport#CustomUserID for PC and consoles.
  • Supported MRGSMyGamesSupport#RequestAccountDeletion for PC and consoles.
  • Supported MRGSMyGamesSupport#CancelAccountDeletionRequest for PC and consoles.

Read more about the new features and how to use them in the documentation.


v6.11.2 Release (2024-01-29)🔗

Native SDK versions: Android 6.11.2, iOS 6.11.1

In this version:

MRGService module:

  • Fixed a crash because of Couldn't parse token. Value was either too large or too small for a character.
  • [Android] Fixed a bug when in rare cases applicationRun event wasn't sent, and installations were not tracked in 1Link.

  • [Android] Fixed an ANR when calling MRGSDevice#GetHwMemoryUse() method.

  • [Android] Fixed a rare issue IndexOutOfBoundsException when calling MRGSDevice#GetHwMemoryUse() method.

Advertising module:

  • [Android] Fixed an ANR during loading ads.

Showcase module:

  • [Android] Fixed an ANR during loading ads.

Read more about the new features and how to use them in the documentation.


v6.11.1 Release (2024-01-24)🔗

Native SDK versions: Android 6.11.1, iOS 6.11.1

In this version:

MRGService module:

  • Fixed a problem with DownloadHandler.error on Unity 2019.4.+.

Advertising module:

  • Improved an algorithm for calculating an average price of an advertisement for AdTech.
  • Improved an approach to checking ads for AdTech.

Authentication module:

  • Supported AccessToken for MyGames/Steam authentication.

  • [Android] Fixed a problem with "web-authentication" on Google Play Games on PC platform.

Bank module:

  • [Android] Added a handler of RESULT_NEED_LOGIN error during OneStore IAP SDK initialization.

  • [Android] Fixed an issue when empty developerPayload was sent to MRGS for OneStore payments.

GDPR module:

  • [iOS] Fixed korean localization.

IronSource-Adapter module:

  • Improved ads downloading for AdTech.

  • [iOS] Fixed a possible crash.

Read more about the new features and how to use them in the documentation.


v6.11.0 Release (2024-01-17)🔗

Native SDK versions: Android 6.11.0, iOS 6.11.0

In this version:

Bank module:

  • Supported OneStore payments.

GDPR module:

  • Supported korean PIPA law.

Read more about the new features and how to use them in the documentation.


v6.10.2 Release (2023-12-21)🔗

Native SDK versions: Android 6.10.1, iOS 6.10.1

In this version:

  • Changed namespace from Editor.MRGS to MRGS.Editor to avoid conflicts.

MRGService module:

  • Supported MRGService#SetHost(string) for PC and consoles.
  • Supported sending unified logs for PC and consoles.

  • Re-wrote internal network sending data for PC, WebGl, and consoles to fixe some problems with freezes.

  • Re-wrote internal work into MRGSDevice#GetGeoIpInfo(Action<MRGSGeoIpInfo, MRGSError> for PC and consoles.

  • Fixed a bug, when MRGSDevice#GetCountry() could return language code instead country code. Now it returns country code or null.

Advertising module:

  • [iOS] Improved campaigns caching for AdTech.

Didomi module:

  • Changed thread for DidomiEventListener from background to main for receivers.

Read more about the new features and how to use them in the documentation.


v6.10.1 Release (2023-12-14)🔗

Native SDK versions: Android 6.10.1, iOS 6.10.0

In this version:

Didomi module:

  • [Android] Updated io.didomi.sdk:android from 1.85.1 to 1.87.0.

  • [Android] Fixed an issue with sending statistics from MRGSDidomi

Read more about the new features and how to use them in the documentation.


v6.10.0 Release (2023-12-04)🔗

Native SDK versions: Android 6.10.0, iOS 6.10.0

In this version:

  • Change format of iOS libraries to zip-archives to avoid problems with imports.

MRGService module:

  • Added a new MRGService#SetHost(string) method to server host in MRGService.

  • [iOS] Fixed possible memory leaks.

Advertising module:

  • Improved caching of video ads for AdTech.
  • [iOS] Supported SKAdNetwork companies for AdTech.

  • [Android] Fixed showing PlayableAds in Unity.

Authentication module:

  • Changed SocialID for MRGSAuthenticationGoogleGames.
  • [Android] Fixed sending of socialLogin and socialUser events when GooglePlayGamesV2 was used.

Didomi module:

  • Added new MRGSDidomi module to support TCF.

Firebase module:

  • [Android] Changed behavior of sending mrgs_valid_inapp_N_dollars_plus event. Now they will be sent even for test purchases.

GDPR module:

  • Deprecated MRGSGDPR#setUserChangedCCPAPrefrences(MRGSCCPAUserPreference) method. Use MRGSGDPR#SetUserChangedCCPAPreference(MRGSCCPAUserPreference).
  • Deprecated MRGSGDPR#shouldShowCCPAButton() method. Use MRGSGDPR#ShouldShowCCPAButton instead.
  • Deprecated MRGSGDPR#getCurrentCCPAUserPrefrences() method. Use MRGSGDPR#CurrentCCPAUserPreference instead.
  • Deprecated MRGSGDPR#openLinkInWebView(string, string) method. Use MRGSGDPR#OpenLinkInWebView(string, string) instead.
  • Deprecated MRGSGDPR#resetModule() method. Use MRGSGDPR#ResetModule() instead.

GameCenter module:

  • Deprecated MRGSGameCenter module and it will be removed in near feature.

IronSource-Adapter module:

  • Added feature to update application plist to include network identifiers into skad for AdTech.
  • Added extra statistics of accepted agreements and settings.

Notifications module:

  • [iOS] Added a new authorizationStatus property into MRGSNotificationSettings to get current permission status of notification.

Showcase module:

  • Changed title font from gotham to open-sans.

Read more about the new features and how to use them in the documentation.


v6.9.5 Release (2023-11-20)🔗

Native SDK versions: Android 6.9.4, iOS 6.9.1

In this version:

GDPR module:

  • Fixed an issue when updated agreement was shown instead of changed publisher if user had accepted agreement version 1591736400.
  • [Android] Fixed an issued when callback wasn't called with MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>) if COPPA was shown through MRGSGDPR and COPPA return an error.
  • [Android] Fixed an issue when methods of showing agreement could skip showing update agreement or change publisher until the next application restart.

Read more about the new features and how to use them in the documentation.


v6.9.4 Release (2023-11-14)🔗

Native SDK versions: Android 6.9.3, iOS 6.9.0

In this version:

GDPR module:

  • [Android] Changed behavior of MRGSGDPR#showDefaultAgreement(string) method to show default file for changed publisher.

Read more about the new features and how to use them in the documentation.


v6.9.3 Release (2023-11-14)🔗

Native SDK versions: Android 6.9.2, iOS 6.9.0

In this version:

GDPR module:

  • [Android] Fixed an issue, when MRGSGDPR#shouldShowGDPR(string, bool, Action<bool>) method read isEUOnly flag from MRGSGDPR#onlyForEU(bool) instead of reading passed value. Now it will read passed value and ignore MRGSGDPR#onlyForEU(bool).
  • [Android] Fixed ClassCastException for MRGSGDPR#getAgreementTime() and MRGSGDPR#getAcceptedAgreement() methods.
  • [Android] Fixed behavior with incorrect choosing for file for change publisher and update agreements with advertising cases.

Read more about the new features and how to use them in the documentation.


v6.9.2 Release (2023-11-10)🔗

Native SDK versions: Android 6.9.1, iOS 6.9.0

In this version:

GDPR module:

  • [Android] Changed logic for MRGSGDPR#setPublisherUpdateHTMLFilePath(string) to handle null values.

  • [Android] Fixed an issue when new MRGSGDPR#ShowAgreement() method didn't read MRGSGDPRShowParam#isAutomaticCOPPAFlowEnabled value.

  • [Android] Fixed a problem with selecting chinese localization for GDPR based on user's locale device.
  • [Android] Fixed a crash in COPPA, when couldn't continue COPPA after acceptance of the agreement.

Read more about the new features and how to use them in the documentation.


v6.9.1 Release (2023-11-08)🔗

Native SDK versions: Android 6.9.0, iOS 6.9.0

In this version:

GDPR module:

Fixed an issue of building for Android and Desktop platforms.

Read more about the new features and how to use them in the documentation.


v6.9.0 Release (2023-11-08)🔗

Native SDK versions: Android 6.9.0, iOS 6.9.0

In this version:

MRGService module:

  • [iOS] Fixed a passible crash in -[MRGSServerMessage addRequiredFieldsToRequest]

GDPR module:

  • Supported tracking of changing publisher cases.
  • Improved definition of the need to show the agreement
  • Supported reading files from StreamingAssets (now it is enough to pass only its name to methods).
  • Localization of the agreement will be automatically selected based on the user's current device language.

  • Added a new MRGSGDPR#Setup(string, string) method to initialize MRGSGDPR and MRGSCOPPA.

  • Added a new MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>) method to show GDPR window.
  • Added a new MRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>) method to check reasons of showing GDPR window to user.
  • Added a new MRGSGDPR#OnAgreementAccepted(bool) method to inform MRGS that user have accepted agreements outside of MRGS GDPR window. (For showing your own GDPR windows).
  • Added a new temporary MRGSGDPR#setPublisherUpdateHTMLFilePath(string) method to set html file path changed publisher cases.
  • Added a new MRGSGDPR#Instance property to get an instance MRGSGDPR.
  • Added a new MRGSGDPR#OnlyEu property to set restriction for showing GDPR window only for European Union.
  • Added a new MRGSGDPR#ShowDelegate property set a listener to get a result from MRGS GDPR window.
  • Added a new MRGSGDPR#AcceptedAgreement property to get information about the accepted agreement by user.
  • Added a new MRGSGDPR#SupportedLocalizations property get list of supported localizations from mrgsgdpr_langs.json SDK file.

  • Added a new MRGSGDPRAgreement class that describes information of current GDPR agreement from MRGS console.

  • Added a new MRGSGDPRAcceptedAgreement class that describes information of accepted agreement by user.
  • Added a new MRGSGDPRLocalization class that contains properties to localize html page of MRGSGDPR SDK.
  • Added a new MRGSGDPRShowParams class that contains properties to change showing behavior of MRGS GDPR window.
  • Added a new MRGSGDPRShowReason enum that describes reasons of showing MRGS GDPR window.
  • Added a new MRGSGDPRShowResultclass that contains result of showing MRGS GDPR window.

  • Deprecated MRGSGDPR#getInstance method. Use MRGSGDPR#Instance instead.

  • Deprecated MRGSGDPR#onlyForEU(bool) method. Use MRGSGDPR#OnlyEu instead.
  • Deprecated MRGSGDPR#withAdvertising(bool) method. Use MRGSGDPRShowParams#WithAdvertising instead.
  • Deprecated MRGSGDPR#enableAutomaticCOPPAFlow(string, string) method. Use MRGSGDPRShowParams#AutomaticCoppaFlow instead.
  • Deprecated MRGSGDPR#setLocalizationLanguage(string) method. Use MRGSGDPRShowParams#Localization.
  • Deprecated MRGSGDPR#setUseWebViewForExternalLinks(bool) method. Use MRGSGDPRShowParams#UseWebViewForExternalLinks instead.
  • Deprecated MRGSGDPR#getAgreementTime() method. Use MRGSGDPR#AcceptedAgreement instead.
  • Deprecated MRGSGDPR#getAgreedVersion() method. Use MRGSGDPR#AcceptedAgreement instead.
  • Deprecated MRGSGDPR#getSupportedLocalizations() method. Use MRGSGDPR#SupportedLocalizations instead.
  • Deprecated MRGSGDPR#showDefaultAgreement(string) method. Use MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>) instead.
  • Deprecated MRGSGDPR#showAgreementFromFile(string, string) method. Use MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>) instead.
  • Deprecated MRGSGDPR#checkIfUserGetsUnderGDPR(string, Action<bool>) method. Use MRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>) instead.
  • Deprecated MRGSGDPR#shouldShowGDPR(string, bool, Action<bool>) method. Use MRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>) and MRGSGDPR#OnlyEu instead.
  • Deprecated MRGSGDPR#setUserHasAcceptedAgreement(bool, bool, int) method. Use MRGSGDPR#OnAgreementAccepted(bool).
  • Deprecated MRGSGDPR.IShowDelegate interface. Use MRGSGDPR.IOnShowDelegate instead.

IronSource-Adapter module:

  • [Android] Fixed an issue, when after showing ads, in rare cases, a large number of duplicated events of completion, clicks and other could be sent.

Notifications module:

  • Fixed a problem with Authorization property in the MRGSNotificationSettings object for iOS - now it will return information relevant to the platform

Read more about the new features and how to use them in the documentation.


v6.8.1 Release (2023-10-17)🔗

Native SDK versions: Android 6.8.1, iOS 6.8.0

In this version:

MRGService module:

  • [Android] Fixed an issue when MRGService could track session incorrectly in the application. It could also affect the behavior of: advertisements (MRGSAdvertising), authentications (MRGSAuthentication), notifications (MRGSNotifications), and payments (MRGSBank). This usually led to the inability to display the UI in rare cases.

Notifications module:

  • [Android] Fixed NullPointerException when tried to request a notification permission.

Read more about the new features and how to use them in the documentation.


v6.8.0 Release (2023-10-13)🔗

Native SDK versions: Android 6.8.0, iOS 6.8.0

In this version:

  • [Android] Supported Android 14.
  • [Android] Updated androidx.core:core from 1.7.0 to 1.9.0.
  • [Android] Updated androidx.appcompat:appcompat from 1.4.2 to 1.6.1.

MRGService module:

  • Added a new MRGSGeoIpInfo#City property to get city name.

  • [Android] Updated com.huawei.hms:ads-identifier from 3.4.58.301 to 3.4.62.300.

  • [Android] Updated com.huawei.hms:opendevicefrom 6.9.0.300 to 6.11.0.300.
  • [Android] Fixed an issue when MRGService#ServerTime could return 0. Improved tracking server time, now it will always be relevant from the launch of the application until the device is restarted.

  • Fixed incorrect identifying of the internet connection type and quality speed.

Advertising module:

  • Supported extra click events for AdTech

  • [Android] Fixed an issue Not attached to Activity.

  • [Android] Fixed an issue when onSaveInstanceState was called before VideoAdFragment closing.
  • [iOS] Fixed an issue with double calling of tracking links in AdTech.

Analytics module:

  • [iOS] Added quantity field to purchases events for AppsFlyer.

Authentication module:

  • [Android] Updated com.google.android.gms:play-services-auth from 20.4.0 to 20.6.0.
  • [Android] Updated androidx.browser:browser from 1.3.0 to 1.5.0.

  • [Android] Fixed an issue when onSaveInstanceState was called before MyGamesLoginFragment closing.

Bank module:

  • [Android] Updated com.huawei.hms:iap from 6.1.0.300 to 6.4.0.301.

  • [Android] Fixed an issue Too many bind requests 999+ because of unstable connections with Google Service.

Firebase module:

  • [iOS] Added quantity to purchases events for Firebase.

IronSource-Adapter module:

  • Supported sending extra data to server.

  • [Android] Fixed NullPointerException when tried to release resources.

  • [Android] Fixed an issue when prepared content was accidentally deleted.
  • [Android] Fixed an issue when IronSource couldn't create MRGSCustomAdapter if old IronSource SDK was used.

IronSource module:

  • Supported check integration for MRGSIronSource.

Notifications module:

  • [Android] Updated com.huawei.hms:push from 6.7.0.300 to 6.11.0.300.

Read more about the new features and how to use them in the documentation.


v6.7.2 Release (2023-09-26)🔗

Native SDK versions: Android 6.7.2, iOS 6.7.2

In this version:

MRGService module:

  • [Android] Fixed an issue of incorrect data sending with MRGSTracker#TrackEvent(String, IDictionary<string, object>) method.

Analytics module:

  • Fixed an issue when MRGSAppsFlyerDeepLink was returned with unfilled properties for Android platform.
  • [Android] Fixed a regression since release of 6.7.1 when payment information stopped being sent to AppsFlyer.

Advertising module:

GDPR module:

  • Supported CCPA for new libraries: Tappx and Ogury.

  • [Android] Fixed a rare NullPointerException error when trying to show GDPR with FragmentDialog(WebView).

  • [Android] Fixed aActivityNotFoundException error when trying open a link with browser if there is no browser on a device.
  • [iOS] Fixed number of requests to GeoIP.

IronSource-Adapter module:

  • Fixed dependency version of MRGSAdvertising (previously, there was always 6.3.0 version) for Unity Package Manager.

Read more about the new features and how to use them in the documentation.


v6.7.1 Release (2023-09-02)🔗

Native SDK versions: Android 6.7.1, iOS 6.7.1

In this version:

MRGService module:

  • Supported MRGService#ConfirmBonus(string) method for PC and consoles.
  • Supported MRGService#LoadServerData() method for PC and consoles.

  • [Android] Updated proguard rules for aggressive obfuscation (android.enableR8.fullMode=true).

  • Fixed a NullPointerException if MRGSMetrics was called before MRGService initialization.

  • [iOS] Fixed an issue AppStore Connect - ITMS-90338: Non-public API usage (restoreState).

Authentication module:

  • [iOS] Fixed work with login method in MyGames authentication. Now the method will show authentication popup even if user was logged in before.
  • [Android] Fixed an issue of logging MyGames with browser, when system deleted required data to continue authentication.

Firebase module:

  • Fixed an issue when MRGSFirebase#GetAppInstanceId() method couldn't return data for Android.

Read more about the new features and how to use them in the documentation.


v6.7.0 Release (2023-08-16)🔗

Native SDK versions: Android 6.7.0, iOS 6.7.0

In this version:

  • Added a new ISMRGSCustomAdapter module - it's a cross-promo with DSP for IronSource.

MRGService module:

  • Fixed work with threads, when in rare cases it could lead to crashes.
  • [Android] Fixed an issue with duplicates of MRGS logs in Logcat.

Bank module:

  • [Android] Updated com.android.billingclient:billing from 4.1.0 to 6.0.1.

GDPR module:

  • Added a new MRGSGDPR#SetBackgroundColor(float, float, float, float) method to change background in WebView.

  • [iOS] Fixed an issue a white background in WebView.

Analytics module:

  • [iOS] Updated AppsFlyer SDK from 6.12.0 to 6.12.1.

Firebase module:

  • [iOS] Updated Firebase SDK from 10.12.0 to 10.13.0.

Authentication module:

  • [iOS] Updated VKId SDK from 0.102.0 to 0.103.0.

Read more about the new features and how to use them in the documentation.


v6.6.0 Release (2023-07-12)🔗

Native SDK versions: Android 6.6.0, iOS 6.6.0

In this version:

  • Supported disabling of modules with MRGS_DISABLE_<MODULE> define.

MRGService module:

  • Added a new MRGServiceParams#UserAnonymization property for user anonymization in http requests to server.

  • [Android] Fixed an issue when MRGSDevice#GetAdvertisingId can return null into callback.

Analytics module:

  • [iOS] Updated AppsFlyer SDK from 6.11.1 to 6.12.0.
  • [Android] Updated com.appsflyer:af-android-sdk from 6.11.1 to 6.12.1.

Authentication module:

  • [iOS] Updated VKId SDK from 0.101.1 to 0.102.0.
  • [iOS] Updated LoginWithAmazon SDK from 3.1.2 to 3.1.3.

Firebase module:

  • [iOS] Updated Firebase SDK from 10.10.0 to 10.12.0.
  • [Android] Updated com.google.firebase:firebase-analytics from 21.2.2 to 21.3.0.

GDPR module:

  • Extended a list of states for supporting CCPA: Connecticut(CTDPA) and Colorado(CPA).

MyTracker module:

  • [Android] Updated com.my.tracker:mytracker-sdk from 3.0.11 to 3.0.12.

Read more about the new features and how to use them in the documentation.


v6.5.1 Release (2023-06-26)🔗

Native SDK versions: Android 6.5.1, iOS 6.5.1

In this version:

Advertising module:

  • Fixed internal algorithms for estimating the cost of cross-promo.

Analytics module:

  • [Android] Updated com.appsflyer:af-android-sdk from 6.11.0 to 6.11.1.

Read more about the new features and how to use them in the documentation.


v6.5.0 Release (2023-06-20)🔗

Native SDK versions: Android 6.5.0, iOS 6.5.0

In this version:

  • [IOS] Requires minimum iOS version: 11.
  • [IOS] Requires minimum XCode version: 14.1.
  • [IOS] Disabled supporting of bitcode.

MRGService module:

  • Supported MRGSDevice#GetGeoIpInfo method for PC and consoles.
  • [Android] Supported remote log collection.

  • [Android] Fixed an incorrect sending events with @deprecated MRGSTracker#TrackEvent(MRGSTrackerEvent) method.

Analytics module:

  • [IOS] Updated AppsFlyer from 6.10.0 to 6.11.1.

Authentication module:

  • [IOS] Updated VKId from 0.70.7822777 to 0.101.1.
  • [IOS] Updated VK from 1.6.1 to 1.6.4.

  • [Android] Fixed an issue when callback was called twice after authentication in Facebook.

Firebase module:

  • [IOS] Updated Firebase from 9.6.0 to 10.10.0.

MyTracker module:

  • [IOS] Updated MyTracker from 3.0.7 to 3.0.8.

Notifications module:

  • [Android] Added a new MRGSExtraOptionsAndroid#ShouldClearNotificationsTray property to control of removing push-notifications at application start.

Read more about the new features and how to use them in the documentation.


v6.4.0 Release (2023-06-09)🔗

Native SDK versions: Android 6.4.0, iOS 6.4.0

In this version:

  • [Android] Updated com.facebook.android:facebook-gamingservices from 11.2.0 to 16.0.1.

MRGService module:

  • Improved detection of geo-positioning by IP.

  • [Android] Fixed an internal issue of incorrect validation of passed params for MRGSTracker#TrackAdRevenue method.

GDPR module:

  • [Android] Fixed an issue for UI in MRGSCOPPA.

Analytics module:

  • Added sending test purchases to AppsFlyer. Such purchases will be sent with revenue 0.
  • [Android] Supported sending Amazon purchases to AppsFlyer.

  • [Android] Updated com.appsflyer:af-android-sdk from 6.10.2 to 6.11.0.

  • [Android] Fixed a potential error which can lead to crashes.

Firebase module:

  • Added sending test purchases to AppsFlyer. Such purchases will be sent with revenue 0.

Recommendations module:

  • Added a new MRGSRecSysEvent#AddCustomParams(Dictionary<string, object>) method to send extra data with events.

IronSource module:

  • Supported auto-setting segments into IronSource according to with settings from MRGS console.

  • [Android] Fixed a crash after failed casting ImpressionData.revenue to double, if there was not revenue in ImpressionData.

Read more about the new features and how to use them in the documentation.


v6.3.2 Release (2023-05-12)🔗

Native SDK versions: Android 6.3.1, iOS 6.3.0

In this version:

MRGService module:

  • Fixed a crash when tried to load products for iOS platform.

Firebase module:

  • Fixed an issue when couldn't return null from MRGSFirebase#GetAppInstanceId() method for Android platform.

MyTracker module:

  • Added a MRGS_DISABLE_MYTRACKER define to disable the module.

Read more about the new features and how to use them in the documentation.


v6.3.2 Release (2023-05-12)🔗

Native SDK versions: Android 6.3.1, iOS 6.3.0

In this version:

MRGService module:

  • Fixed a crash when tried to load products for iOS platform.

Firebase module:

  • Fixed an issue when couldn't return null from MRGSFirebase#GetAppInstanceId() method for Android platform.

MyTracker module:

  • Added a MRGS_DISABLE_MYTRACKER define to disable the module.

Read more about the new features and how to use them in the documentation.


v6.3.1 Release (2023-05-02)🔗

Native SDK versions: Android 6.3.1, iOS 6.3.0

In this version:

MRGService module:

  • [Android] Fixed an issue with many request of applicationExit.
  • [Android] Fixed a issue of tracking session if the user continued to play from one day to another in his time zone.

IronSource module:

  • Added a MRGS_DISABLE_IRONSOURCE define to disable the module.
  • Extended list of asmdef references for IronSource for convenient integration.

Read more about the new features and how to use them in the documentation.


v6.3.0 Release (2023-04-25)🔗

Native SDK versions: Android 6.3.0, iOS 6.3.0

In this version:

  • Added a new MRGSIronSource module to auto-collect and send impression-level data of advertising revenue, and auction results to MRGS and AppsFlyer.

MRGService module:

  • Added a new MRGSTracker#TrackAdRevenue(string, string, double, string, IDictionary<string, string>) method to send impression-level data of advertising revenue to MRGS.

  • [Android] Updated com.huawei.hms:opendevice from 6.7.0.300 to 6.9.0.300.

Analytics module:

  • Supported sending impression-level data of advertising revenue to AppsFlyer. It can be enabled/disabled in MRGS console of project section.

  • [Android] Updated com.appsflyer:af-android-sdk from 6.9.3 to 6.10.2.

Authentication module:

  • Added a new MRGSAuthenticationMyGames#IgnoreCachedSession property to force ignoring of current authentication session in MyGames.

Firebase module:

  • [Android] Updated com.google.firebase:firebase-analytics from 21.2.0 to 21.2.2.

Notifications module:

  • [Android] Updated com.google.firebase:firebase-messaging from 23.1.1 to 23.1.2.
  • [Android] Updated com.huawei.hms:push from 6.7.0.300 to 6.9.0.300.

MyTracker module:

  • [Android] Updated com.my.tracker:mytracker-sdk from 3.0.10 to 3.0.11.

Read more about the new features and how to use them in the documentation.


v6.2.0 Release (2023-04-07)🔗

Native SDK versions: Android 6.2.0, iOS 6.2.0

In this version:

MRGService module:

  • [Android] Added logger for network requests for new MRGS API.

Analytics module:

  • [Android] Fixed sending of MRGS metrics into AppsFlyer.

Authentication module:

  • Added MRGSAuthenticationMyGames#PrimaryNetwork and MRGSAuthenticationMyGames#ExcludedNetworks properties for changing or hiding main and small authentication buttons in MyGames.

  • [Android] Fixed a crash when MRGSGooglePlayGames#IsLoggedIn() method was called.

  • [Android] Removed extra web page after authentication in MRGSMyGames, if Firefox was used.

Read more about the new features and how to use them in the documentation.


v6.1.1 Release (2023-04-04)🔗

Native SDK versions: Android 6.1.1, iOS 6.1.1

In this version:

MRGService module:

  • Supported autodetection of AppDelegate events with swizzle - now you don't have to do it calling the same methods of MRGService. To enable it, add MRGSShouldSwizzle key with true value into Info.plist your application.

  • Fixed an issue of iOS building because of a broken define.

  • [IOS] Fixed an issue of saving requests queue.
  • [Android] Fixed an issue when MRGService#GetServerTime() return 0 because of race condition.

Firebase module:

  • Fixed CRLF warning for some files. Added a linter to check such situations.

Read more about the new features and how to use them in the documentation.


v6.1.0 Release (2023-03-27)🔗

Native SDK versions: Android 6.1.0, iOS 6.1.0

In this version:

MRGService module:

  • Added MRGSPurchaseEvent#CustomEvent(Revenue) method to create and send purchase information from different payment systems. Such purchases won't be validated by MRGS.
  • [IOS] Supported a new method to set SKAD conversionValue for iOS 15.4 - updatePostbackConversionValue.

  • [IOS] Now MRGService requires Swift.

  • Improved logic to work with Swift - now standard libs won't be added to application if target below iOS 12.2.

  • [Android] Fixed a crash when tried to get OpenUDID if JNI returned null value.

  • [Android] Fixed an issue when tried to initialize MRGS SDK from work thread.

Analytics module:

  • Added a new way to send subscription purchase information to AppsFlyer with S2S instead of client side. It can be enabled in MRGS console.

  • [IOS] Updated AppsFlyer SDK from 6.9.1 to 6.10.0.

  • Fixed duplication of subscription purchase events (both af_purchase and af_subscribe were sent).

Authentication module:

  • [IOS] Supported alternative bundleId for authentication in MyGames - now can be set a trusted list of bundleId in MRGS console, and can be used in your test application to avoid creation a new application in MRGS console.
  • Added a script to fix an incorrect signature of bundle with resources (when VK module was used with XCode 14+ and Cocoapods below 1.12.0). The script patches Pod file.

Firebase module:

  • Added a new MRGSFirebase#GetAppInstanceId(Action<string>) method to get appInstanceId from Firebase SDK.

  • [IOS] Updated Firebase SDK from 8.15.0 to 9.6.0.

MyTracker modules:

  • [IOS] Updated MyTracker SDK from 3.0.6 to 3.0.7.

Read more about the new features and how to use them in the documentation.


v6.0.0 Release (2023-02-10)🔗

Native SDK versions: Android 6.0.0, iOS 6.0.0

In this version:

MRGService module:

  • Added support for method for sending a new format of unified logs - accepts event name and a dictionary with any keys and values
  • Added method for setting default values that will enrich all logs sent via the new method to MRGSTracker
  • Added support for agreement acceptance event in MRGSTracker (e.g. when a user accepts a subscription agreement in California)
  • Added support for new MRGSTrackerProfile class to send new format profiles to unified logs
  • [Android] Fixed rare thread race bugs in MRGSTracker, due to which events could leave separate requests
  • Fixed MRGSMetrics.AddPurchase method for sending payment data on iOS to UnityIAP

Bank module:

  • Added sending appsflyerId for payments to Market|MyGames

GDPR module:

  • [Android] Fixed keyboard overlay for typing email in COPPA

Notifications module:

  • [Android] Fixed permission request for while push notifications when app starts on Android 13.

Support module:

  • Added notification support for the support widget - now when you click on the notification, the user will be able to go directly to the support widget

Analytics module:

  • Added UDL (Universal Deep Linking) support in AppsFlyer
  • [Android] Added support for subscription purchase events af_start_trial and af_subscribe in AppsFlyer
  • Fixed sending subscription data to Firebase - discounted price will now be taken into account

Showcase module:

  • [IOS] Fixed potential errors when displaying the store window inside the application

Authentication module:

  • [IOS] Changed Sign In With Apple sign-in cancellation error code to equal the standard MRGS cancellation error code (-101)
  • [Android] Fixed a bug due to which the authorization token for MRGSGooglePlayGames was not updated.
  • [Android] Fixed a bug due to which it was not possible to restore the authorization token from the cache for MRGSMyGames authorization, which caused authorization to stop working.

Read more about the new features and how to use them in the documentation.


v6.0.0-b02 Release (2023-01-23)🔗

Native SDK versions: Android 6.0.0-b02, iOS 6.0.0-b02

In this version:

MRGService module:

  • [Android] MRGSShareOptions.Url is now available on Android, the value will be appended to the end of MRGSShareOptions.Text.
  • [IOS] Fixed share dialog on iPad

Analytics module:

  • [IOS] Fixed a bug with not being able to get initialization parameters for AppsFlyer from Unity - resulting in an inability to start AppsFlyer

Showcase module:

  • [Android] Fixed ANR when trying to get User Agent.

Authentication module:

  • [IOS] Fixed build error on iOS - Undefined symbols for architecture arm64: mrgs_authentication_get_auth_info

Read more about the new features and how to use them in the documentation.


v6.0.0-b Release (2023-01-12)🔗

Native SDK versions: Android 6.0.0-b, iOS 6.0.0-b

In this version:

Main:

  • Added Native share window support. Read more here
  • Added Android 13 support
  • Completely redesigned MyGamesSupport API
  • Added authorization support for GooglePlayGamesV2.
  • The authorization module has been split into submodules - Facebook,Amazon,GoogleSignIn,GoogleGames
  • Changed default behavior for automaticPaymentTracking flag and sending userId to AppsFlyer.
  • Parameters for modules have been moved to the appropriate modules
  • The SDK now requires a minimum version of Android 4.4 (API 19).
  • Bugs fixed

MRGService module:

  • Added Native share window support. Read more here
  • Added bundleId validation to IntegrationCheck
  • [IOS] Changed behavior of automaticPaymentTracking flag to true by default
  • [Android] MRGService SDK now requires a minimum version of Android 4.4 (API 19).
  • Removed deprecated functionality.
  • [Android] Added hiding secrets in IntegrationCheck logs
  • [Android] Fixed rules for R8/ProGuard.
  • Removed class MRGSExternalSDKParams.
  • BankSubstitution property returned, now a String. The UseAsMainBank() methods have been removed.
  • [Desktop] Fixed getting statistics on the current consumed memory, as well as the operation of this method on Unity 2021.3.14+
  • [IOS] Fixed .pcm: No such file or directory errors when building application

Bank module:

  • MRGSSamsungBillingParams config has been moved to MRGSBank module.
  • Updated com.huawei.agconnect:agcp from 1.6.0.300 to 1.7.3.300
  • Updated com.huawei.hms:ads-identifier from 3.4.39.302 to 3.4.58.301
  • Updated com.huawei.hms:opendevice from 5.1.1.307 to 6.7.0.300
  • Updated com.huawei.hms:push from 6.1.0.300 to 6.7.0.300
  • Updated com.huawei.hms:iap from 6.1.0.300 to 6.4.0.301
  • [Android] Fixed error getting micros for Huawei subscriptions.
  • Fixed the LoadedProducts property.

Notifications module:

  • [Android] Added support for Android 13 - request permission to send notifications.
  • [Android] Updated com.google.firebase:firebase-messaging from 23.1.0 to 23.1.1.
  • [Android] Updated com.google.firebase:firebase-messaging from 23.0.6 to 23.1.0.

Support module:

  • Added a new class MRGSMyGamesSupport with a new completely redesigned interface for working with the support service (added page classes, config, new methods for opening a window), old classes are marked as Deprecated

Analytics module:

  • All events will now add additional mrgs userId and deviceId values.
  • Changed default behavior for sending userId and deviceId - now userId is sent in AppsFlyer's CUID by default, and using the UseDeviceIdAsUserId flag you can enable the old behavior for sending deviceId. Read more here
  • [IOS] Updated Appsflyer SDK from 6.8.0 to 6.9.1.
  • [Android] Updated com.appsflyer:af-android-sdk from 6.8.2 to 6.9.3.
  • The MRGSAppsFlyerParams config has been moved to the MRGSAnalytics module.

Firebase module:

  • Added method setUserProperties
  • [Android] Updated com.google.firebase:firebase-analytics from 21.1.0 to 21.2.0.

Authentication module:

  • [Android] Added authorization support for GooglePlayGamesV2.
  • The MRGSAuthenticationFacebook authorization has been moved into its own module MRGSAuthenticationFacebookModule.
  • The MRGSAuthenticationAmazon authorization has been moved into its own module MRGSAuthenticationAmazonModule.
  • MRGSGooglePlayGames authorization has been split into two modules MRGSGoogleSignIn and MRGSGooglePlayGames.
  • The MRGSAmazonParams config has been moved to the MRGSAuthenticationAmazon module.
  • The MRGSAppleGameCenterParams config has been moved to the MRGSAuthentication module.
  • The MRGSGooglePlayGamesParams config has been moved to the MRGSAuthenticationGooglePlayGames module.
  • The MRGSMyGamesParams config has been moved to the MRGSAuthentication module.
  • [Android] Updated com.google.android.gms:play-services-auth from 20.3.0 to 20.4.0.
  • [Android] Updated com.google.android.gms:play-services-games from 22.0.1 to 23.1.0.

Module MyTracker:

  • [Android] Updated com.my.tracker:mytracker-sdk from 3.0.9 to 3.0.10.

Read more about the new features and how to use them in the documentation.


v6.0.0-a04 Release (2022-12-16)🔗

Native SDK versions: Android 6.0.0-a04, iOS 6.0.0-a03

In this version:

GDPR module:

  • Added Virginia VCDPA law support to CCPA functionality

Bank module:

  • MRGSMyGamesBank#Instance now returns MRGSMyGamesBank instead of MRGSBank.
  • [Android] Fixed error 60001: too many query items for Huawei billing when try to request product
  • [Android] Fixed a bug in the #useAsMainbilling() method

Analytics module:

  • Added af_level field when proxying MRGS metrics in AppsFlyer

Module MyTracker:

  • [iOS] Fixed project build error on iOS 11.

Read more about the new features and how to use them in the documentation.


v6.0.0-a03 Release (2022-11-10)🔗

Native SDK versions: Android 6.0.0-a03, iOS 6.0.0-a02

In this version:

MRGService module:

  • [Android] Fixed bugs with integration check.

Bank module:

Showcase module:

  • Changed popup text about installing all games from the list.

Read more about the new features and how to use them in the documentation.


v6.0.0-a02 Release (2022-11-08)🔗

Native SDK versions: Android 6.0.0-a02, iOS 6.0.0-a01

In this version:

MRGService module:

  • The launch event will now tag the first launch on the device to track reattribution metrics
  • Fixed warnings in project due to iOS_Extra directory
  • Proxy settings for MyTracker are now obtained only when connecting this module
  • [Android] Fixed integration check for authorization modules and MyTracker
  • [Android] Fixed error of incorrect translation of Dictionary to Json in the TrackEvent method.

Support module:

  • [Android] Fixed MyGames Support

Module MyTracker:

  • [iOS] Fixed problem when archiving projects on iOS with the MyTracker module connected

Read more about the new features and how to use them in the documentation.


v6.0.0-a Release (2022-11-03)🔗

Native SDK versions: Android 6.0.0-a, iOS 6.0.0-a

This version includes backwards incompatible changes. To migrate to the new version, please refer to the Migrations documentation.

In this version:

  • MyTracker is now not a required dependency. Working with it is moved into a separate module MRGSMyTracker. The MRGSMyTrackerParams class has moved into the MRGSMyTracker module.
  • Work with VK authorization moved to a separate module MRGSAuthenticaitonVK. The MRGSVKontakteParams class has moved to the MRGSAuthenticationVK module.
  • Changed all package names from ru.mail.mrgs.. to games.my.mrgs..
  • removed references to VK/MyTracker from modules and moved them to the corresponding new modules

MRGService module:

  • Changed MRGS initialization method for MRGSMyTracker/MRGSAuthenticaitonVK/MRGSAuthenticaitonVKId modules
  • The MRGSVKIdParams class has moved to the MRGSAuthenticationVKId module.
  • Property MRGSMyGamesParams#VKPlayMode removed. Use MRGSMyGamesParams#CustomHost.

Support module:

  • Enum MRGSMyGamesSupportCredential.SocialNetwork#Vkontakte removed.

Authentication module:

  • Enum MRGSAuthenticationNetwork removed, now uses string constants in corresponding classes
  • Enum MRGSAuthenticationScope removed, now uses string constants in corresponding classes

Important

  • After the update, MyTracker SDK, VK SDK will disappear from the assembly, as they are now separate modules. Accordingly, the attribution and analytics of the project in MyTracker will stop.
  • In case you need to leave the SDK data in the project, it is enough just to connect new modules to the project and switch to the new initialization method.
  • Due to package name changes, some local notifications may be lost (delivered between the time the app was updated and before it was first opened after the update).
  • In order to continue using 1link and MyUA, 1link needs to switch project data collection to AppsFlyer + MRGS SDK.

Read more about the new features and how to use them in the documentation.


v4.3.3 Release (2022-11-02)🔗

Native SDK versions: Android 5.3.3, iOS 5.3.1

In this version:

Analytics module:

  • Changed host for AppsFlyer to appsflyersdk.com to bypass blocks in Russia

Showcase module:

  • Added support for remote title setting for Showcase

Bank module:

  • [Android] Improved handling of purchase errors in Samsung billing

Read more about the new features and how to use them in the documentation.


v4.3.2 Release (2022-10-17)🔗

Native SDK versions: Android 5.3.2, iOS 5.3.1

In this version:

MRGService module:

  • Added support for enriching MRGS events with the appsflyerId parameter even if the MRGSAnalytics module is not connected, i.e. the AppsFlyer SDK is integrated separately.

Read more about the new features and how to use them in the documentation.


v4.3.1 Release (2022-10-15)🔗

Native SDK versions: Android 5.3.1, iOS 5.3.0

In this version:

Analytics module:

  • [Android] Fixed a bug with sending AppsFlyer id in MRGS events.

Read more about the new features and how to use them in the documentation.


v4.3.0 Release (2022-10-14)🔗

Native SDK versions: Android 5.3.0, iOS 5.3.0

In this version:

Analytics module:

Read more about the new features and how to use them in the documentation.


v4.2.2 Release (2022-10-05)🔗

Native SDK versions: Android 5.2.1, iOS 5.2.0

In this version:

Bank module:

  • [iOS] Fixed build issues for projects that depend on swift-library

Read more about the new features and how to use them in the documentation.


v4.2.1 Release (2022-10-03)🔗

Native SDK versions: Android 5.2.1, iOS 5.2.0

In this version:

MRGService module:

  • [Android] Fixed a bug due to which it was incorrectly parsed MRGService.xml config, as a result of which MRGSGoogleGames returned a server code instead of an authorization token. Now, by default, the authorization token is returned again, unless a different value is set in MRGService.xml config.

Read more about the new features and how to use them in the documentation.


v4.2.0 Release (2022-10-03)🔗

Native SDK versions: Android 5.2.0, iOS 5.2.0

In this version:

  • [iOS] Now the libraries are distributed as xcframework.

MRGService module:

  • Deprecated MRGServiceParams#ForceMyGamesBankOnly property, use MRGServiceParams#BankSubstitution instead.

Authentication module:

  • Added a MRGSMyGamesParams#UseDevEnvironment property to enable/disable DEV environment for MyGames/VKPlay authentication. Learn more.

  • Supported a new authorization method via VKID (superappkit SDK). Learn more.

Bank module:

  • Supported a new authorization method MRGSBank#OpenSubscriptionManager() to open Subscription Manager. Learn more.

  • [Android] Supported a new payment method via VKPay (superappkit SDK). Learn more.

Read more about the new features and how to use them in the documentation.


v4.1.2 Release (2022-09-14)🔗

Native SDK versions: Android 5.1.1, iOS 5.1.1

In this version:

MRGService module:

  • Added ability to send base64 receipt when notifying payments via MRGSMetrics on iOS

Read more about the new features and how to use them in the documentation.


v4.1.1 Release (2022-09-05)🔗

Native SDK versions: Android 5.1.1, iOS 5.1.0

In this version:

MRGService module:

  • [Android] Updated com.my.tracker:mytracker-sdk from 3.0.8 to 3.0.9.

Read more about the new features and how to use them in the documentation.


v4.1.0 Release (2022-09-02)🔗

Native SDK versions: Android 5.1.0, iOS 5.1.0

In this version:

MRGService module:

  • Added new property MRGSApplication#InstallTime to get the application installation time in unixTime format in seconds. Learn more.
  • [Android] Added new property MRGSExternalSDKParams.MRGSMyTrackerParams#TrackingLocationEnabled to enable/disable device location data collection in MyTracker SDK. Location tracking in the MyTracker SDK will now be disabled by default. Learn more.

  • [Android] Updated com.my.tracker:mytracker-sdk from 3.0.7 to 3.0.8.

Analytics module:

  • [Android] Updated com.appsflyer:af-android-sdk from 6.8.0 to 6.8.2.

Authentication module:

  • Added new property IMRGSAuthenticationMyGames#ShouldHideBrandOccurrences to hide all brand mentions MY.GAMES when logging in via IMRGSAuthenticationMyGames. Learn more
  • Added new property MRGSExternalSDKParams.MRGSMyGamesParams#VKPlayMode to change the authorization method from MyGames to VKPlay. Learn more.

  • [Android] Removed checking of Play Games application when trying to login in via MRGSGoogleGames.

  • [Android] Fixed a crash when trying to login in via MRGSGoogleGames on some Samsung devices.

Bank module:

  • [IOS] Added support for buying multiple items in a single transaction.

  • [Android] Updated com.android.billingclient:billing from 3.0.3 to 4.1.0.

  • Fixed an issue when MRGSMyGamesBank saved data in MRGSBank instead of saving them at itself.

Read more about the new features and how to use them in the documentation.


v4.0.5 Release (2022-08-12)🔗

Native SDK versions: Android 5.0.4, iOS 5.0.1

In this version:

MRGService module:

  • [Desktop] Updated FBCloud SDK from version 1.0.5 to version 1.0.10

Bank module:

  • [Desktop] Fixed behavior of the OnReceivePendingPurchase callback in MyGames/Steam, now it is not called after viewing ads or closing any overlay by the user
  • [Desktop] Fixed LoadedProducts and LoadedProductsIds fields, now they return previously loaded products instead of null

Read more about the new features and how to use them in the documentation.


v4.0.4 Release (2022-08-05)🔗

Native SDK versions: Android 5.0.4, iOS 5.0.1

In this version:

Bank module:

  • [Android] Fixed an issue, when Google purchase information was not sent to AppsFlyer, Firebase, and MyTracker since version 4.0.0 - MRGS Unity SDK.

Read more about the new features and how to use them in the documentation.


v4.0.3 Release (2022-08-02)🔗

Native SDK versions: Android 5.0.3, iOS 5.0.1

In this version:

  • Supported Unity 2022

  • [Android] Downgraded androidx.appcompat:appcompat from 1.4.2 to 1.3.1, because it required compileSdkVersion not lower than 31.

MRGService module:

  • [Android] Fixed an issue when MRGSDevice#getOpenUDID(Callback) returns invalid OpenUDID as "0000-0000".

Authentication module:

  • [Android] Downgraded com.vk:android-sdk-core from 3.5.2 to 3.4.1, because it required compileSdkVersion not lower than 31.
  • [Android] Downgraded androidx.browser:browser from 1.4.0 to 1.3.0, because it is not compatible with android gradle plugin/gradle 4.0/6.1.1 and lower.

Read more about the new features and how to use them in the documentation.


v4.0.2 Release (2022-07-27)🔗

Native SDK versions: Android 5.0.2, iOS 5.0.1

In this version:

  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.4.2.

MRGService module:

  • Corrected code to support C# 4.0.
  • [Android] Updated com.my.tracker:mytracker-sdk from 3.0.4 to 3.0.7

Bank module:

  • Added support for remote Market|MyGames showcase title change.
  • Fixed build errors in MyGamesBank on iOS

Notifications module:

  • [Android] Updated com.google.firebase:firebase-messaging from 22.0.0 to 23.0.6.

Analytics module:

  • [Android] Updated com.appsflyer:af-android-sdk from 6.5.2 to 6.8.0
  • [IOS] Updated AppsFlyer SDK to version 6.8.0

Firebase module:

  • [Android] Updated com.google.firebase:firebase-analytics from 19.0.2 to 21.1.0.
  • [IOS] Updated Firebase SDK to version 8.15.0

Authentication module:

  • [Android] Added sending user info when logging in via Vk social network.
  • [Android] Updated com.vk:android-sdk-core from 3.3.0 to 3.5.2
  • [Android] Updated com.google.android.gms:play-services-auth from 19.2.0 to 20.2.0.
  • [Android] Updated com.google.android.gms:play-services-games from 21.0.0 to 22.0.1.
  • [Android] Updated androidx.browser:browser from 1.3.0 to 1.4.0.

Read more about the new features and how to use them in the documentation.


v4.0.1 Release (2022-07-05)🔗

Native SDK versions: Android 5.0.1, iOS 5.0.0

In this version:

Notifications module:

  • [Android] Fixed an issue java.lang.RuntimeException: Unable to start receiver.

Read more about the new features and how to use them in the documentation.


v4.0.0 Release (2022-06-29)🔗

Native SDK versions: Android 5.0.0, iOS 5.0.0

This version includes backwards incompatible changes. To migrate to a new version, see Migration guide.

In this version:

  • Removed Obsolete methods.
  • All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
  • The private part is hidden, the file structure has been changed.
  • Changed access to singleton - getInstance method moved to property Instance.

MRGService module:

  • Added new Initialize method for initialization MRGService. Old ones were marked as Obsolete.
  • Now, for the new initialization of MRGService#Initialize for Android, it requires to set MRGSPlatform which similar to the platform from MRGS console of your project.
  • Added a new async/await method MRGSDevice#GetGeoIpInfoAsync().
  • Added a new async/await method MRGSDevice#GetOpenUDIDAsync().
  • Added a new async/await method MRGSDevice#GetIdentifierForAdvertisingAsync().
  • Added a new async/await method MRGSDevice#GetIdentifierForVendorAsync().
  • The integration check now returns an MRGSIntegrationCheckResult.
  • Improved indentification MRGS DeviceId for Windows, there should be no more collisions.

  • Class MRGSFlurryParams removed.

  • Class MRGSChartboostParams removed.
  • Class MRGSGoogleConversionTrackingParams removed.

  • Interface MRGSServerDataDelegate renamed to IMRGSServerDataDelegate.

  • Property MRGSExtraOptionsiOS#MRGSNotificationCenterSupported removed.

  • Property MRGSExtraOptionsiOS#DefferedMRGSNotificationCenterStart renamed to MRGSExtraOptionsiOS#DeferredMRGSNotificationCenterStart.
  • Property MRGSExternalSDKParams#FlurryParams removed.
  • Property MRGSExternalSDKParams#ChartboostParams removed.
  • Property MRGSExternalSDKParams#GoogleConversionTrackingParams removed.

  • Method MRGSLog#addPaymentLog(string) removed.

Advertising module:

  • Interface MRGSAdvertising.MRGSAdvertisingLoadDelegate renamed to MRGSAdvertising.ILoadDelegate.
  • Method of ILoadDelegate#onAdvertisingLoaded interface renamed to ILoadDelegate#OnAdvertisingLoaded.
  • Method of ILoadDelegate#onAdvertisingLoadingError interface renamed to ILoadDelegate#OnAdvertisingLoadingError.

  • Interface MRGSAdvertising.MRGSAdvertisingShowDelegate renamed to MRGSAdvertising.IShowDelegate.

  • Method of IShowDelegate#onAdvertisingFinished(bool) interface renamed to IShowDelegate#OnAdvertisingFinished(bool).

Analytics module:

  • Interface MRGSAppsFlyerDelegate renamed to IMRGSAppsFlyerDelegate.
  • Method of IMRGSAppsFlyerDelegate#onConversionDataSuccess interface renamed to IMRGSAppsFlyerDelegate#OnConversionDataSuccess.
  • Method of IMRGSAppsFlyerDelegate#onAppOpenAttribution interface renamed to IMRGSAppsFlyerDelegate#OnAppOpenAttribution.

Authentication module:

  • Added error codes and domains: MRGSAuthenticationErrorCode and MRGSAuthenticationErrorDomain and are brought to a uniform correspondence between Android/iOS/Unity.

  • Methods .Instance/getInstance() of MRGSAuthenticationAmazon returns an IMRGSAuthenticationAmazon interface.

  • Methods .Instance/getInstance() of RGSAuthenticationAppleGameCenter returns an IMRGSAuthenticationAppleGameCenter interface.
  • Methods .Instance/getInstance() of MRGSAuthenticationFacebook returns an IMRGSAuthenticationFacebook interface.
  • Methods .Instance/getInstance() of MRGSAuthenticationGoogleGames returns an IMRGSAuthenticationGoogleGames interface.
  • Methods .Instance/getInstance() of MRGSAuthenticationMyGames returns an IMRGSAuthenticationMyGames interface.
  • Methods .Instance/getInstance() of MRGSAuthenticationPlarium returns an IMRGSAuthenticationPlarium interface.
  • Methods .Instance/getInstance() of MRGSAuthenticationSignInWithApple returns an IMRGSAuthenticationSignInWithApple interface.
  • Methods .Instance/getInstance() of MRGSAuthenticationVKontakte returns an IMRGSAuthenticationVKontakte interface.

  • Method of IMRGSAuthenticationDelegate#onAuthenticationProviderDidLogoutUser interface renamed to IMRGSAuthenticationDelegate#OnAuthenticationProviderDidLogoutUser.

  • Enum MRGSAuthenticationScope.SIWAFullName renamed to MRGSAuthenticationScope.SignInWithAppleFullName.

  • Enum MRGSAuthenticationScope.SIWAEmail renamed to MRGSAuthenticationScope.SignInWithAppleEmail.

  • Enum MRGSAuthenticationAchievementState removed. Use MRGSAuthenticationAchievement.State instead.

Bank module:

  • Class MRGSBankProductsResponce renamed to MRGSBankProductsResponse.
  • Interface MRGSBankDelegateEx marked as Obsolete. Use IMRGSBankDelegate instead.
  • Property MRGSBank#DelegateExtended marked as Obsolete. Use MRGSBank#Delegate instead.

  • Enum MRGSSubscriptionPeriod.MRGSSubscriptionPeriodUnit renamed to MRGSSubscriptionPeriod.PeriodUnit.

  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitDay renamed to PeriodUnit.Day.
  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitWeek renamed to PeriodUnit.Week.
  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitMonth renamed to PeriodUnit.Month.
  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitYear renamed to PeriodUnit.Year.

  • Enum MRGSBankProductDiscount.MRGSDiscountPaymentMode renamed to MRGSBankProductDiscount.DiscountPaymentMode.

  • Enum DiscountPaymentMode.kMRGSBankProductDiscountPaymentModeFreeTrial renamed to DiscountPaymentMode.FreeTrial.
  • Enum DiscountPaymentMode.kMRGSBankProductDiscountPaymentModePayAsYouGo renamed to DiscountPaymentMode.PayAsYouGo.
  • Enum DiscountPaymentMode.kMRGSBankProductDiscountPaymentModePayUpFront renamed to DiscountPaymentMode.PayUpFront.

  • Enum MRGSBankProductDiscount.MRGSDiscountType renamed to MRGSBankProductDiscount.DiscountType.

  • Enum MRGSDiscountType.kMRGSDiscountTypeSubscription renamed to MRGSDiscountType.Subscription.
  • Enum MRGSDiscountType.kMRGSDiscountTypeIntroductory renamed to MRGSDiscountType.Introductory.

GameCenter module:

  • Interface MRGSGameCenterClientDelegate removed. Use IMRGSGameCenterClientDelegate instead.

GDPR module:

  • Interface MRGSCOPPA.IMRGSCOPPADelegate renamed to MRGSCOPPA.IShowDelegate.
  • Interface MRGSCOPPA.IMRGSGDPRDelegate renamed to MRGSCOPPA.IShowDelegate.
  • Enum MRGSCCPAUserPreference.MRGSCCPAUserPreferenceShare renamed to MRGSCCPAUserPreference.Share.
  • Enum MRGSCCPAUserPreference.MRGSCCPAUserPreferenceNotSharing renamed to MRGSCCPAUserPreference.NotSharing.

Showcase module:

  • Method of IMRGSShowcaseDelegate#didReceiveNewShowcaseContent(int)interface renamed to IMRGSShowcaseDelegate#OnReceiveNewShowcaseContent(int).

Notifications module:

  • [iOS] Fixed crash with cyclic call when using native delegate by third-party SDKs.

  • Enum LockScreenVisibility.VISIBILITY_PUBLIC renamed to LockScreenVisibility.Public.

  • Enum LockScreenVisibility.VISIBILITY_PRIVATE renamed to LockScreenVisibility.Private.
  • Enum LockScreenVisibility.VISIBILITY_SECRET renamed to LockScreenVisibility.Secret.
  • Enum LockScreenVisibility.VISIBILITY_NO_OVERRIDE renamed to LockScreenVisibility.NoOverride.

  • Enum MRGSNotificationTriggerType removed. Use MRGSNotificationTrigger.Type instead.

  • Enum Type.kMRGSTimeIntervalTrigger renamed to Type.TimeInterval.
  • Enum Type.kMRGSDateComponentsTrigger renamed to Type.DateComponents.
  • Enum Type.kMRGSLocationTrigger renamed to Type.Location.
  • Enum Type.kMRGSRemoteTrigger renamed to Type.Remote.

Read more about the new features and how to use them in the documentation.


v3.12.5 Release (2022-06-06)🔗

Native SDK versions: Android 4.18.5, iOS 4.11.3

In this version:

MRGService module:

  • Added support for remote setting proxy server for MyTracker requests

Bank module:

  • Fixed a bug due to which it was impossible to add the Amazon in-app library to the project through the Unity menu.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.12.4 Release (2022-05-23)🔗

Native SDK versions: Android 4.18.4, iOS 4.11.2

In this version:

Notifications module:

  • [Android] Fixed crash in the previous release, when trying to restore local push-notifications from the cache after restarting the application.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.12.3 Release (2022-05-17)🔗

Native SDK versions: Android 4.18.3, iOS 4.11.2

In this version:

  • [IOS] iOS SDK has been rebuilt with XCode version below 13.3.

Notifications module:

  • [Android] Fixed crash in the previous release when trying to create a local custom push notification if resources could not be found.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.12.2 Release (2022-05-04)🔗

Native SDK versions: Android 4.18.2, iOS 4.11.2

In this version:

Advertising module:

  • [Android] Changed button size from 30dp to 35dp.
  • [IOS] Improved campaign parsing

Notifications module:

  • [Android] Fixed errors when displaying notifications after updating the application due to changing resource ids after recompilation.

Showcase module:

  • Added ability to hide showcase title remotely
  • [IOS] Improved campaign parsing

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.12.1 Release (2022-04-08)🔗

Native SDK versions: Android 4.18.1, iOS 4.11.1

In this version:

MRGService module:

  • [Android] Changed a behavior of MRGService#ServerTime. Now serverTime will not be reset to 0 when the application is minimized. Learn more.

  • [Android] Fixed a bug with infinite sending of network requests in case of network problems.

Authentication module:

  • [Android] Fixed an issue Class not found when unmarshalling for Vk authentication.

Bank module:

  • Added sending of version number and build to the server MRGS for VKPay payments.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.12.0 Release (2022-03-24)🔗

Native SDK versions: Android 4.18.0, iOS 4.11.0

In this version:

MRGService module:

  • Added a new MRGSDevice#GetGeoIpInfo(Action<MRGSGeoIpInfo, MRGSError>) method to determine the geographical location of the device with Internet access by its IP address. Learn more.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.11.1 Release (2022-03-22)🔗

Native SDK versions: Android 4.17.0, iOS 4.10.1

In this version:

Bank module:

  • Improved error handling in MyGamesBank
  • Possible build errors fixed for iOS

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.11.0 Release (2022-03-18)🔗

Native SDK versions: Android 4.16.0, iOS 4.10.0

In this version:

MRGService module:

  • [Desktop] Fixed errors in logging (they could cause a crash in FBCloud)

Bank module:

  • Added support for VKPay (Market|MyGames) payments - an alternative way to pay for purchases when placed outside of app stores

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.10.0 Release (2022-02-28)🔗

Native SDK versions: Android 4.15.0, iOS 4.9.1

In this version:

MRGService module:

  • Added MRGSDevice#GetIdentifierForAdvertising(Action<string, MRGSError>) method to retrieve IDFA asynchronously. Learn more.
  • [Desktop] Added support for Facebook Cloud Gaming (core, authentication, bank, notifications MRGS modules).

  • [Android] Fixed a bug where metrics were not sent from MRGSMetrics to AppsFlyer when forwardMetrics was enabled.

Support module:

  • [IOS] Added support for viewing files (as well as the ability to share them) downloaded from support. If the file does not support viewing, ShareView will be shown as before.

  • [Android] Removed android.permission.READ_EXTERNAL_STORAGE from manifest.

  • [Android] android.permission.WRITE_EXTERNAL_STORAGE requires android 8 or lower.

  • [IOS] Fixed share view after support widget closing.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.9.1 Release (2022-02-08)🔗

Native SDK versions: Android 4.14.0, iOS 4.9.0

In this version:

Authentication module:

  • [Desktop] Fixed compilation errors in Plarium and MyGames for desktop builds

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.9.0 Release (2022-02-07)🔗

Native SDK versions: Android 4.14.0, iOS 4.9.0

In this version:

MRGService module:

  • [IOS] Added feature to start SKAD revenueStep from 0-X1 interval. Read more here.

  • [IOS] Update MyTracker SDK from 3.0.5 to 3.0.6. Learn more.

  • [IOS] Added partial hiding of all secrets and keys in Integration Check logs
  • [Android] Updated MyTracker SDK from 3.0.2 to 3.0.4. Learn more.
  • [Android] Now, as a result of the integration check, a part of the secret key of MRGS SDK will be output.

  • [Android] Fixed an error that caused a problem about parsing JSONArray to be displayed in the log when MRGService debug was enabled. This error did not affect the SDK functionality in any way.

Analytics module:

  • [IOS] Updated AppsFlyer SDK from 6.4.2 to 6.5.2. Learn more.
  • [Android] Updated AppsFlyer SDK from 6.5.0 to 6.5.2. Learn more.

  • Added additional sending of payment data such as: af_content_id (sku of a product) and af_order_id (orderId from a receipt).

Authentication module:

  • Added a new MRGSAuthentication#getAccessToken(Action<MRGSAuthenticationAccessToken, MRGSError>) method to get AccessToken asynchronously, this will always allow you to get an up-to-date and valid token.

  • Deprecated MRGSAuthentication#getAuthInfo() method.

  • Improvements and optimizations.

  • [Android] Fixed an error indicating an incorrect token expiration time for MRGSAuthenticationVKontakte authorization, now 0 will be returned instead of the token creation time.

  • [Android] Fixed an error when the user logged out in MRGSAuthenticationVKontakte while initialization MRGService SDK if there is no internet connection.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.8.0 Release (2022-01-24)🔗

Native SDK versions: Android 4.13.0, iOS 4.8.0

In this version:

MRGService module:

  • Added a new MRGSTracker#TrackUserProfile(MRGSTrackerUserProfile) method for sending a user profile to the system of custom logs (events). Learn more.
  • [Android] Downgraded appcompat library version from 1.3.1 to 1.2.0 because the new version requires updating a project to targetSdkVersion 31.

Advertising module:

  • Fixed the private method of opening links in PlayableAds in mraid format.

Authentication module:

  • [Android] Fixed issue when system could create another instance of CustomTabActivity for Facebook or MyGames authentication to pass result and it could lead to crash.
  • [Android] Fixed incorrect saving Activity state.

GDPR module:

  • Added a new MRGSGDPR#resetModule() method to reset the fact of acceptance of the agreement and all data in GDPR, COPPA. It also resets the CCPA settings and sets them to the third-party tracking allowed status if tracking was turned off earlier. That is, a complete reset of the GDPR module to the state of the newly installed application. This method should be called ONLY if the user requested to delete his account according to the GDPR law, he was deleted, and you need to reset the fact of his acceptance of the agreement on the client so that the GDPR/COPPA window for the new user account is shown again.

Support module:

  • Added an ability to create a request to delete all your data by the user (GDPR). Learn more.

Showcase module:

  • Changed showcase design.
  • Changed behavior for calculating notification. Now if the advertisement that the user has already seen comes again, then there will be no more notifications.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.7.3 Release (2021-12-18)🔗

Native SDK versions: Android 4.12.2, iOS 4.7.1

In this version:

MRGService module:

  • [Desktop] Fixed build on Unity 2019.2 and lower

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.7.2 Release (2021-12-16)🔗

Native SDK versions: Android 4.12.2, iOS 4.7.1

In this version:

MRGService module:

  • [Desktop] Added collecting more device parameters on Windows.

  • [Android] Updated MyTracker SDK from 3.0.1 to 3.0.2. Learn more.

  • [Android] Updated Appset Id SDK from 16.0.0 to 16.0.1.

  • [Desktop] Fixed a possible crash when deleting a file

Analytics module:

  • [Android] Updated AppFlyer SDK from 6.3.2 to 6.5.0. Learn more.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.7.1 Release (2021-12-13)🔗

Native SDK versions: Android 4.12.1, iOS 4.7.1

In this version:

MRGService module:

  • [IOS] Fixed truncation of logs in some cases
  • Temporarily removed session tracking in WebGL

Bank module:

  • [Android] Fixed incorrect behavior when different callback methods could return developerPayload with different structure. Now only the option that was originally transferred at the time of purchase will be returned.

GDPR module:

  • [Android] Fixed error with a long response time when calling MRGSCOPPA#showCOPPAFlowIfNeeded if there is no internet.
  • Fixed bug with incorrect processing of MRGSCOPPAShowResult.Reason.OutsideTheScopeOfCOPPA from Android, due to which MRGSCOPPAShowResult.Reason.Unknown was returned.

Support module:

  • [IOS] Fixed crash in MyGames Support when checking tickets

Showcase module:

  • [IOS] Fixed display of AppClips for the first banner in the storefront (in rare cases, AppClip might not appear before)

Authentication module:

  • Fixed rare crash when trying to log in with Facebook on a mobile device.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.7.0 Release (2021-12-07)🔗

Native SDK versions: Android 4.12.0, iOS 4.7.0

In this version:

MRGService module:

  • Added support for setting third-party userId in MyTracker via MRGSMyTracker#ForceCustomUserId(String). Learn more.
  • Added a new MRGSDevice#GetIdentifierForVendor(Action<string, MRGSError>) method method which provides IDFV for Apple store, AppSet id for Google store, ODID for Huawei store or null for another stores.
  • [Android] Added support App set ID.

  • [IOS] Updated MyTracker SDK from 3.0.2 to 3.0.5.

  • [Android] Removed sending unique identifiers over the network such as Build.SERIAL and Wi-Fi MAC address, due to warnings from Google.
  • [Android] Changed behaviour of the MRGSDevice#getOpenUDID(IMRGSUDIDDelegate) method, because this method could not correctly generate OpenUDID before initializing MRGService. Now this method can return null if it is called on the very first launch of the application before initialization of MRGService.

  • Fixed some code sections for C# 4.0 compatibility.

  • [IOS] Fixed data output to the log.

Advertising module:

  • [Android] Fixed long loading of ads, which could take from 0 to 5 seconds.
  • [Android] Fixed a bug where the "close" button could be blocked when showing a video.
  • [Android] Fixed out-of-sync between the time counter in the button and the video player.

Analytics module:

  • Added support for setting customerUserId in AppsFlyer via MRGSAppsFlyer#ForceCustomerUserId(String) method before starting MRGS, as well as disabling automatic setting of this parameter. Learn more.

  • [IOS] Updated AppsFlyer SDK from 6.3.5 to 6.4.2.

Bank module:

  • [Android] Fixed a bug with json parsing when JSONObject.optstring could return "null" instead of "" for Facebook Cloud billing.

GDPR module:

  • [Android] Added MRGSGDPR#openLinkInWebView(Context context, String title, String url) method to open external links of GDPR in WebView for Facebook Cloud.
  • [Android] Fixed a bug, where two events about opening and accepting GDPR had different hashes.

Support module:

  • Improved check tickets(MRGSMyComSupport#checkTickets(Context))) for support widget - now the check will work faster and load the support server less.
  • Removed support for the old MyGames Support widget.
  • Removed MRGSMyComSupport#Secret method, method, which was used for the old widget.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.6.1 Release (2021-11-09)🔗

Native SDK versions: Android 4.11.0, iOS 4.6.1

In this version:

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.6.0 Release (2021-11-03)🔗

Native SDK versions: Android 4.11.0, iOS 4.6.1

In this version:

MRGService module:

  • [Android] Added supporting Android 12.
  • [Android] Updated MyTracker SDK from 3.0.0 to 3.0.1.
  • [Android] Updated com.google.gms:google-services from 4.3.5 to 4.3.10.
  • [Android] Updated com.huawei.agconnect:agcp from 1.4.1.300 to 1.6.0.300.
  • [Android] Updated com.huawei.hms:ads-identifier from 3.4.34.301 to 3.4.39.302.
  • [Android] Updated com.huawei.hms:opendevice from 5.0.4.300 to 5.1.1.307.
  • [Android] Fixed a rare error that caused mrgsmetrics#addpurchase to lose events that did not have time to go away during the game session after restarting the application.
  • [Android] Fixed error with incorrect reading of MRGSError#Domain from a native object, which is why MRGSError#Domain always contained the same value.
  • [Desktop] Fixed buffer saving sending to WebGL.
  • [Desktop] Fixed session tracking in WebGL.
  • [Desktop] Fixed PostBuild for builds on Windows - unnecessary dll will be removed.
  • [Desktop] Fixed crash when getting the language.

Advertising module:

  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Updated androidx.recyclerview:recyclerview from 1.0.0 to 1.2.1.

Analytics module:

  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.

Authentication module:

  • [Android] Increased the number of available browsers for authorization. Previously, only Chrome was used.
  • [Android] Removed WebView as one of the ways to login to Facebook, since this method is no longer supported. An error with the code will also be sent to the callback -110 and the description Browser not found if there is no browser on the device. In this case, we recommend that you show users an alert that you need to install a browser to log in to Facebook.
  • [Android] Excluded authorization way via Facebook or Google in MyGames if WebView is used, so these social networks no longer support WebView.
  • [Android] Updated Facebook graph api version from 6.0 to 11.0.
  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Updated androidx.browser:browser from 1.0.0 to 1.3.0.
  • [Android] Updated com.google.android.gms:play-services-auth from 18.0.0 to 21.0.0.
  • [Android] Updated com.google.android.gms:play-services-games from 19.0.0 to 19.2.0.
  • [Android] Updated com.vk:androidsdk:2.7.0 from com.vk:android-sdk-core:3.3.0. Attention!!! Now VK authorization is required minSdkVersion="21" (Android 5.0+) to work.
  • [Android] Fixed NullPointerException in CustomTabMainActivity when trying to log in via MyGames.

Bank module:

  • [Android] Added supporting AppTouch. This feature is enabled automatically and does not require additional settings.
  • [Android] Added check for the size of the developer Payload, if it is larger than 255 bytes, an error will be returned when trying to make a payment.
  • [Android] Added package visibility for Samsung billing, for Android 11.
  • [Desktop] Improved the definition of Steam payments in MGRS statistics when posted through the MyGames Center.
  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Updated com.huawei.hms:iap from 5.1.0.300 to 6.1.0.300.
  • [Android] Fixed error on collecting the type of currency for Samsung payments for the module MRGSBilling. Previously, they took the code from "79.99$", but this code can be used for different currencies, which is why the statistics were not correct. Now the currency code RUB, EUR, etc will be sent. There is no such error if payments were sent via MRGSMetrics#addPurchase(MRGSPurchaseEvent).

Firebase module:

  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Updated com.google.firebase:firebase-analytics from 18.0.2 to 19.0.2.

GameCenter module:

  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Updated androidx.recyclerview:recyclerview from 1.0.0 to 1.2.1.

GDPR module:

  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [IOS] Fixed working with memory in COPPA

Notifications module:

  • [Desktop] Added support for notifications in Plarium, both for regular embroidery, and when working through MyGames Center.
  • [Desktop] Added support for notifications in MyGames Center.
  • [Android] Now MRGSPushNotification#setCustomViewImage will search for the image not only in drawable but also in mipmap if the image was not in drawable.
  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Updated com.google.firebase:firebase-messaging from 21.0.1 to 22.0.0.
  • [Android] Updated com.huawei.hms:push from 5.0.4.302 to 6.1.0.300.

Recommendations module:

  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.

Showcase module:

  • [IOS] Fixed AppClips, improved scrolling animation
  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Updated androidx.recyclerview:recyclerview from 1.0.0 to 1.2.1.
  • [Android] Fixed potential memory leaks.

Support module:

  • Added support for VK authorization when opening the support widget.
  • [Android] Updated androidx.appcompat:appcompat from 1.2.0 to 1.3.1.
  • [Android] Fixed potential memory leaks.

Switching to a new support widget

In the next release, we will remove support for the old support widget. The client will no longer need to set the secret and the project ID - the secret is stored on the server, and the projectId will be equal to mrgsAppId. In order to get ready, check the work of the new widget in your project (usually problems arise with the test application, since the projectId is equal to mrgsAppId. This means that there may not be a test project in the support, in which case you need to request its creation)

VK authorization

Now VK authorization requires Android 5.0+ (Api level 21+).

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.5.0 Release (2021-10-01)🔗

Native SDK versions: Android 4.10.0, iOS 4.6.0

In this version:

MRGService module:

  • Added support for events sending messages in chat and correspondence in the game using MRGSTracker (transferring chat logs according to Yarovaya's law)
  • [Android] Added ability to check if the client id was specified correctly for MyGames authorization by checking the integration.
  • [Desktop] Fixed getting country and language

Support module:

  • Added support for authorization in the support widget - now the widget has become more secure, and will allow you to link user requests with accounts in social networks. When using the MRGSAuthentication module, authorization will be pulled up automatically.

GDPR module:

  • Added support for private links to Privacy policy in GDPR when displaying default/custom HTML with localization. It is enough to register a link to policy in the MRGS admin panel.
  • [Android] Fixed crash of java.lang.NullPointerException in COPPA.

Bank module:

  • [Android] Fixed error INVALID_PARAMETER, errorMessage: This operation duplicates an unresolved request when multiple calls to the isBillingAvailable method for FacebookCloud.

Authentication module:

  • [Android] Now the device locale will be transferred to the MyGames authorization in order to change the interface language. The locale will be transmitted if a flag is set in the MRGS remote config.
  • [Desktop] Removed dependency on unitywebrequesttexture - earlier, if this package was missing, a compilation error could be generated
  • Fixed updating the token in MyGames authorization within one game session (previously, the token was updated only at the start of the application)
  • Fixed possible display of the "follow the link" window in the MyGames authorization if WebView was used.

Notifications module:

  • Improved the transfer of attachment file paths in notifications on iOS - now we recognize more formats in which to transfer the path

Showcase module:

  • [IOS] Fixed showcase background when building with iOS 15 SDK
  • [IOS] Fixed error when checking the hash sum if an invalid md5 hash came from the server.

Advertising module:

  • [IOS] Fixed error when checking the hash sum if an invalid md5 hash came from the server.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.4.3 Release (2021-09-21)🔗

Native SDK versions: Android 4.9.3, iOS 4.5.1

In this version:

MRGService module:

  • [Android] Updated facebook-gamingservices SDK from 11.0.0 to 11.2.0.
  • Added a limit on the size of unified logs sent in the amount of 128kb.
  • [Desktop] Changed store detection when working through MyGames back to sync

Advertising module:

  • [Android] Fixed an error when checking the hash amount if a non-valid md5 hash came from the server.

Authentication module:

  • [Desktop] Fixed saving authorization data for Plarium and MyGames - now OptionalParams will be restored correctly and will not be equal to null
  • [IOS] Fixed work of MyGames authorization - now if userId is an empty string, authorization will return an error

GDPR module:

  • [Android] Fixed support notch of android for the COPPA dialog.
  • Changed text in the window showing restrictions on the game in COPPA

Notifications module:

  • [Android] Fixed a bug with sending local push notifications for Facebook Cloud.

Showcase module:

  • [Android] Fixed an error when checking the hash amount if a non-valid md5 hash came from the server.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.4.2 Release (2021-09-17)🔗

Native SDK versions: Android 4.9.2, iOS 4.5.0

In this version:

MRGService module:

  • [Desktop] Fixed the debug flag on the Unity version - now when the flag is off, no logs are written
  • [Desktop] Fixed logging in Plarium
  • [Desktop] Fixed warnings

GDPR module:

  • [Android] Fixed a crash IllegalStateException: Can not perform this action after onSaveInstanceState when trying to show the COPPA dialog, if the user minimized the application at the time of launching the dialog.

Notifications module:

  • [Android] Fixed a crash when trying to send metrics about receiving push notifications or trying to open the app via push.
  • [Android] Fixed a crash when trying to open the app via a local push notification.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.4.1 Release (2021-09-16)🔗

Native SDK versions: Android 4.9.1, iOS 4.5.0

In this version:

MRGService module:

  • [Android] Fixed bug when getting application context.
  • [Android] Fixed error when trying to get a token for a new network api.
  • Fixed the default value of the forwardMetrics flag in MyTrackerParams when initialized from code - now it defaults to true

GDPR module:

  • Added property to check for COPPA support on the platform
  • Fixed behavior of MRGSCOPPA in Editor - now the delegate returns the success of the show so that you can write generic code
  • [Android] Changed behavior of checking the user's page for COPPA. Now, if it was not possible to get ahead of the user's country by ip address, then the result will be returned that the user does not fall under COPPA.
  • [Android] Changed behavior of checking the user's page for COPPA. Now the country is checked only by the ip address.

Support module:

  • [Android] Fixed error Class not found when unmarshalling: MyComSupportParams when trying to open MyGames Support on older Samsung devices.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.4.0 Release (2021-09-03)🔗

Native SDK versions: Android 4.9.0, iOS 4.5.0

In this version:

Important changes:

  • Added support for COPPA law. For more details see documentation
  • [Desktop] Added support for Plarium Play store. See more in documentation.
    • Features: payments, authorization, event tracking
    • Assembling/Release: you can release both directly in Plarium, and through the MyGames center
  • [Android] Added support for Facebook Cloud - payments, authorization. For more details see documentation
  • [Desktop] Added support for Steam store - you can release both directly on Steam and through the MyGames game center. See more in documentation.
  • [Desktop] Added support for WebGL platform.
  • [IOS] The minimum supported version of iOS has been raised to 9.0.

MRGService (core) module:

  • [Desktop] Added protection against double-calling start SDK.
  • [Android] Fixed an error when using default billing in the config settings via the code. Now google billing will be used instead of empty string, according to the documentation.
  • [Desktop] Fixed an error with the non-sending of applicationExit on some projects - because of this, statistics on launches could be incorrectly calculated.
  • [Desktop] Fixed working of the version on Nintendo Switch
  • [IOS] Fixed warnings for non-arc projects.

Bank module:

  • [IOS] Fixed crash in iOS 15 beta due to an empty locale in returned Apple products.

Showcase module:

  • [IOS] Improved scrolling animation in the showcase.
  • [IOS] Fixed animation of the showcase rotation.

Authentication module:

Push-notifications

The basis for future push notifications in Facebook Cloud has been added. Now this MRGSNotifications module cannot be used until MRGService is initialized.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.3.1 Release (2021-08-25)🔗

Native SDK versions: Android 4.8.1, iOS 4.4.0

In this version:

MRGService (core) module:

  • [Android] Fixed error setting additional parameters for metrics in the method of the MRGSMetrics#AddMetric class.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.3.0 Release (2021-08-24)🔗

Native SDK versions: Android 4.8.0, iOS 4.4.0

In this version:

MRGService (core) module:

  • Added support for a new system for collecting in-game logs (events). For more details see documentation.
  • [Android] Changed method of sending metrics
  • [Android] Fixed error java.lang.ClassCastException: java.lang.String cannot be cast to ru.mail.mrgservice.MRGSMap in MRGSIntegrationCheck.
  • [Android] Updated MyTracker SDK from 2.1.2 to 3.0.0
  • [IOS] Updated MyTracker from version 2.2.1 to 3.0.2

Analytics module:

  • Improved tracking of payments. Now information on new payments is sent only once, which allows to avoid duplicates in statistics.
  • [IOS] Added support for sending subscription purchase (af_subscribe) or trial subscription (af_start_trial) events in AppsFlyer
  • [Android] Updated Appsflyer SDK from 6.2.3 to 6.3.2
  • [IOS] Updated AppsFlyer from version 6.2.5 to version 6.3.5

Firebase module:

  • Improved tracking of payments. Now information on new payments is sent only once, which allows to avoid duplicates in statistics.
  • [IOS] Updated Firebase from version 7.4.0 to version 8.6.0

Showcase module:

  • [Android] Fixed error when checking hash sums of banners, which affected the display of the banner in the showcase.

Recommendations module:

  • Added support for sending new types of events for recommender system (RecSys). For more details see documentation.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.2.4 Release (2021-08-06)🔗

Native SDK versions: Android 4.7.0, iOS 4.3.8

In this version:

MRGService (core) module:

  • [iOS] Improved integration check - MyGames ClientId will now be validated (if present).
  • [Android] Fixed a problem with the idfa consisting of only zeros for the Huawei store. Now, for more accurate statistics, you need to added com.huawei.hms:open device:<version> library.
  • [Android] Fixed version accuracy of MyTracker SDK from <version> to [<version>] in the config file, since PlayServiceResolver could overestimate the version to backward incompatible.

Advertising module:

  • [iOS] Added support for opening AppStore inside the application and support for AppClips (system pop-up through which you can download/open the application without leaving the game). For more details, see the advertising module page

Analytics module:

  • Added functionality from AppsFlyer to generate invite links. For more details, see the analytics module page

Authentication module:

  • Google

    • Fixed login error for target 30+ (Android 11+) due to missing entry <package android:name= "com.google.android.play.games" /> in the SDK manifest file.
    • Fixed an error due to which, at the time of login, an error was always written to the log MRGSGoogleGames getSignInClient no activity attached!!!
  • MyGames

    • [Android] Fixed authorization issue if the user has two-factor authentication enabled.

Billing module:

  • Samsung
    • Fixed error setting developer Payload when calling the function-transaction recovery.

Firebase module:

  • [Android] Fixed NullPointerException if the module was added but the Firebase SDK wasn't, then in some cases the module could throw an error.

GDPR module:

  • [Android] Changed behavior for the time of sending the GDPR acceptance event, since it requires knowing the MRGS platform to send it. Now this event is sent after initialization of MRGService.
  • [Android] Fixed a problem with updating the GDPR version separately for each application. Now for each application, you can specify the GDPR version in the config on the MRGS server.

Support module:

  • [iOS] Fixed bug with showing support widget using authorization code from Unity plugin (method showWithAuthenticationCode ())
  • [Android] Fixed an error for the new widget, due to which the extra_params field was passed to the locale field and was not processed on the server.

Notifications module:

  • [iOS] Fixed bug with developerPayload in notifications received from the server, now it is not in the params field, but in the root of the dictionary (data for compatibility is also left in the params field).

Showcase module:

  • [iOS] Added support for opening AppStore inside the application and support for AppClips (system pop-up through which you can download/open the application without leaving the game). For more details, see the showcase module page
  • [Android] Removed a timer that blocked banner clicks if click_time was sent from the server greater than 0.
  • [Android] Changed a behavior of sending the number of banner click events for one display of the showcase. Previously, it was possible to send no more than one click event for each banner for one display of the showcase, now there is no such restriction.
  • [Android] Fixed an error with initialization of MRGSShowcase due to which any first access to the class functionality did not perform anything. The problem was only at the first request to the class, all subsequent requests worked correctly.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.2.3 Release (2021-06-28)🔗

Native SDK versions: Android 4.6.2, iOS 4.3.7

In this version:

MRGService (core) module:

  • [iOS] Fixed a warning for MRGSMetrics.AddPurchase(Product) method because of using deprecated internal method in it.
  • [Desktop] Fixed crash when saving / expanding the message queue, crash when receiving invalid data from the server (base64Decode)
  • [Desktop] Fixed SDK work on Nintendo Switch - now there is no data saving to the file system.

Billing module:

  • [iOS] Fixed a bug when MRGSBankPurchaseResult.ProductIdentifier always returned null.
  • [Android] Fixed a bug when MRGSBank.LoadedProducts always returned null.
  • [Android] Fixed a bug when MRGSBank.LoadedProductsIdentifiers always returned null.

GDPR module:

  • Fixed a issue in the localization text for the Japanese language.
  • Fixed a bug with text transfer for the Korean language in WebView.
  • Added animation of "clicking" on the GDPR acceptance button in the WebView.
  • Changed behavior of displaying GDPR in WebView. Now GDPR is shown by default without Ad permission.
  • Fixed a bug that allows the server to downgrade the GRDP version on the client. Now the version can only be upgraded.
  • [iOS] Improved mechanism for getting version GDPR from server - via config

MyGamesSupport module:

  • [Android] Fixed an error of sending the support window closing event if you return to the application by clicking the icon, and the manifest does not have a standard launchMode set for this event.
  • [Android] Fixed a bug with requesting the widget version. Now the widget version is requested only once during the session to avoid blocking by the server.

Showcase module:

  • [iOS] Fixed bug with inability to rotate the screen in some cases.
  • [Android] Now you can set the desired screen orientation via the manifest. Learn more.
  • [Android] Fixed an error of sending the showcase closing event if you return to the application by clicking the icon, and the manifest for this event is not set to the standard launchMode. Learn more.
  • [Android] Fixed a bug with a broken layout when turning the screen.

Authentication module:

  • [iOS] Improved error handling when logging into MyGames
  • [iOS] Added support for localization of the MyGames window in accordance with the device language (configurable on server, by default this function is enabled)

Firebase module:

  • [iOS] Changed payment reporting logic - Restored payments no longer appear in Firebase.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.2.2 Release (2021-06-03)🔗

Native SDK versions: Android 4.6.1, iOS 4.3.6

In this version:

MRGService (core) module:

  • [Android] Updated all obfuscation rules for ProGuard/R8. All obfuscation rules are supplied by .aar libraries.
  • [Android] Added supporting for targetSdkVersion 30 (Android 11).
  • Fixed bug when incomplete method continueUserActivity was added to UnityAppController.mm when building under iOS
  • Removed adding the openUrl:sourceApplication: method to UnityAppController.mm for Unity 2019.3+ when building for iOS, because it is deprecated.
  • [iOS] Internal preparations for moving to iOS 9 as minimum target version. Removed deprecated api for iOS 8.

Authentication module:

  • [Android] Fixed some bugs with incorrect switching of threads when returning the result from the Android.main thread to the Unity.main thread.

  • Facebook

    • [Android] Fixed bug when trying to invite friends.

Billing module:

  • Amazon

    • Updated In-app purchases SDK from 2.0.61 to 2.0.76.
    • Added supporting for the new MRGSBilling API, which was previously added for Google, Huawei, and Samsung but was not added for Amazon.
  • [iOS] Now, in case of payment errors, developerPayload will be sent to our server

Showcase module:

  • [Android] Fixed a layout issue for screens with sw320dp width.

Notifications module:

  • [iOS] Fixed a bug in sending statistics about opening an application from a push notification to the server if the project does not set a delegate.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.2.1🔗

In this version:

MRGService (core) module:

  • [iOS] Added support for getting the exact server time (it is reset only when the device is rebooted or the system time is changed). For more details see here.
  • [iOS] Added a force crash in case MRGService.plist file is not found, but is required for initialization.
  • [Android] Fixed bug that caused integration check to detect wrong platform, now if the platform could not be identified, it will be considered that the platform is Android. The platform is determined by the type of billing set. See Parameter setup.
  • [iOS] Improved integration check - checks for incorrect versions/parameters of modules and correct use of the notification module.
  • [iOS] Improved logging - now all lines of our log will start with "[MRGS]".
  • Fixed "Platform name 'Stadia' not supported." error

Billing module:

  • Google
    • Added a new MRGSBankPurchaseRequest.Android.ObfuscatedAccountId property for supporting of Karaganda Fraud Prevention API. Learn more.
    • Added a new MRGSBankPurchaseRequest.Android.ObfuscatedProfileId property for supporting of Karaganda Fraud Prevention API. Learn more.
    • Fixed a rare bug due to premature caching of the subscription before it is actually closed(consumed): subscription purchase on the client -> validation on the server -> result caching on the client -> subscription closure (consumption) on the client. If Google Billing threw an error at the time of closing the subscription, it could cause the subscription to hang, which led to a refund to the user. Now the subscription will be cached only after it is successfully closed(consumed): subscription purchase -> validation -> subscription closure (consumption) -> result caching.

Firebase module:

  • Added new events about the user's total time spent in the app: 30 minutes (mrgs_cumulative_session_time_30min), 1 hour (mrgs_cumulative_session_time_60min), 2 hours (mrgs_cumulative_session_time_120min) and 3 hours (mrgs_cumulative_session_time_180min). Events will only occur once, when the user reaches the appropriate time. For more information, see Sending events

Showcase module:

  • [Android] Added support for direct links to the Google Play Store. Now, if the banner has a direct link to the Google Play Store, then the transition to the Google Play Store will be carried out without the mediation of the browser.

Notifications module:

  • [iOS] Added support for Trial notifications - sending notifications without prior user consent. More details see documentation on notifications
  • [iOS] Changed the work of the isNotificationsEnabledWithCompletion method - now it will return true when at least banners/display in the notification center/numbers on the icon/trial mode is enabled.

Authentication module:

  • [iOS] Fixed repeated login to Apple Game Center after an error - in such cases, when you call the login method, we will immediately return you in the result an error with the code '-102'. It is best to show the user a window with a call to open the "Game Center" section in the system settings and log into the account there, and then return to the application after receiving such an error.
  • [iOS] Added support for changing userID in Sign In With Apple when transferring an application from one publisher to another

Defining the platform - Android

If you plan to use a different store (not Google play), then you must also set billing, even if you don't use the MRGSBilling module. If you don't set billing, this may cause the entire SDK to work incorrectly. For more information on how to set billing , see documentation.

Removing deprecated methods and properties

We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):

  • Old MRGSBank API (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - end of 2021.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) etc.) - this fall.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() and others marked as deprecated - this fall.

Read more about the new features and how to use them in the documentation.


v3.2.0🔗

In this version:

Important change:

  • [Desktop] MRGS core now supports all Unity platforms like PlayStation, Switch, XBOX, OSX, etc.
  • [Desktop] To enable work with the MyGames Store, now you need to set the define MRGS_MYGAMES_STORE (earlier, on the contrary, you had to set DISABLESTEAMWORKS to disable the store).
  • [Desktop] Steamworks included in MRGS is now in our namespace and will not conflict with the existing one in the project.
  • [Desktop] Added the ability to inform about purchases on any supported platform using the object MRGSPurchaseEvent.Standalone(<transaction_id>, <product>)

Breaking change - MyGames Game Center Support

Now, to build the application to work with the MyGames game center, you need to set the define MRGS_MYGAMES_STORE. Authorization and payments won't work without it.

Read more about the new features and how to use them in the documentation.


v3.1.4🔗

In this version:

Important change:

  • Added support for setting conversionValue in SKAdNetwork via MRGS with more rules for calculating this value that you can set. There is no need to make additional calls on the client, this function is enabled remotely.

MRGService (core) module:

  • [Android] Fixed an issue where an incorrect platform for Amazon, Huawei, and Samsung was passed to the server during integration verification, resulting in incorrect platform verification recommendations.
  • [Android] Fixed an issue where the integration check did not display information on the MMS SDK settings if the SDK was configured via code instead of xml config.
  • [Android] Improved integration validation. Now the integration check will output information on the enabled modules.
  • [Android] Improved integration validation. Now the integration check will output more information about errors that occurred during module initialization.

Authentication module:

  • MyGames
    • [Android] Fixed an issue where MRGSAuthentication.getCurrentUser() could return data on a user without MRGSAuthenticationNetwork.

Billing module:

  • Google
    • [Android] Updated Google Billing SDK from 2.0.3 to 3.0.3.

MyGamesSupport module:

  • Added new MRGSMyComSupport.getInstance().CustomUserID property, in case you need to open a support with a different userId than MRGSUsers.getInstance().setUserId(string).

Notifications module:

  • [Android] Fixed a bug that did not display a notification icon that was set at the time of initialization of the MRGS SDK, if it was put through the code instead of the xml config.

Analytics module:

  • [iOS] Fixed the work of the dontForwardReportedPayments flag - now, when this flag is enabled, payments made via MRGS will not be sent to AppsFlyer either.

Read more about the new features and how to use them in the documentation.


v3.1.3🔗

In this version:

MRGService (core) module:

  • [Android] Fixed an issue where two instances of the MRGSMyTracker class could exist instead of one.

Analytics module:

  • [iOS] Fixed AppsFlyer bug when working with the waitForATTUserAuthorization flag - now it works correctly
  • [iOS] Fixed AppsFlyer bug - now working with SkAdNetwork via AppsFlyer will be correct (before, postbacks could come with conversionValue == 0)
  • [iOS] Updated AppsFlyer SDK from 6.2.4 to 6.2.5.

Billing module:

  • [Android] Removed <uses-permission android:name="com.farsitel.bazaar.permission.PAY_THROUGH_BAZAAR" /> from manifest, since the billing of bazaar is not supported for a long time.
  • [Android] Fixed error of incorrect converting of sku in json if sku contained only numbers.

MyGamesSupport module:

  • [Android] Fixed a bug with switching to full-screen mode.
  • [Android] Fixed a bug that allows you to enable a dark theme through the developer options for a new widget.

Showcase module:

  • [Android] Fixed a bug with a blinking close button of showcase.
  • [Android] Improved speed of loading banners when opening the showcase.
  • [Android] Improved banner rendering quality.
  • [iOS] Fixed working when clicking on a banner while scrolling the showcase.
  • Improved ad tracking.

Important update

If you are using the SKAdNetwork setting via AppsFlyer, you need to update to this version.

Read more about the new features and how to use them in the documentation.


v3.1.2🔗

In this version:

Analytics module:

  • Added new WaitForATTUserAuthorization flag for AppsFlyer. Allows you to set the time in seconds that Appsflyer SDK should wait before sending an install/launch event. It is necessary in order to have time to get the user's IDFA on iOS 14+ during the first installation for subsequent attribution. Read more in documentation

MyGamesSupport module:

  • [Android] Fixed error IllegalStateException when trying to display Fragment after onSaveInstanceState.
  • [Android] Fixed error NullPointerException when trying to open a support while MyGamesSupport module is not yet initialized.
  • [iOS] Fixed support for the new widget on iOS 10.

Read more about the new features and how to use them in the documentation.


v3.1.1🔗

In this version:

MRGService (core) module:

  • [Android] Updated MyTracker SDK from 2.1.0 to 2.1.2. Learn more in documentation.
  • Added new MRGSMyTracker.getInstance().GetInstanceId(Action<string>) method to get a unique identifier for S2S events sending.

Gradle error: Failed to resolve: com.my.tracker:mytracker-sdk:2.1.2

If you encounter this error, then add a new repository in your gradle file:

allprojects {
    repositories {
        // other repositories
        mavenCentral()
    }
}

Advertising module:

  • [Android] Fixed incorrect behavior. If an error occurred while loading the content, MRGSAdvertisingLoadDelegate.onAdvertisingLoadingError was never called.

Billing module:

  • Google

    • Fixe issue with subscription caching. This led to problems with syncing with the server and the server could not auto-renew subscriptions correctly. After upgrading to the new version of the SDK, all current/active subscriptions will be sent to the server (unless transaction recovery is done or you have a flank set to auto-restore transactions). Then the active subscriptions will be synchronized with the server once every 10 days (if only a transaction recovery is made or you have the flank set to auto-restore transactions).
    • Fixed an issue with logging errors from Google Billing. Since errors don't always have a description of the cause, the error code will be sent to the cause location. This should help you better understand the problems that occur during payments. Errors are also logged in the MRGS section of the Crashes.
  • Added a new define MRGS_FORCE_UNITY_IAP to force enable the availability of payment tracking methods from Unity IAP.

MyGamesSupport module:

  • [Android] Fixed the NetworkOnMainThreadException error when trying to request the number of unread messages from the old widget. Because of this error, it always returned false for MRGSMyComSupport.checkTickets() and 0 for MRGSMyComSupport.checkTickets(Action<int, MRGSError>).
  • Added logging of widget errors to MRGSMetrics (metricID -18)

Read more about the new features and how to use them in the documentation.


v3.1.0🔗

In this version:

The most important changes:

  • Added new module MRGSShowcase - new format of cross-promotional advertising - application showcase.
  • Added support for an updated support widget - with a completely new interface, features and settings for customization. Added new methods.
  • iOS's packages are now additionally distributed in the xcframework format, a new library format from Apple that accelerates assembly and supports simulators on M1 processors.

Also:

MRGService (core) module:

  • Added the ability to send payment metrics for Amazon, Huawei and Samsung stores via MRGSMetrics.addPurchase(MRGSPurchaseEvent). See documentation for details.
  • The method MRGSMetrics.addPurchase(skuDetails, purchaseData, dataSignature) is deprecated.
  • [iOS] Added new flag showTrackingAuthorizationDialogOnAlliOSVersions to customize the display of ATT user tracking request. Required to enable/disable display on all iOS versions, or only on 14.5+.
  • [iOS] Added a new method MRGSDevice.getInstance().HasUserAgreedToBeTracked() - to check if the user has agreed to be tracked considering iOS 14-14.5, that is, if IDFA is available.
  • Added fields MRGSDevice.getInstance().AdvertisingIdentifier; MRGSDevice.getInstance().IdentifierForVendor; to get IDFA/IDFV.
  • Added new method MRGSMyTracker.getInstance().SetLaunchTimeout(long seconds). See documentation for details.
  • [Desktop] The user ID in the MyGames system has been added to all requests for correct linking of events in 1link.

  • [iOS] Fixed sending duplicate metrics accepting agreement for ATT tracking.

  • [Android] Fixed a rare error NoSuchElementException in MRGSUsers.setUserId() when calling the MRGSUsers.setUserId() and MRGSUsers.logoutCurrentUser() methods a the same time.
  • [Desktop] Fixed PostBuild with copying dll files on Unity 2017.
  • [Desktop] Fixed compile errors when enabling define DISABLESTEAMWORKS.
  • [Desktop] Fixed work of the applicationVersion field - now events will go to the server with the correct version of the application.
  • [Desktop] Fixed saving data, fixed saving server messages queue.
  • [Desktop] [Important] Fixed work of loading products. Now only the requested products will be returned (previously all were returned), and the InvalidProductsIds field with unavailable products will also be correctly filled.

Advertising module:

  • Improved ad tracking for A/B tests.
  • Removed Banner carousel support(roller).
  • [Android] Fixed a rare error IllegalStateException when trying to view ads.
  • [Android] Fixed a rare error MissingWebViewPackageException when trying to view ads.

Analytics module:

  • Added ability to disable tracking of payments added from MRGSMetrics to AppsFlyer - flag dontForwardReportedPayments. See documentation for details.
  • Added ability to forward sending events from MRGSMetrics (sent via MRGSMetrics.addMetric()), to AppsFlyer - flag forwardMetrics. See documentation for details.
  • [Android] Updated AppsFlyer SDK from 6.1.1 to 6.2.3.
  • [iOS] Updated AppsFlyer SDK from 6.1.4 to 6.2.4.

iOS payments via MRGSMetrics

Now, by default, payments sent to MRGS via MRGSMetrics will be sent to AppsFlyer. To disable this behavior, use the dontForwardReportedPayments flag.

Billing module:

  • Samsung
    • Fixed error NullPointerException when the user canceled the payment.

Support module:

  • Added support for a new support widget with a new interface and more features, improved customer experience. The external API of the widget has not changed, only new methods and settings have been added. See the documentation for details.
  • Added new method for checking unread messages to get their number (and not just presence) - MRGSMyComSupport.getInstance().checkTickets(Action<int, MRGSError> completionHandler). It works without a delegate, data or an error will immediately come to the block.
  • Added ability to set widget theme using the WidgetTheme field. The available themes are light/dark/dark orange/device-theme.
  • Added ability to set the localization language of the new widget using the LocalizationLanguge field.
  • Added ability to download files from support widget on iOS in new widget.
  • Added ability to safely open new support widget with code.
  • [Android] Fixed default localization for the dialog box when requesting permissions to access the storage.

Showcase module:

  • Added new module Showcase - new cross-promo showcase format. See documentation for details.

Notifications module:

  • [iOS] Fixed a crash when a notification was generated with sending time == current time.

Authentication module:

  • [Desktop] Fixed bug with socialID == "Unknown" in MyGames authorization

Read more about the new features and how to use them in the documentation.


v3.0.5🔗

In this version:

Analytics module:

  • [Android] Fixed a bug with incorrect initialization of Appsflyer version 6+, which led to incorrect sending of installation events at the time of application launch.
  • [Android] Passing the customerUserID parameter to AppsFlyer (we put the device IDFA in this field) now happens before the installation event is sent, so this parameter will appear in the raw data and in the installation events (on iOS we do the same).

Read more about the new features and how to use them in the documentation.


v3.0.4🔗

In this version:

MRGService (core) module:

  • [Desktop] Added support for binding internal_uid in MyGames GC for further binding in 1link. Everything works automatically (from the SetUserID method)

Advertising module:

  • Added additional logs to identify potential problems.

Authentication module:

  • Fixed SupportsTextureFormatNative in getAvatarForPlayerWithId method when trying to create a Texture2D not in the Unity main thread, which causes the method to return null instead of the avatar.

  • [Desktop] Added support for MyGames authorization (validation of the user of the MyGames GC and obtaining user data). Read more about the specifics of working on a PC in the MyGames authorization documentation

MyGamesSupport module:

  • [Android] Fixed NullPointerException when calling the checkTickets method if the module was not initialized.

Read more about the new features and how to use them in the documentation.


v3.0.3🔗

In this version:

MRGService (core) module:

  • Fixed incompatibility with Scripting Runtime version 3.5 for migration script MRGSMigrationScript.cs.
  • [Android] Fixed crash java.util.ConcurrentModificationException when checking integration.

Billing module:

  • Fixed incompatibility with Scripting Runtime version 3.5 of the interaction code with the native Android.

Authentication module:

  • Fixed warning in class MRGSSocialBaseAndroid.
  • [iOS] Fixed Info.plist inside VKSdkResources.bundle, due to which there could be errors when exporting ipa from archive xcarchive.

Read more about the new features and how to use them in the documentation.


v3.0.2🔗

In this version:

MRGService (core) module:

  • Fixed debug flag when initializing from code in Unity (did not work before and was always true)
  • All logs in Unity have been made more "readable". Removed Unicode from logs, now Russian letters in the log will be visible.
  • [Android] Fixed the NullPointerException error when an Activity came as null.
  • [Android] Fixed error org.in JSON.JSONException format: want to earn from 1.
  • [iOS] Fixed conflict with Ironsource SDK (duplicate symbol '_SignalHandler')
  • [iOS] Fixed crash when passed nil in application: openURL: sourceApplication: sourceApplication: annotation:
  • [iOS] Added tracking of events (show/accept/decline) related to the new IDFA request on iOS 14+.
  • [iOS] Updated MyTracker SDK from 2.1.2 to 2.2.1.
  • [Desktop] Fixed bug with empty sessionID when sending events to MRGS server.
  • [Desktop] Fixed bug with missing namespace for class MD5.
  • [Desktop] Fixed bug with namespace Org.BouncyCastle.Crypto, moved the code under our namespace.

Authentication module:

  • [iOS] Updated VK SDK from 1.4.6 to 1.6.1.
  • [iOS] Updated Amazon SDK to 3.1.1.

  • GoogleGames

    • [Android] Fixed issue with showing the window of all the user's achievements.
    • [Android] Fixed issue with getting user avatars.
    • [Android] Fixed issue with getting user Scores.
    • [Android] Fixed issue with setting progress.
    • [Android] Fixed issue with java.lang.NoSuchMethodError: no non-static method with name='saveAvatarToFile'.
    • [Android] Fixed issue with java.lang.NoSuchMethodError: no non-static method with name='setSteps'.

Analytics module:

  • Added the CustomerUserID property for AppsFlyer to set its own customerUserID instead of the default one set by MRGS (we set this parameter by default to IDFA or Device ID).
  • [Android] Updated AppsFlyer SDK from 5.4.1 to 6.1.1.
  • [iOS] Updated AppsFlyer SDK from 6.0.7 to 6.1.4.

Billing module:

  • [iOS] Fixed bug with loss of developerPayload when using a new delegate. Added logs.
  • [Android] Fixed issue with resaving developer Payload. When a purchase of the same product was made with and without a payload, the second purchase received a payload from the first product.
  • [Android] Fixed issue with double validation when the same product was sent for validation when purchasing an item and then calling transaction recovery. This led to a double call to the callback about the payment being made by the user.
  • [Desktop] Fixed error in the bank with the DESABLESTEAMWORKS define.
  • [Desktop] Fixed bug with empty Currency field in the purchase result.

  • Google

    • Fixed crash of ConcurrentModificationException when restoring transactions.
    • Fixed crash of JNI table overflow, when trying to transfer a large list of products from Unity to Android.
  • Samsung

    • Deprecated MRGSSamsungBillingParams.GroupID.
  • Huawei

    • Fixed crash of ConcurrentModificationException when restoring transactions.
    • Fixed an issue where an error when restoring transactions went to the collection for getting information about products.
    • Fixed issue with showing the store window when trying to buy an item.

Firebase module:

  • The new structure the scene. Now you will receive additional parameters such as: "currency_local" and "price_local" - the local amount and the currency in which the payment was made. "is_first_payment" - whether this payment is the first one. "value" and "currency" - will now always be in USD.
  • [Android] Updated FirebaseAnalytics SDK from 17.2.1 to 18.0.1.
  • [iOS] Updated FirebaseAnalytics SDK from 6.9.0 to 7.4.0. Important - now the Firebase module will only work with XCode 12+.

GDPR module:

  • Important GDPR fix for projects that set the onlyEU = true flag. We no longer check the automatic acceptance of the GDPR if the user does not fall under it, now we will show the agreement only after the user enters the EU.
  • [Android] Fixed issue with sending the open GDPR metric when using the custom GDPR window.

Notifications module:

  • Added property ApplicationIconBadgeNumber to work with number on application icon (iOS only).
  • [Android] Updated Firebase Messaging SDK from 20.0.0 to 21.0.1.

Google service plugin(com.google.gms:google-services) updated from 3.2.1 to 4.3.4

If you have any problems with google-service.json, update it from the Firebase console, as the format has changed in it.

Read more about the new features and how to use them in the documentation.


v3.0.1🔗

In this version:

Improvements in the Unity plugin:

  • Added the ability to forcibly enable / disable the emitting of work with and without a resolver for each module using defines like MRGS_ENABLE_RESOLVER_<MODULE_NAME_WITHOUT_MRGS>.
  • Fixed PostBuild work when building an iOS project with the "Append" build type.

MRGService (core) module:

  • Fixed working with UnityIAP (there was no dependency on UnityPurchasing in asmdef)

Authentication module:

  • UserId field in class MRGSAuthenticationAccessToken marked as Obsolete

Read more about the new features and how to use them in the documentation.


v3.0.0🔗

In this version:

Most important changes:

  • Added Unity Package Manager support - MRGS is now distributed as packages, you can add our SDK to the project either with the scopedRegistry or directly via the tarball (but we also left the unitypackage support for the integration option for older versions of Unity , changing the structure to modular with the addition of all new features)
  • Added support for Desktop assembly (modules MRGService and MRGSBank (works with Game Center MyGames))
  • Added Huawei support (modules MRGService (tracking), MRGSBank (payments), MRGSNotifications (notifications))

Improvements in the Unity plugin:

  • All platform-specific code is placed under define - now unnecessary code is not included in assemblies
  • Added asmdef files for each module (separately for Editor and for code), which will speed up project building
  • Added Window / MRGS menu to conveniently add external iap SDK for Samsung / Amazon to the project
  • Now MRGS automatically detects the use of PlayServicesResolver, and, if necessary (the resolver is not used, or is disabled in the settings) itself will add the necessary SDKs to the project for both Android and iOS. It is also possible to enforce behavior using defines.

As well as:

MRGService (core) module:

  • [Android] Fixed an error when initializing MRGService when null from ActivityLifecycleCallbacks was passed instead of Activity.
  • [Android] Added support for Huawei Identity Kit. Learn more.
  • [Android] Fixed an error in IntegrationCheck when checking for billing.
  • [Desktop] Fixed crashes in MRGSMetrics and TimeZone, as well as compatibility with old .NET.
  • [Desktop] Improved work with reflection.

Authentication module:

  • Facebook

    • [Android] Fixed rare crash Class not found when unmarshalling: LoginResultReceiver when trying to log in.
  • MyGames

    • [Android] Fixed a 403 error when trying to log in via Google.
  • VK

    • [iOS] Added check for the presence of a schema in Info.plist of the application, because VKSdk does not check this.
    • [Android] Fixed an issue when callback received data without scopes.
  • AppleGameCenter

    • [iOS] Fixed a bug with a double callback login when deploying the application in the first session after authorization.

Billing module:

  • [iOS] Fixed a rare crash when making a payment and minimizing the application.
  • Added a new async method MRGSBank.isBankAvailable(). This method will be useful for billing services such as Google and Huawei, as they do not always allow you to find out their status in a synchronous request.

  • Google

    • Fixed an incorrect behavior where all errors when requesting products were passed to MRGSBankDelegateEx.onReceiveProductsResponce(). Errors are now passed to MRGSBankDelegateEx.onReceiveProductsError().
    • Fixed a memory leak where requests were added to the queue for execution if billing was unavailable, and were not deleted after they were executed.
  • Huawei

MyGamesSupport module:

  • [Android] Fixed an issue with missing default text in the dialog when requesting permissions.
  • [Android] Fixed an issue with setting text via the method setRequestSettingsDialogParams() method.
  • Changed the setRequestSettingsDialogParams() method. Now the toastMessage parameter is optional.

Notifications module:

  • [iOS] Improved work with reflection for methods of working with location, now Apple does not send a warning to review about using location
  • [Android] Fixed crash ConcurrentModificationException.
  • [Android] Added support for Huawei Push Kit. See Environment settings And SDK integration.

Huawei Store

Please note that you will also need to make some changes to the Analytics module.

Migration from older versions of SDK

Migrating to a new one is easy - move file Assets/Plugins/MRGS/iOS/MRGService.plist to Assets/Plugins/iOS/MRGService.plist (this step is required if you init mrgs with params from plist file, otherwise you can skip this step), next, just delete the Assets/Plugins/Editor/MRGS and Assets/Plugins/MRGS folders, and then add our repository to the scopedRegistries section (for more details see on the SDK integration page). Alternatively, you can import the unitypackage files from the archive downloaded from the MRGS website.

But the easiest way would be to use a special MigrationScript available at link, or in the downloaded archive. It is enough to add it to the project, select the section MRGS in the top menu, and select the option to migrate to UPM (MRGS itself will delete the old files, determine the modules used, and add the scopedRegistries section and used modules), or delete the old MRGS project.

Also, we made an assembly of the Legacy format, it is also in the archive.

Read more about the new features and how to use them in the documentation.


v2.3.4🔗

In this version:

Billing module:

  • Google
    • Fixed the NoSuchElementException error when canceling a purchase if the developerPayload was not passed.

Read more about the new features and how to use them in the documentation.


v2.3.4🔗

In this version:

MRGService module (core):

  • Improved messaging scheme with MRGS server, now sending and receiving will take less time.
  • [Android] Updated MyTracker to version 2.1.0.
  • [Android] Fixed the problem with the old encryption.
  • Fixed PostBuild to work correctly on Unity 2017.

Advertising module:

  • [Android] Fixed ActivityNotFoundException crash when trying to click on an ad if the device doesn't have a browser.

GDPR module:

  • [Android] Fixed the NoSuchMethodError error when calling the getSupportedLocalizations() method.

Authentication module:

  • MyGames

    • Fixed display of the application name in the authorization window (the ClientID was shown earlier, now the application name visible to the user is shown).
    • [Android] Fixed error with a white screen when there is an error with ssl. Now the callback will receive an error response and then close the authorization window.
  • [Android] Fixed error when MRGSAuthenticationCredential.SocialId always returned Unknown.

Read more about the new features and how to use them in the documentation.


v2.3.3🔗

In this version:

Advertising module:

  • [iOS] Improved memory managing. Memory is now better freed and allocated only in the necessary places.
  • [iOS] Fixed rare bug with timer when watching video.

Billing module:

  • Google
    • Fixed ANR when connecting to the google billing service.

Read more about the new features and how to use them in the documentation.


v2.3.2🔗

In this version:

MRGService module (core):

  • The behavior of the CurrentTrackingAuthorizationStatus method on Android now mimics the behavior on iOS, returning the Authorized status.
  • Fixed Warnings appearing when importing MRGS into a project.
  • [iOS] Updated AppsFlyer to version 6.0.7

Bank module:

  • Added the ProductIdentifier field to the MRGSBankPurchaseResult object of the new bank delegate. This field contains the identifier of the purchasing/purchased product, and will always be non-empty, unlike the Product field, which can be null if the product, for example, has not been downloaded.

  • Google

    • [Android] Fixed bug with returning empty productId/sku if user canceled payment (changed his mind to buy and left the purchase screen).
    • [Android] Fixed a bug with reconnecting the payment service during the game, which led to blocking the request for products and making payments.

Authentication module:

  • Fully redesigned MyGames authorization. Now ClientSecret and RedirectURL are not used, which makes authorization more secure, and also allows you to get more information about the user, for example, name, surname, date of birth, etc. Added the ability to create a MyGames application via the MRGS website (previously you had to put a task on the project SWA).
  • Login callbacks on Android now arrive in the main Unity thread.

Important

Since the work with MyGames authorization now occurs through MRGS, the old settings will not work, you need to re-create the MyGames application through MRGS, register a new ClientID on the clients, and also change the redirectURL registered in Info.plist on iOS. For more information about a new approach to working with MyGames authorization, see in the MyGames documentation

Firebase module:

  • [iOS] Updated Firebase to version 6.34.0 (FirebaseAnalytics 6.9.0) (ready for iOS 14)

GDPR module:

  • Changed the behavior of the showAgreement method in the Editor, now it automatically calls the delegate. This is necessary so that projects in the Editor can implement the same flow as on platforms, without checking the environment.

Read more about the new features and how to use them in the documentation.


v2.3.1🔗

In this version:

Module MRGService (base):

  • The onStart() and onStop() methods are marked as deprecated and are no longer used.
  • [Android] Fixed an error when calling auxiliary functions related to the absence of Context before MRGService initialization was called.
  • [Android] Removed our custom launcherTemplate.gradle from the SDK.
  • [Android] Updated the MyTracker SDK dependency to version 2.0.10.
  • [Android] Improved integration check.

Module Billing:

  • Samsung
    • Fixed an issue with calling MRGSBillingDelegateEx when the user canceled a payment.

Module MRGSFirebaseModule

  • [Android] Fixed an error when trying to cast paymentAmount to double when it is actually an integer.

Module GDPR/CCPA:

  • [Android] Added some logs for CCPA.
  • [Android] Updated dependency android.appcompat:appcompat from 1.1.0 to 1.2.0 because the old version contains a critical error when working with WebView.

Module MRGSNotifications

  • [Android] Fixed incorrect display of the remote push notification title.
  • [Android] Fixed an error creating a default channel and group for local push notifications.

v2.3.0🔗

In this version:

MRGService module (core):

  • New methods and functionality:

    • Added methods and flags for working with user tracking request on iOS 14 +, namely, checking the need to show, showing, getting status, auto-request. You can read more about all methods, flags, and integration here
    • Added a method to open the system settings window of the application (iOS, Android). It will be useful when working with notifications and IDFA requests. More details here
    • Added getAppsFlyerID method to get unique AppsFlyer ID
    • [Android] Improved session duration tracking system.
  • Improvements and fixes:

    • Extended method for checking integration. Now we will also check all parameters, flags and keys on the MRGS server, and you will find out about application settings errors immediately in the client's logs, namely, about the correct MyTracker keys, current payment settings, validity of notification certificates and payment verification keys.
    • Fixed an issue in MRGSPostBuildProcess with adding AuthenticationServices.framework to a project without theoptional flag, which resulted in crashes on iOS 11 and lower.
  • External SDK updates:

    • [iOS] Updated MyTracker to version 2.1.2 (ready for iOS 14)
    • [iOS] Updated AppsFlyer to version 6.0.3 (major update, ready for iOS 14)

GDPR module:

  • New methods and improvements:

    • Removed getAgreementVersion method for transition of projects to the correct flow of work with GDPR. The correct flow is described in the documentation
    • All methods for working with the GDPR that accept the version of the agreement are marked as deprecated. Added new methods similar to the old ones, but without a version of the convention. Please transfer the work to them.
    • Improved statistics in GDPR, added statistics for showing agreements, to count those users who did not agree with GDPR and left the application.
  • Fixes:

    • Fixed behavior of methods for CCPA - now getting region does not depend on called GDPR methods
    • Fixed links in GDPR for Japanese and Korean (previously links were broken)
    • [iOS] Fixed conflict between the lookupConstant method and the ISMintegralAdapter method on iOS
    • [iOS] Fixed calling native SDKs in CCPA, please make sure once again that there are no errors in the log calls to enable / disable native SDKs after updating **.
    • [Android] Fixed discrepancy method behavior for CCPA between iOS and Android.

Notifications module:

  • Added the ability to exclude some permissions when requesting permission for notifications on iOS (for example, leave only banners, excluding sounds and badges). More details here
  • Added the MRGSNotificationExtraOptionsAndroid.Visibility property to display notifications on LockScreen in Secure mode on Android. More details here

Advertising module:

  • Improved tracking of impression history, so there will be no errors with repeated impressions of already viewed ads.
  • Changed approach to checking ad hashes to reduce the load on MRGS servers.

Firebase module:

  • Added new events to Firebase sent out on any purchase over $ 5,10,50,100. More details here
  • Added VALUE field to purchase events in Firebase, they are required for buying ads
  • [iOS] Updated Firebase to version 6.32.0 (FirebaseAnalytics 6.8.2)

Support module:

  • Added the showFeedback method to show the feedback window in MyGamesSupport (earlier it could be opened using a category, but with a separate method it will be easier and more reliable to open it) More details here

Authentication module:

  • [Android] Fixed authorization error in MyGames (earlier the token was invalid on some devices).

Billing module:

  • Samsung
    • Fixed problem with developerPayload.
    • Fixed problem with MRGSBillingDelegate and MRGSBillingDelegateEx at the start of billing initialization.

Analytics module:

  • Removed AppsFlyerSDK.aar dependency, now this dependency should be included separately in the gradle file: com.appsflyer:af-android-sdk:5.4.3

Read more about the new features and how to use them in the documentation.


v2.2.6🔗

In this version:

  • CCPA Support. Read more in the documentation CCPA
  • When authoring via VK, MRGS will report vkid to MyTracker

Android:

  • Fixed bug when requesting a list of products if one of the types of requested products was null

iOS:

  • Fixed bug with incorrect adding files to the project when using Unity 2019.3 and higher
  • Fixed a bug when specifying the length of the buffering period for MyTracker

v2.2.5🔗

In this version:

  • Fixed installing native delegate in Android
  • Removed warning inside our private-part
  • Fixed bug when adding GoogleService-Info.plist file to PostBuild.

v2.2.5🔗

In this version:

We changed the bank API:

Now the entire API of our bank is standardized on all three platforms, and it has become more user-friendly and more functional.

Of the major changes:

  • A new class MRGSBankProductsRequest has appeared in which using the add methods you can add a product or an array of products of a certain type (product types have now become an enum MRGSBankProductType). This request is then passed to the new requestProductsInfo method.
  • There is a new class MRGSBankPurchaseRequest that allows you to more precisely configure parameters for starting a payment, such as discount identifier, quantity (for iOS), parameter for" Ask To Buy "flow simulation in Sandbox on iOS, and more. This class has convenient constructors for creating.
  • Changed purchase start methods, now they have the signature purchaseProduct, and accept either the product ID, or the ID and payload, or the new class MRGSBankPurchaseRequest.
  • We changed the naming of the methods for AppStore Promotion, just adding the line AppStorePromotionPayment to them, for better clarity of the purpose of the methods.
  • Removed the autoNotifyMRGSAboutConsume parameter, because this is not very correct, you need to call the method when the purchase was delivered to the user, and not automatically after the purchase (affects only games without a server)

Separately about the delegate:

  • Added a completely new delegate MRGSBankDelegateEx, now it returns maximum information about the purchase or download of products.
  • To load products, there are now two callbacks - onReceiveProductsResponce and onReceiveProductsError, which receive an object of the new class MRGSBankProductsResponce, containing information about valid products of type MRGSBankProduct, as well as an array of identifiers of invalid products, and an error object in case if it happened.
  • Added 4 types of callbacks for transaction results, namely - onReceiveSucessfullPurchase, onReceiveFailedPurchase, onReceivePendingPurchase, onReceiveCancelledPurchase. Each of them accepts an object of the MRGSBankPurchaseResult class, describing the result of the purchase, namely, the transaction (MRGSBankTransaction), product (MRGSBankTransaction), payload and an error with a code and description, if any. MRGSBankTransaction describes the transaction in detail, includes an identifier, additional information about the transaction for each platform (whether it was restored, date, original transaction, selected discounts, and more).
  • onReceivePendingPurchase - Protocol method, called in case of a pending payment. This can happen if, when making a purchase, a child needs to ask permission to purchase from a parent, or another option - during validation, the Internet disappeared, and a second attempt to validate will be later. Such events do not require additional actions on the part of the developers, they serve only to alert the user.
  • onReceiveCancelledPurchase - Protocol method, called when the user cancels the payment.
  • There is a callback onTransactionsRestoreCompleted, which is called when the process of restoring previously purchased non-consumable purchases and active subscriptions is completed.

Important - we left the old API, we just marked it as deprecated. We will support it for some time, but we advise you to move to a new interface, especially since the move should be simple, since the basic logic of work has not changed. We did not change the bank itself, only the external interface has changed.

For Unity - the MRGSBankProduct class is now used to return product information, without transaction information (the old API is still preserved).

Read more about using the new API in the bank documentation - https://mrgs.astrum.team/Doc/en/payments/integration/base/

  • Also fixed the error of incorrect appearance of some types of GDPR with custom layout (in particular, incorrect display of the combo-box) on Android

v2.2.4🔗

In this version:

  • Added DeveloperPayload to the product object returned on a successful purchase from MRGSBank, so you can now get the payload back on a successful purchase.
  • Fixed work of the notifyMRGSAboutConsume method on iOS.

iOS:

  • Updated MRGS iOS to version 4.1.3
  • Updated MyTracker to version 2.0.7

Read more about the new features and their use in the documentation.


v2.2.3🔗

In this version:

Added support for Play Services Resolver for working with iOS dependencies:

  • It is important to note that if you do not want to use the Play services resolver on iOS, then you can remove the iosPods section from the MRGServiceDependencies file, then MRGS will add to the project all the necessary third-party dependencies, which are also stored locally in the package. This rule applies to all MRGS modules.
  • We also want to note that our PostBuildProcess has changed a lot, now it uses settings in the Unity environment, and not just copying libraries. There should not be problems with this, but efficiency should increase.

Also, some changes have occurred:

  • Updated MRGService.plist.template.
  • In MRGSAuthenticationGameCenter in credentials.accessToken.optionalParams now returns modified dictionary
  • Now when sending registration and login events to MyTracker, the user set for us is automatically added to these events (done since MyTracker changed the api for sending these events)
  • The file GoogleService-Info.plist, located in Assets/Plugins/iOS will now be automatically added to the Xcode project, now you do not need to add your own PostBuild

iOS:

  • Updated MRGS iOS to version 4.1.2
  • Updated MyTracker to version 2.0.6
  • Updated AppsFlyer to version 5.4.1
  • Fixed crash in MRGSGameCenter that occurred when an error was received from the server.
  • Fixed a bug in our advertising MRGSAdvertising, due to which when minimized at the start, the video could start playing again.
  • The work of the MyTracker attribution delegate has been fixed, now it can be set before MRGS initialization, and it will receive data more accurately.

Android:

  • Updated MRGS Android to version 4.2.3
  • Updated MyTracker to version 2.0.9

Read more about the new features and their use in the documentation.


v2.2.2🔗

  • Fixed bug in the authorization module on Android. When logging in to Google Games, sometimes, the first time the login function is called, an error is returned, and the second time the login is done correctly.
  • Removed ?. operators in code for compatibility with .net 3.5

v2.2.1🔗

In this version:

Added new module:

A new module MRGSRecommendations has been added to work with the internal RecSys system to get predictions about which product the user is most likely to want to buy. At the moment, the function works in beta mode, and the module only allows you to send the necessary events for the system to MRGS. Based on the test results, the module will be expanded and supplemented with new features.

Changes to work with notifications:

  • Added the flag defferedMRGSNotificationCenterStart for convenient delayed inclusion of notifications and pop-ups on iOS. Now enough at the right time, when you want to show the user a popup for the first time, call the enableMRGSNotifications method, and after that on all subsequent launches we ourselves will start our notification service. (Previously, you had to call the manuallyStartCenter method yourself when showing the popup, and at each subsequent launch, now we do it ourselves, you just need to call the method only once at the right time). Thus, working with deferred pop-up display has become very easy to implement. It is important to note that when switching to work with this flag, you need to consider that if you are updating from version iOS 4.0.3 and higher, then everything will go seamlessly, otherwise for already playing users you will need to call the enableMRGSNotifications method at least once.
  • Added the ability to turn on and off different types of notifications on the user's device. So, you can disable local, server notifications, or all at once. After disconnection, notifications of a specific type will stop coming to the user, for example, for push notifications, the token will be invalidated on the server, and for local ones, the queue will be cleared and new ones will be prohibited. This functionality is useful for projects where in the settings there is a switch on the availability of notifications.

In addition, there have been some innovations and changes:

  • Forwarded MyTracker delegate to receive attribution data (deeplink and deffered deeplink)
  • The operation of the checkIntegration method has been fixed, now inside it has become asynchronous, and more accurately identifies errors associated with incorrect configuration of appId / Secret and network requests.
  • Added automatic sending of data on the first payment made by the user in Firebase
  • Added the ability to transfer developerPayload to the proceedPendingPayment method for iOS (start purchasing the product from the AppStore page)
  • The checkIntegration method again returns void, not string, but for projects that want to get the results of integration checks not only in the log, but also as a string, we added another variation of the method with the callback.
  • Improved algorithm for generating session identifiers session_id for more accurate statistics. Also, the session now expires in 5 minutes after minimizing the application
  • Increased version number of the GDPR agreement

iOS:

  • Updated MRGS iOS to version 4.1.1
  • Removed dependencies MRGS SDK on CoreLocation. Framework
  • Improved payment auto tracking

Android:

  • Updated MRGS Android to version 4.2.1
  • Now, when contacting MyGames support, you can attach a video file to the ticket
  • Fixed a rare crash in the Pilgrim Roller
java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3555)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3707)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:83)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2220)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:8016)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1076)
Caused by: java.lang.NullPointerException: 
  at ru.mail.mrgservice.MRGSSharedPreferences.<init> (MRGSSharedPreferences.java:23)
  at ru.mail.mrgservice.MRGService.getSharedPreferences (MRGService.java:335)
  at ru.mail.mrgservice.MRGSIDCache.getOpenUDID (MRGSIDCache.java:28)
  at ru.mail.mrgservice.MRGSDevice.generateMrgsDeviceId (MRGSDevice.java:600)
  at ru.mail.mrgservice.MRGSDevice.getOpenUDID (MRGSDevice.java:592)
  at ru.mail.mrgservice.MRGSTransferManager.internalAddToSendingBuffer (MRGSTransferManager.java:457)
  at ru.mail.mrgservice.MRGSTransferManager.addToSendingBuffer (MRGSTransferManager.java:377)
  at ru.mail.mrgservice.advertising.MRGSAdvertisingSliderController.sendSliderShowAction (MRGSAdvertisingSliderController.java:82)
  at ru.mail.mrgservice.advertising.MRGSAdvertisingSliderController.<init> (MRGSAdvertisingSliderController.java:37)
  at ru.mail.mrgservice.advertising.MRGSAdvertisingSliderActivity.onCreate (MRGSAdvertisingSliderActivity.java:106)
  at android.app.Activity.performCreate (Activity.java:7957)
  at android.app.Activity.performCreate (Activity.java:7946)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1307)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3530)

Read more about the new features and their use in the documentation.


v2.2.0🔗

In this version:

The module MRGSAuthentication has been expanded - we have expanded the list of supported social networks by adding networks such as:

  • Facebook
  • VKontakte
  • Amazon
  • MyGames
  • Apple Game Center
  • Google Play Games

We remind you that the MRGSAuthentication module will help you quickly implement authorization in popular services and social networks. The main advantage is universal API - all our classes implement a set of basic authorization methods. Thus, you can configure flow authorization using an abstract object of a social network, without being tied to a specific service.

Please note, the Facebook module works regardless of the native SDK, but nevertheless can pull out authorization data from it, you can even go to our module from projects that use the native SDK now. It is also worth noting that due to the addition of new social networks, new native dependencies on VKSdk and AmazonSDK were added, but they will be added to project automatically.

For more information about the implementation of each of the modules and their use read the documentation in the corresponding section.

In addition, this version has some festures and changes:

  • Method IntegrationCheck now returns the string, rather than void, as before. (The rest of the behavior has not changed)
  • Added new automatic metrics in Firebase - Purchase14D and Purchase90D in case the purchase was made in the first 14 and 90 days, respectively.
  • Added automatic MRGSBankNoUserError report to the "Crash Reports" section of the site when there is no user at the time of payment validation. (Provided that payment and validation is through our SDK)

Also fixed bugs:

  • Fixed display of the award icon in the button text in the MRGSGameCenter showcase
  • The MRGSDevice.country() method now returns an empty string if there is no value received from the system (the decimal string "(null)" was returned in elder versions)

Changes in GDPR!

Now MRGS itself is engaged in tracking the version of the agreement and updating it. Therefore, starting with this release, the agreementVersion field and all parameters of the same name passed to methods will be ignored, and will be removed altogether in future versions.

Automatic updating of the version will allow showing the amended agreement to all users without the need to release a version, so you will no longer need to keep track of the current version of the agreement.

Also, a new method getAgreementTime has been added, which will return the time of publication on the network of the current agreement that the user accepted. It is necessary if you want to display the agreement date in the game interface.

Read more about the new features and their use in the documentation.


v2.1.13🔗

Fixed error displaying incorrect text in custom server notifications

Updated MRGS Android to version 4.1.14

v2.1.12🔗

In this version, the logic for sending a user to MyTracker has been changed so that user bundles in 1Link are formed more correctly.

Updated MRGS iOS to version 4.0.9 Updated MRGS Android to version 4.1.13

v2.1.11🔗

In this version, the url for our api has been changed due to moving to a new domain

Android:

  • When creating a channel for notifications, you can now specify the priority (Importance property)
  • Fixed a problem when a delegate was not always called about a notification
  • For server notifications, you can now specify vibrate: false in json params to disable the vibration signal

Example:

{
   "icon" : "notification_small",
   "largeIcon" : "notification_large",
   "vibrate" : false
}
  • If you specify the line TITLE as the text in the custom server notification, then the text from the Title field of the notification will be inserted into this field, and if you specify the line MESSAGE the text from the Message field will be substituted

Example:

{
   "custom_notification" : {
       "layout" : "notification_custom",
       "texts" : {"title" : "$TITLE$", "text" : "$MESSAGE$"},
       "images" : {"back" : "castle"}
   },
   "icon" : "notification_small",
   "largeIcon" : "notification_large"
}
  • Updated MRGS iOS to version 4.0.8
  • Updated MRGS Android to version 4.1.12

v2.1.10🔗

  • Updated MRGS Android to version 4.1.11
  • Fixed bug with setting html5Supported flag to true by default

v2.1.9🔗

In this version:

iOS:

  • Updated MRGS iOS 4.0.7
  • Updated MyTracker SDK to version 2.0.4 (In this version of the tracker, a critical bug has been fixed that causes crashes on devices with iOS 10.)

Android:

  • Updated MRGS Android 4.1.10
  • Fixed crash in module MRGSNotifications, class MRGSLocalPushService

    Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.toString()' on a null object reference
    
    ru.mail.mrgservice.MRGSLocalPushService.getNotificationChannels (MRGSLocalPushService.java:720)
    ru.mail.mrgservice.MRGSLocalPushService.isNotificationChannelExists (MRGSLocalPushService.java:730)
    ru.mail.mrgservice.MRGSGCMImpl.generateNotification (MRGSGCMImpl.java:199)
    ru.mail.mrgservice.MRGSGCMImpl.onMessageReceived (MRGSGCMImpl.java:45)
    ru.mail.mrgservice.MRGSFCMIntentService.onMessageReceived (MRGSFCMIntentService.java:30)
    com.google.firebase.messaging.FirebaseMessagingService.zzc (com.google.firebase:firebase-messaging@@20.1.0:78)
    com.google.firebase.messaging.zze.run (com.google.firebase:firebase-messaging@@20.1.0:2)
    java.util.concurrent.ThreadPoolExecutor.processTask (ThreadPoolExecutor.java:1187)
    java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
    java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
    com.google.android.gms.common.util.concurrent.zza.run (:6)
    java.lang.Thread.run (Thread.java:929)
    

v2.1.8🔗

In this version:

iOS:

  • Updated MRGS iOS to version 4.0.6
  • Updated MyTracker SDK to version 2.0.3
  • Updated Firebase SDK.

Android:

  • Updated MRGS Android to version 4.1.9
  • Fixed the doubled message error in group notifications.
  • If a notification channel has already been created, it will not be re-created during server notifications' activation.

v2.1.7🔗

Added new MRGSAuthentication + Sign in with Apple module:

We have added a new module - MRGSAuthentication. It will help you quickly implement authorization in popular services and social networks. The main advantage is universal API - a collection of basic authorization methods implement all our classes. Thus, you can configure flow authorization using an abstract object of a social network, without being tied to a specific service. Currently, we have added only authorization through Sign in with Apple, but the list of supported services will gradually expand. Read more about implementation and usage in the documentation in the corresponding section.

What is more, in this version we have made some additions and changes:

  • Added a method of receiving information, whether there is a Jailbreak on an iOS device. ( isDeviceJailbroken() )
  • Added loadServerData method for forced loading of bonuses and other information from the MRGS server.
  • ServerData request is now called automatically only if there is a delegate and user installation. This will greatly help to reduce the load on the MRGS server. (So if you are not using serverData, then the delegate does not need to be installed at the start of MRGS).
  • Fixed the work of the DoOnMainThread method, it could sometimes lead to ANR on Android earlier.
  • Fixed crash upon notification receiving on iOS on some locales.

Android:

  • Updated MRGS Android to version 4.1.8.
  • Updated MyTracker to version 2.0.1.
  • Moved the MRGSBilling.restoreTransaction method calling in a separate stream, which should remove ANR messages in the Google Play console.
  • Moved the sending of the event showing the Pilgirim roller. Now the event will be sent when the first banner is displayed.
  • Fixed crashing of the MRGS GameCenter is opened before MRGS initialization.
  • Fixed rare crashing in the GDPR window.

iOS:

  • Updated MRGS iOS to version 4.0.5
  • Fixed an error which caused invalid or restored payments getting into AppsFlyer.
  • Fixed rare crashes in MRGSDevice, MRGSSendingQueue and reportErrorOfLibraryIntegration.
  • Fixes in the method for checking MRGS integration (IntegrationCheck) - parameters are now sent more accurately.
  • Added check for multiple calls to the MRGS start method.
  • The MRGSFirebase module can now work simultaneously with other services from Firebase (for example, crashlytics). Now if firebase has already been launched earlier, we will only send the necessary events.
  • Improved the work of the message sending queue.

Read more about the new features and their usage in the documentation.


v2.1.6🔗

iOS:

  • Fraudulent payments are not sent to AppsFlyer.
  • MRGS will not call [FIRApp configure] method, if an object was already created.
  • Fixed an error in MRGSDevice (iOS).
Crashed: ru.mail.games.mrgs.serverMessageSendingQueue
1  wwr                            0x102f485d0 -[MRGSDevice reachability] + 2924272
2  wwr                            0x102f58354 -[MRGSServerMessage addRequiredFieldsToRequest] + 2989172
3  wwr                            0x102f58608 -[MRGSServerMessage createRequest] + 2989864
4  wwr                            0x102f601a4 -[MRGSSendingQueue sendMessageToServer:] + 3021508
  • Fixed a rare error in reportErrorOfIntegration (iOS).
Crashed: Thread
7  wwr                            0x103ad71d8 -[MRGServiceInit reportErrorOfLibraryIntegrationWirhText:].cold.1 + 31836920
  • Changed the work of the sending queue, now it will not work while the application is minimized.

Android:

  • Updated MRGS Android to version 4.1.7.
  • Fixed a bug that could lead to a crash if the Piligrim advertisement opens before MRGS initialization.
Caused by
at ru.mail.mrgservice.MRGSSharedPreferences.<init> (MRGSSharedPreferences.java:23)
at ru.mail.mrgservice.MRGService.getSharedPreferences (MRGService.java:332)
at ru.mail.mrgservice.MRGSIDCache.getOpenUDID (MRGSIDCache.java:28)
at ru.mail.mrgservice.MRGSDevice.generateMrgsDeviceId (MRGSDevice.java:621)
at ru.mail.mrgservice.MRGSDevice.getOpenUDID (MRGSDevice.java:613)
at ru.mail.mrgservice.MRGSTransferManager.internalAddToSendingBuffer (MRGSTransferManager.java:462)
at ru.mail.mrgservice.MRGSTransferManager.addToSendingBuffer (MRGSTransferManager.java:378)
at ru.mail.mrgservice.advertising.MRGSAdvertisingLifeCycle.sendShowCampaignEvent (MRGSAdvertisingLifeCycle.java:26)
at ru.mail.mrgservice.advertising.controllers.VideoAdsController$2.onFinish (VideoAdsController.java:170)
at android.os.CountDownTimer$1.handleMessage (CountDownTimer.java:127)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:201)
at android.app.ActivityThread.main (ActivityThread.java:6806)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)

v2.1.5🔗

  • Updated MRGS Android to version 4.1.6.

Fixed a bug that in some cases could lead to ANR when initializing MRGS.

Caused by ANRError$$$_Thread: main (state = RUNNABLE)
       at J.N.MyGX0Tx3(PG)
       at P6.l(PG:56)
       at P6.a(PG:40)
       at P6.b(PG:8)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.a(PG:18)
       at com.android.webview.chromium.WebViewChromium.init(PG:14)
       at android.webkit.WebView.<init>(WebView.java:591)
       at android.webkit.WebView.<init>(WebView.java:526)
       at android.webkit.WebView.<init>(WebView.java:509)
       at android.webkit.WebView.<init>(WebView.java:496)
       at android.webkit.WebView.<init>(WebView.java:486)
       at ru.mail.mrgservice.MRGSDevice$1.run(MRGSDevice.java:156)
       at android.os.Handler.handleCallback(Handler.java:815)
       at android.os.Handler.dispatchMessage(Handler.java:104)
       at android.os.Looper.loop(Looper.java:210)
       at android.app.ActivityThread.main(ActivityThread.java:5839)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:879)
  • Fixed the error in the MRGSDevice method.SystemLanguageToISO. There was an incorrect ISO code for the Japanese language.
  • Fixed the description of working with the MRGSUsers class.

v2.1.4🔗

  • Updated MRGS Android to version 4.1.5.
  • Updated MyTracker to version 2.0.0.

v2.1.3🔗

In this version we have made some additions and changes:

New features:

  • Added localization support for GDPR. To set the desired language, before showing the agreement, call the setLacalizationLanguage method and pass the language designation in the ISO-639-1 format. You can get a list of available languages ​​by calling the getSupportedLocalizations method. Note that the bundle with iOS resources has been updated. Old custom files will continue working as previously. Read more about setting and customization in the documentation.
  • Added support for new advertising format - Playable ads. Based on HTML5, this format allows the user to "try" and play the game before installation. We hope that this format will be useful for attracting even more players to projects.

Cross-promotion improvements:

  • Completely changed the "design" of our video ads and static banners. Now the video and static banners will be shown fullscreen. The video ad now has a progress bar on the close button, and all the buttons and controls are rendered programmatically, so the pictures have been removed from MRGSAdvertisingResources.bundle on iOS, do not forget to update it. Improved the stability.
  • Changed the logic of working with the clicks on our advertising, which will help to reduce fraud.

AppsFlyer, MyTracker, Firebase improvements:

  • Updated external SDKs to the latest available version: AppsFlyer, MyTracker, Firebase.
  • Added MRGSAppsFlyer class. It adds the ability to receive conversions and the source of the installation. To receive them, use the new MRGSAppsFlyerDelegate delegate. Read the documentation for more details.
  • Removed sending the purchase event to AppsFlyer. Now only the af_purchase event will be sent.
  • Added methods for controlling the parameters of the MyTracker sending buffer. New methods are setBufferingPeriod, setForcingPeriod and flush.

General improvements and fixes:

  • MRGS now always uses the HTTPS protocol for data transfer. You can disable theandroid:usesCleartextTraffic flag in AndroidManifest.xml and NSAllowArbiraryLoads in Info.plist.
  • Added a separate test project, which will be delivered as a separate unitypackage file inside the archive.
  • Fixed the work of our PostBuildScript, added support for Unity 2019.3.
  • Now we automatically send a flag whether the push notifications are enabled on the device to the MRGS server. Now it is reflected in the device’s card on the website, and, in addition, if you try to send a notification to the device with the notifications turned off, MRGS will warn you about that.
  • The new widget.support.my.games is now used as the base address for MyComSupport.

Android:

  • Updated MRGS Android to version 4.1.4.

iOS:

  • Updated MRGS iOS to version 4.0.3.
  • Updated the mechanism for working with our logs on iOS (the old one could lead to crashing in rare cases). Now we can capture more logs for sending them to the server. In addition, we added the possibility to enable logs and send them to the server by opening the application using the URL scheme with a key. This will allow running logs even on production builds. Improved reliability.
  • Removed a lag before displaying video ads (previously, a black screen sometimes flickered for a while).
  • Added support for a new mechanism for working with windows on iOS - UIScene.
  • Improved memory handling when working with WebView.
  • Fixed problems with myComSupport, auto tracking, Firebase, cross-promotion display, launchedURL, etc. (See iOS changelog for more details).

Read more about the new features and their usage in the documentation.


v2.1.2🔗

  • Fixed a bug in billing that did not allow processing a payment with an error - Billing [MRGS] BuyItem: current user is unknown! Payment is not available!

Completely updated the API for working with users. Old methods were removed. Now there is only one method for setting the user ID.

  • Updated MRGS iOS to version 4.0.2.
  • Purchase event in AppsFlyer is now sent with the name "af_purchase". The old event with the name "purchase" remains.
  • Improved payment validation in auto tracking. For those who had questions - we have checked everything once again, the sandbox/live/invalid payments are determined correctly.
  • When automatically tracking payments, we will automatically report about all valid payments to all connected external SDKs (Firebase, Appsflyer).
  • Fixed the Piligrim roller display on iPad

  • Updated MRGS Android to version 4.1.3.

  • Reduced the number of repeated requests to the MRGS server in case of subscription recovery.
  • Fixed a possible crash in Google Billing.

New user API!

There is no more need to register and then authorize the user. We no longer need to build a complex logic around a simple user installation. Now it is (finally) enough to call the setUserId method. However, for the correct calculation of statistics on the MyTracker side, you must call two methods - trackRegistrationEvent and trackLoginEvent for the class MRGSMyTracker. Please note that the old API is completely removed from the SDK. Why did we do this? As of now, all registration/authorization events are incorrectly defined in MyTracker, with custom event names, which complicates the work of managers. Keeping the old methods could not guarantee the correct transition of projects to work with users, and the correct sending of statistics. Since the new API is extremely simple, it will be very easy to switch to it and implement a more correct tracking of user-related events.


v2.1.1🔗

In this version:

  • Updated MRGS iOS to version 4.0.1 (Compiled with XCode 11.2.)
  • Added automatic payment tracking. To use it, set the AutomaticPaymentTracking flag to true. Also, do not forget to add the payment verification key to the MRGS website.
  • Improved algorithm for displaying video ads, which allows you to download less data to the device and launch campaigns on the server faster.
  • Updated external SDKs.
  • Fixed build parameters, due to which the Info.plist bundles received fields with resources, which caused the failure of loading the application into TestFlight.
  • Fixed a bug due to which on iOS 13 video ads might not be shown to the user (the advertisement window was hidden under a game one).

  • Updated MRGS Android to version 4.1.1.

  • Fixed display of GDPR on phones with notches.
  • Fixed incorrect GDPR behaviour when replacing SSL certificate.
  • Changed the distance between the banners in the Piligrim roller.

v2.1.0🔗

In this version:

  • Updated MRGS Android to version 4.1.0.
  • Implemented the transition from androidx to support-library.
  • Updated Android Firebase version.
  • Updated MyTracker Android to version 1.5.12

Please read the migration guide


v2.0.0🔗

In this version:

  • Warning! Unity plugin is now divided into modules. Check the documentation to learn what each module is responsible for.
  • Updated MRGS iOS to version 4.0.0.
  • Updated MRGS Android to version 4.0.10.
  • Reduced the number of requests to MRGS server in case of a Piligrim loading error.

Please read the migration guide


v1.0.60🔗

In this version:

  • Updated MRGS iOS to version 3.8.92.
  • Fixed a crash upon when receiving an advertising object on iOS 13.

v1.0.59🔗

In this version:

  • Updated MRGS iOS to version 3.8.91.
  • Fixed the work with categories in MyComSupport.
  • Fixed a crash when showing UIAlertView in MRGSBank (in case of transaction error).

  • Updated MRGS Android to version 4.0.9.

  • Fixed a bug, when the first request for products from the bank returned an empty list of products.

v1.0.58🔗

In this version:

  • Fixed a crash in Google Billing on the line:

MRGSGoogleBillginV2.java:648

  • Improved event tracking in the Piligrim slider, this will allow you to collect more accurate statistics.
  • If the Piligrim campaign has an invalid link, it will not be shown to the user.
  • Added countries to GDPR: Norway, Liechtenstein, Iceland.

  • Updated MRGS iOS to version 3.8.90.

  • Completely removed the UIWebView from the code, since Apple pays attention to it during the review.
  • Fixed an error with Piligrim slider being cropped on iPhone X-like devices (frameless).
  • Bug fixes.

  • Updated MRGS Android to version 4.0.8.

  • Bug fixes.

v1.0.57🔗

  • MRGS Android 4.0.7.
  • checkIntegration method now works correctly on Android.
  • Fixed the Piligrim banners' display.

v1.0.56🔗

In this version the bank, based on the Google Billing Library, was updated on Android.

  • Pending Payments support.
  • Bank products now have an OriginalPrice option (price before a discount, if it was set).
  • Support for pre-registration and promo code bonuses.

IMPORTANT! It is necessary to get a new dependency to mainTemplate.gradle.

compile 'com.android.billingclient:billing:2.0.3'

v1.0.55🔗

  • MRGS Android 4.0.5.
  • MRGS iOS 3.8.89.
  • Sending verified payments to AppsFlyer on Android.
  • Sending a payment event to AppsFlyer via new API.

v1.0.54🔗

  • Added the MRGServcie.getInstallReferer method. It is a method, which returns INSTALL_REFERER for Android, and the URL with which the application was launched for iOS.
  • MRGS iOS 3.8.88.
  • MRGS Android 4.04.

v1.0.53🔗

  • Fixed an error in the MRGSMetricsiOS.AddPurchase method.

In this version we have made some additions and changes:

  • Fixed the possible causes of the Piligrim crash (iOS).
  • Improved the reaction to a lack of RAM in the system (iOS).
  • Added a method to get a list of purchased non-consumable items from the receipt.
  • To test the load, MRGS will automatically switch between the http/https protocols depending on the settings on the server.
  • Fixed payment errors for Samsung (Android).

Read more about the new features and their usage in the documentation.


v1.0.52🔗

In this version:

  • Updated MRGS Android to version 4.0.3. Fixed a bug where, after closing the MyComSupport window, the Navigation Bar was not disappearing.
  • Fixed the MRGSMetrics.AddPurchase method in Android realization.

v1.0.51🔗

In this version:

  • Updated MRGS iOS to version 3.8.86.
  • Updated external SDKs.

  • Updated MRGS Android to version 4.0.2.

  • Bug fixes.
  • Updated external SDKs.

v1.0.50🔗

In this version we have made some additions to the work with the subscriptions on iOS:

We have added a new API for working with the application receipt. With its help you can:

  • Check the "availability" of the introductory discount for a user.
  • Check the "availability" of the apple subscription offer discount for a user.
  • Get the list of active subscriptions.
  • Get the list of all subscriptions ever purchased.
  • Get the necessary information about a specific subscription.

Thus, even non-server games will be able to get up-to-date information about subscriptions without a restoring, including subscription renewals, and those projects which use discounts will be able to easily determine whether a user is suitable for a discount.

Read the instructions of the usage and a full description of the API in the "Bank" section of the documentation.

  • Updated MRGS iOS to version 3.8.85.
  • Added the SelectedDiscount field in the returned object, so that you can learn that the payment was made with a discount (iOS).
  • Fixed a bug with the mission TransactionID in the object returned upon purchasing (iOS).

  • Updated MRGS Android to version 4.0.1.

  • Fixed a bug of incorrect OpenUDID generating (Android).
  • Fixed a bug of incorrect product "consumption" when buying from the Samsung Store (Android).

v1.0.49🔗

  • Fixed a bug that caused the application crash at startup on Android when receiving install_referer.

Fixed a bug with an iOS project build error when using .NET 3.5.

Please read the migration guide

New features:

  • MRGS Android 4.0. Now MRGS for Android is divided into several libraries. This should simplify future integration into projects that use a minimum of MRGS functionality.
  • Updated Samsung Billing API.
  • Added Google Firebase analytics. Events about payments within 1 day, from 1st to 7th days and from 1st to 28th days will be sent automatically.
  • Updated MRGS iOS to version 3.8.84
  • Fixed the functioning when loading advertising data. Now it does not take iCloud place and is reused (For more details check the iOS description).
  • Improved the work with suspended payments. Now immediately after loading the products we will process all pending transactions. Therefore, for those who use the restoration at the launch of the application, we recommend removing it to avoid such situations, since it is not necessary, and there should be a button according to the guides (For more details check the iOS description).
  • Improved integration verification method (iOS).
  • Fixed a bug with missing the product type in Unity (iOS).
  • Changed and fixed the method of code autoformation in the application AppCentroller, before we could not add the code of the necessary methods. (After assembling the build, please check that the code is added correctly).

v1.0.48🔗

New features:

  • Changed the scheme of tracking video displays. Now, information about the display is sent earlier (the same way as for the main IronSource advertising networks, etc.). This is done in order to track displays in the same way and reduce the time of rewards issuing per view.
  • Added a method for checking MRGS integration. Call the MRGService.getInstance().checkIntegration(); method, and the logs will show the report about the accuracy of the integration, called or not called methods, recommendations for fixing existing errors, and all the parameters, with which MRGS was launched (currently only works on iOS).
  • Added a callback to MRGSNotificationCenter, notifying you of acceptance/rejection by the user of permission to send notifications. The method may be especially in demand if you request permission to send notifications not at the launch of the application, buy wait until the user agrees or refuses (IOS only).

Read more about the new features and their usage in the documentation.

  • Updated MRGS Android to version 3.8.137.
  • Updated MRGS iOS to version 3.8.83.

  • Now we send deeplinks to MyTracker (For more details check the iOS description).

  • Improved the creation of crash reports (For more details check the iOS description).
  • Fixed crashing when calling pending payment reset method more than once (iOS).
  • Fixed a possible bug when launching the application with MRGSNotificationCenter (iOS).
  • Fixed a bug with repeatable loading of the serverData, now only one message can be in the queue, which guarantees optimal load (iOS).
  • Fixed a possible crash if during the start of the GDPR display the application is immediately closed (Android).

v1.0.47🔗

  • Updated MRGS Android to version 3.8.136.
  • Fixed Android version bugs (Disabled the old Google Play Services version verification API, Cross-promotion slider should now display correctly on Samsung S10e).

v1.0.46🔗

Fixed bug with impossibility to build a project with L2CPP.

  • Added support for initializing our library from the code, and not from configuration files of each platform. For this, we added several parameter description classes and a new method in the MRGServiceInit class. Read more about this type of initialization in the documentation.

  • Added serverTime field in the MRGServiceInit class. It constantly reflects the current server time, and is affixed after the first obtainment of data from the server.

  • We decided to remove the MyTarget support platform on Unity, therefore currently we removed the dependencies, our wrapper classes, and it's mentioning in the documentation.

  • Added support for the new Apple Subscription Offers API on iOS, which allows you to make subscription discounts. (Added new method to MRGSBank class).

  • Now getting a list of bank products on iOS will occur regardless of whether inapp purchases are allowed on the device or not.

Read more about the new features and their usage in the documentation.

  • Updated MRGS Android to version 3.8.135.
  • Updated MRGS iOS to version 3.8.82.
  • Fixed receiving the locale for myComSupport on iOS (Check iOS description for more details).
  • Fixed a possible error with the loss of payload when purchasing in the application on iOS (Check iOS description for more details).
  • Fixed a bug on Android with the new GDPR API, when after calling the setUserHasAcceptedAgreementWithVersion function the version of the agreement was not saved.

v1.0.45🔗

  • We have added absolutely new documentation for Unity! Now it’s easier to navigate in it, there is a description of the categories, usage guides, a search and much more.
  • Added the class for working with new notifications - MRGSNotificationCenter, which allows more efficient and convenient work with notifications, has flexible settings, allows you to use a custom type of notifications, supports groups, buttons in notifications (iOS), allows you to conveniently set the time of sending notifications. And much more! We offer reading the documentation for a more detailed acquaintance with all the functions and features!
  • Added automatic sending about user registration event to myTracker, so that projects can count unique users and installations
  • Changed the GDPR API. Now the showAgreementFromFile(string appId, string filePath, int agreementVersion) method is considered deprecated, since the version parameter could cause a conflict with the agreementVersion property. Added the showAgreementFromFile(string appId, string filePath) method, which is now considered the main one.
  • Added new GDPR features. Now you can show your custom interface in GDPR. You no longer have to bother with HTML, its download speed and layout. We have added three new methods: two in order to find out if the user is relevant for GDPR, whether he needs to see the agreement, and the third - to notify us of the acceptance of the agreement. Read more about this feature in the GDPR documentation.

  • Updated MRGS Android to version 3.8.134.

  • Updated MRGS iOS to version 3.8.81.
    • Fixed bugs and crashes (read more in the description of the iOS version).
    • Added ARM64e architecture support on iOS.
    • Reworked the class for working with OpenUDID.
    • Now when generating a signature in myComSupport server time is used.

v1.0.44🔗

  • Updated MRGS iOS to version 3.8.80. Fixed a bug that sometimes leads to deadlock inside the MRGSDevice class.
  • Updated MRGS Android to version 3.8.132. The Piligrim static banner now has semi-transparent background.
  • New MRGSBank.resetPendingPayment() method - resets a pending purchase, made through the AppStore on iOS.
  • The Piligrim static banner now has semi-transparent background.
  • Fixed an incorrect file name error when attaching images from gallery to MyComSupport tickets on Google Pixel 2.

v1.0.43🔗

  • Removed AndroidManifest.xml, which accidentally got into the previous build.
  • Fixed a bug in MRGSBankAndroid, which did not allow changing one subscription to another.
  • IMPORTANT! Fixed the error in MyComSupport attachments, when the attached files "lost" their extension. Because of this, the files displayed incorrectly in the MyComSupport admin panel.
  • Updated MRGS Android to version 3.8.131.
  • Updated MyTracker to version 1.5.6, update your mainTemplate.gradle file.
dependencies {
compile 'com.my.tracker:mytracker-sdk:1.5.6'
}

v1.0.42🔗

  • Fixed a bug where some files could not be attached to the MyCom Support ticket with the error "file is too big".
  • Fixed a possible crash during initialization of MRGS Advertising (Piligrim) on smartphones without WebView.
  • Updated MRGS iOS to version 3.8.79. Fixed a bug when the onClick callback was not called when pressing on server push notification.
  • Updated MRGS Android to version 3.8.130.

v1.0.41🔗

  • When calling the showContent method in the MRGSAdvetising class, you can now transfer payload, which will then be sent to your server.
  • Please note! MRGS Android no longer uses Apache HttpClient, so you can remove all dependencies of org.apache.httpcomponents and the useLibrary 'org.apache.http.legacy' line from mainTemplate.gradle.
  • Updated MRGService Android to version 3.8.129.
  • Updated MRGService iOS to version 3.8.78.

v1.0.40🔗

  • Fixed the problem of generating a signature for requests to MyComSupport. This error could have led to the window with MyComSupport not opening.

v1.0.39🔗

  • Fixed an error of notification display on iOS, if the title (Title) is not set.
  • iOS Bank. Fixed a bug where the application crashed, if suddenly there are pending purchases in the queue, and the restore method was called.
  • Now, if on iOS the application was launched through a notification, the onReceiveNotification callback will work after setting the delegate to MRGSNotificationManager.
  • MRGSGDPR now uses a real, not fake, address as baseurl when opening html from a file, which should fix the problem with displaying GDPR in certain countries.

v1.0.38🔗

  • For notifications on iOS, you can now set the title of the notification (Title). You can also set the notification category to use it in Notification Extension.
  • More secure work with a ticket checker delegate in MRGSMyComSupport on Android.

v1.0.37🔗

  • Updated MRGS iOS to version 3.8.74.
  • Updated MRGS Android to version 3.8.124.
  • GDPR. Fixed an error where the agreement window was not centered on the iPhone X, fixed a scaling error.
  • MyTracker. Fixed a bug due to which user identifiers (customUserId) were never transmitted to MyTracker. Now in the events in the myTracker admin area you can find the user ID (customUserId).
  • Bank. Fixed a crash when trying to make a purchase/restore of products removed from the AppStore, that were previously valid and hung.

v1.0.36🔗

  • Updated MRGS iOS to version 3.8.73.
  • Fixed broken links in GDPR window.

v1.0.35🔗

  • Updated MRGS Android to version 3.8.122.
  • Fixed a Piligrim bug with the banner being incorrectly rotated on Android 8.

v1.0.34🔗

  • Updated MRGS iOS to version 3.8.72.
  • Added more logs to MRGSBank when working with Promo Products from the AppStore.

v1.0.33🔗

  • Updated MRGS iOS to version 3.8.71.
  • Added methods for managing promotional payments on the AppStore page to MRGSBank. You can read more about methods in the documentation.

v1.0.32🔗

  • Updated MRGS iOS 3.8.70.
  • Updated MRGS Android 3.8.121.

  • Text metrics. Previously, you could send MRGS metrics consisting of only numeric values, now you can send metrics with a text key. They will be automatically created in the admin panel of MRGS.

  • MRGSMyTracker. We made a wrapper for sending events directly to MyTracker. Now if you need to send a custom event directly to MyTracker, bypassing the MRGS, you can call the method MRGService.instance().getMyTracker().trackEvent(eventname, params).

  • Piligrim Metrics. Now you can observe the exact picture of user behavior when viewing ads. 4 types of events are now sent to our server: a crash occurred during a viewing, the user closed the application while watching ads, an error loading campaign, an error checking the hash of the campaign. Thus, the statistics will become more understandable.

  • Bank on iOS. This version fixes the disappearance of developerPayload from payment. Also, fixed the early payment closing, due to which they could be lost.

  • Custom server push notifications. Now you can specify your notification markup in server push, if it is present in the resources, as well as for local notifications. To do this, in param you need to specify JSON of the following format.

{
"custom_notification" : {
"layout" : "<resource layout notification name>",
"texts" : {"<TextView name inside of layout>" : "<Text line>", "<TextView name inside of layout>" : "<Text line>"},
"image" : {"<ImageView name inside of layout>" : "<Name of drawable resource with picture>", "<ImageView name inside of layout>" : "<Name of drawable resource with picture>"}
}
}

Example:

{
"custom_notification" : {
"layout" : "evo_custom_notification",
"texts" : {"text_view1" : "Title", "text_view2" : "Message"},
"image" : {"image_view1" : "blake_image", "image_view2" : "pilot_blade"}
}
}
  • Fixed an error where in the custom push for one notification the counter "2" was displayed immediately.

  • Fixed an error when a custom file with GDPR did not open.


v1.0.31🔗

  • Fixed #if

Was:

#if UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif UNITY_IOS
_self = new MRGSBankiOS();
#else
_self = new MRGSBankEditor();
#endif

Now:

#if !UNITY_EDITOR && UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif !UNITY_EDITOR && UNITY_IOS
_self = new MRGSBankiOS();
#else
_self = new MRGSBankEditor();
#endif

v1.0.30🔗

  • Updated MRGS Android to version 3.8.117.
  • Updated MRGS iOS to version 3.8.69.
  • if blocks are reworked to fit the builds for other platforms (Mac, Windows etc.)🔗

Was:

#if UNITY_EDITOR
_self = new MRGSBankEditor();
#elif UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif UNITY_IOS
_self = new MRGSBankiOS();
#endif

Now:

#if UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif UNITY_IOS
_self = new MRGSBankiOS();
#else
_self = new MRGSBankEditor();
#endif

v1.0.29🔗

  • Updated MRGS Android to version 3.8.116.

v1.0.28🔗

  • Fixed errors in the iOS build. Fixed grammar errors.

v1.0.27🔗

  • Updated MRGService Android to version 3.8.114.
  • Updated MRGService iOS to version 3.8.66.
  • Fixed possible crashing when working with notifications, if you set an empty developerPayload.
  • Added the ability to get the notification status in the system (on or off) MRGSNotificationManager.getInstance().areNotificationsEnabled();. The status will be sent to the delegate IMRGSNotificationDelegate.

v1.0.22🔗

  • Updated MRGService Android to version 3.8.106.
  • Fixed possible crashing when initializing the MRGS service on Android not from the main stream.

v1.0.21🔗

  • Fixed a problem with overwriting a secret in MyComSupport, if the code has an empty secret.
  • Added Payload (additional parameters that may be set by the developer) to notifications.
  • Fixed an issue where after loading an empty Piligrim campaign on iOS, a callback about new data was called.
  • Updated MRGService Android to version 3.8.105.
  • Updated MRGService iOS to version 3.8.666.

v1.0.20🔗

  • Fixed the error in MRGSHelper.cs (Android). *Changed the protocol for accessing MyCom Support. Now the signature parameter (formerly sig) uses the day of the month so that the link is valid for only one day.
  • Country request timeout for GEO IP for GDPR is reduced to 5 seconds, so that the user won't have to wait for a long time to open a window on application launch.
  • Updated MRGService iOS to version 3.8.64.
  • Updated MRGService Android to version 3.8.104.
  • Updated external SDKs.

v1.0.19🔗

  • Updated MRGService iOS to version 3.8.63.
  • Updated MRGService Android to version 3.8.103.
  • MRGSBank for iOS now calls a native isBankAvailable method.

Fixed duplicate sending of the agreed to GDPR log.


v1.0.18🔗

  • Fixed crashing when using Unity 2018.2. When using Unity 2018.2, calling the Call<string> method on AndroidJavaObject objects may lead to a crash, if null is returned instead of a string.

v1.0.17🔗

  • Updated MRGS Android to version 3.8.102.

v1.0.16🔗

  • Updated MRGS Android to version 3.8.101.

v1.0.15🔗

  • Updated MRGS iOS to version 3.8.63.
  • Added push notifications for delayed registration of subscriptions.
  • Requests that used HTTPS (except for the bank) are converted to HTTP to reduce load on the server.

v1.0.14🔗

  • Updated MRGS iOS to version 3.8.62.
  • Updated MyTracker iOS to version 1.7.4.
  • Disabled forwarding payments to the tracker from MRGS and enabled auto-tracking payments in the tracker.

v1.0.13🔗

  • Updated MRGS Android to version 3.8.97.
  • Added support for displaying the notification counter when showing a group of custom notifications.
notification.setCustomViewGroupCounter("notification_counter"); //where notification_counter is the TextView id in the notification Layout, where the number of notifications will be displayed

v1.0.12🔗

  • Updated MRGS Android to version 3.8.94.
  • MyComSupport checkTickets will not be called, if there is no secret.
  • Removed automatic call of MyCom Support checkTickets after user has loged in.
  • Moved IDFA and OpenUDID from GET to POST in the request after agreeing to the GDPR, since Google showed warings about the leak of the advertising identifier.
  • Updated MyTracker to version 1.5.3.

v1.0.11🔗

  • Added Custom Notifications support on Android.
  • Updated MRGS Android to version 3.8.92.

v1.0.10🔗

  • Fixed GDPR display on Android 4.x and iPad mini (not retina).
  • Fixed incorrect behavior when closing the MyCom Support window.

v1.0.9🔗

  • Fixed errors when opening GDPR from external files.

v1.0.8🔗

  • Added GDPR support.

Usage example:

void Awake () {
DontDestroyOnLoad(this);
MRGSGDPR.getInstance().Delegate = this;
if (MRGSGDPR.getInstance().isUserAgreedWithAgreement())
{
MRGService.getInstance ().init(new LoadServerDataDelegate(), APP_ID, APP_SECRET);
}
else
{
MRGSGDPR.getInstance().showDefaultAgreement(APP_ID);
}
}

public void onUserHasAcceptedGDPR(bool withAdvertising)
{
MRGService.getInstance ().init(new LoadServerDataDelegate(), APP_ID, APP_SECRET);
}

public void onGDPRError()
{
Application.Quit();
}
  • Updated MRGService for Android to version 3.8.84
  • Updated MRGService for iOS to version 3.8.58

v1.0.7🔗

  • Added support for a new API for checking replies on MyComSupport tickets. Attention! Before calling the checkTickets method, you must set the Secret.

  • Updated MRGService for Android to version 3.8.81.

  • Updated MRGService for iOS to version 3.8.55.

v1.0.6🔗

  • Added the possibility to set icons for notifications on Android.
long unixTimestamp = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
MRGSNotificationManager.MRGSLocalNotification notification1 = MRGSNotificationManager.MRGSLocalNotification.create(1, "Hello from Unity", unixTimestamp + 5);
notification1.Icon = "statusbar_push_icon";//Name of the file without the png extension, which lies in the Android resources (res/drawable)
notification1.LargeIcon = "push_icon";//Name of the file without the png extension, which lies in the Android resources (res/drawable)
MRGSNotificationManager.getInstance().Delegate = this;
MRGSNotificationManager.getInstance().addLocalNotification(notification1);
  • Updated MRGService for Android to version 3.8.78.
  • Updated MRGService for iOS to version 3.8.53.

v1.0.5🔗

  • Fixed the error where a null object could be inserted into NSDictionary on iOS when converting notifications to JSON.

v1.0.4🔗

  • Added sendPaymentInfo method to the MRGSBank class. It must be called to inform about the payment comptetion, if payments are not processed through MRGS.

v1.0.3🔗

  • Updated MRGS Android to version 3.8.75 and MRGS iOS to version 3.8.52.
  • Added the possibility to send confirmation of giving and receiving bonuses. Method MRGService.confirmBonus (string bonusId).
  • Added the possibility to set additional parameters when opening the MyCom Support window in JSON format.
MRGSMyComSupport.getInstance().addExtraParam("{}");
MRGSMyComSupport.getInstance().show();
  • Updated MyTracker Android to version 1.5.2. Update your mainTemplate.gradle.
dependencies {
compile 'com.my.tracker:mytracker-sdk:1.5.2'
**DEPS**}

v1.0.2🔗

  • Updated MRGS Android to version 3.8.74 and MRGS iOS to version 3.8.51.
  • Fixed the error with incorrect date conversion in notifications.

v1.0.1🔗

  • Updated MRGS Android to version 3.8.72 and MRGS iOS to version 3.8.50.

v1.0.0🔗

  • Version 1.0.


Last update: 2025-04-14
Created: 2020-03-02