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 inaccessibleerror
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 (%) patternfor 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
deviceIdin http requests for payment validation. - Fixed incorrect value of
PriceMicrosfield for products in WebGL (if price is more than2147)
Ironsource-Adapter module:
- Updated Apptimism SDK (
Android 0.0.9,iOS 0.0.6)
Notifications module:
- [android] Fixed crash when clicking on notification if
developerPayloadcontains 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
MRGSProductInfoclass to send new format product information - [android] Updated
androidx.core:core:1.9.0toandroidx.core:core-ktx:1.13.1 - [android] Updated
com.google.android.gms:play-services-ads-identifierfrom 18.0.1 to 18.1.0. - [android] Updated
com.google.android.gms:play-services-appsetfrom 16.0.2 to 16.1.0. - [android] Updated
androidx.appcompat:appcompatfrom1.6.1to1.7.0 - [android] Updated
kotlinfrom1.8.22to1.9.23 - [android] Improved thread queue, fixed
Thread pool blocking queue is fullerror - 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-v2from20.1.0to20.1.2
Advertising module:
- [android] Removed dependency
androidx.localbroadcastmanager:localbroadcastmanager. - [android] Updated
androidx.recyclerview:recyclerviewfrom1.2.1to1.3.2. - [android] Updated
androidx.vectordrawable:vectordrawablefrom1.1.0to1.2.0 - [android] Fixed getting video file name from
creative_video_filevalue inMRGSAdvertisingCampaign.
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:billingfrom6.0.1to7.1.1. - [android] Updated
com.facebook.android:facebook-gamingservicesfrom16.0.1to17.0.2
GDPR module:
- [android] Updated
com.bigossp:bigo-adsfrom4.7.0to5.0.2. - [android] Updated
com.moloco.sdk.adapters:moloco:2.1.1.0tocom.moloco.sdk:moloco-sdk:3.2.0 - [android] Updated
com.tappx.sdk.android:tappx-sdkfrom4.0.6to4.1.6 - [android] Updated
com.unity3d.ads:unity-adsfrom4.4.1to4.12.3 - [android] Updated
com.tapjoy:tapjoy-android-sdkfrom12.11.0to14.1.0 - [android] Updated
com.my.target:mytarget-sdkfrom5.16.2to5.22.1 - [android] Updated
com.vungle:publisher-sdk-android:6.12.0tocom.vungle:vungle-ads:7.4.1 - [android] Updated
com.fyber:fairbid-sdkfrom3.33.1to3.55.0 - [android] Updated
com.facebook.android:facebook-corefrom15.1.0to17.0.2 - [android] Updated
com.chartboost:chartboost-sdkfrom9.1.1to9.7.0 - [android] Updated
com.applovin:applovin-sdkfrom11.6.0to13.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-messagingfrom 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:browserfrom1.5.0to1.8.0. - [android] Updated
androidx.recyclerview:recyclerviewfrom1.2.1to1.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#RestorePurchaseswill only return the last purchased items forNonConsandSubs, as well as failedConsfrom 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 Mintegraldependencies
Notifications module:
- [android] Added null data check in
PostPermissionActivity.
Support module:
- Fixed a bug where 'callbacks' were not called if
MRGSMyGamesSupport#CancelAccountDeletionRequestmethod was called multiple times with the sameticketId.
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
AppsflyerSDKfrom6.15.1to6.15.3.
Bank module:
- [android] Changed maximum size of
developerPayloadinOnestoreBilling- reduced to 200 characters. - [ios] Fixed
MRGSBankProduct.initcrash (could occur when trying to buy a product with payment ban enabled) - [android] Fixed
developerPayloaddisappearance when resuming the application afteronPause. - [android] Fixed a bug where
transactionIdfrom Samsung Galaxy Store could not be sent to Appsflyer. - [android] Fixed a
thread race conditionthat could result indeveloperPayloadbeing lost when validating a payment.
Didomi module:
- [ios] Updated
Didomi SDKfrom2.11.1to2.13.0. - [android] Updated
io.didomi.sdk:androidfrom2.10.1to2.13.0
Firebase module:
- [ios] Updated
Firebase SDKfrom10.29.0to11.2.0. - [android] Updated
com.google.firebase:firebase-analyticsfrom22.1.0to22.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/catchblocks 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: NameResolutionFailureduring 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 SDKdependency, because it can cause some problems on XCode 16.
Analytics module:
- Added a new
waitForTCFfield tomrgs_dma_startevent.
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_COREto disable the module - [ios] Improved work with OpenUDID - disabled generation before start of sdk, added saving in
Keychainto 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.ToponPtefor 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:adrevenuedependency. - [android] Updated
com.appsflyer:af-android-sdkfrom6.14.2to6.15.0. - [ios] Updated
AppsFlyer SDKfrom6.14.3to6.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:androidfrom2.7.0to2.10.1 - [ios] Updated
Didomi SDKfrom2.8.0to2.11.1.
Firebase Module:
- [android] Updated
com.google.firebase:firebase-analyticsfrom22.0.1to22.1.0 - [ios] Updated
Firebase SDKfrom10.27.0to10.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 defineMRGS_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.0and 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)to5.0 (21 api)for the MRGSGoogleSignIn module - [android] Updated
com.google.android.gms:play-services-gamesfrom23.1.0to23.2.0. - [android] Updated
com.google.android.gms:play-services-authfrom20.6.0to21.2.0. - [android] Changed minimum required version of Android from
4.4 (19 api)to5.0 (21 api)for the MRGSGooglePlay module - [android] Updated
com.google.android.gms:play-services-games-v2from17.0.0to20.1.0
Module Appsflyer:
- [android] Updated
com.appsflyer:af-android-sdkfrom6.14.0to6.14.2.
Module Bank:
- [android] Fixed a bug where
MRGSBillingDelegate#onReceiveFailedPurchasereturned 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:androidfrom2.5.1to2.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#Languangewould always returnnullfor PC and consoles.
Authentication module:
- Added asynchronous
isLoggedInmethod 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.gamesplatform - Reduced the number of characters in the library path in the finished XCode project
- [android] Fixed
java.util.ConcurrentModificationExceptionerror 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 SDKfrom2.5.0to2.8.0.
Firebase module:
- [ios] Updated
Firebase SDKfrom10.24.0to10.27.0. - [android] Updated
com.google.firebase:firebase-analyticsfrom22.0.0to22.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.inMRGSModulesManager - [android] Fixed ANR bug. The
getHwMemoryUse()call has been moved to a background thread inside theupdateHwMemoryUse()method.
Authentication (Facebook) module:
- Graph Api version used raised to 19
Analytics module:
- [android] Fixed a bug where events sent during the active
waitForCustomerUserIdmode were lost. - [android] Fixed a bug where AppsFlyer would start sending analytics after the
waitForCustomerUserIdmode was removed, but the user agreement (DMA) had not yet been received. The problem only occurred when using thewaitForCustomerUserIdmode.
Module Bank:
- Added new fields
isSandbox(whether the payment was made in the test environment) andusd(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
PrivacyManifestto avoid problems with building onXCode 15.3.
MRGService module:
- [Android] Fixed
ANRwhen callingMRGSTracker#Flush().
Authentication module:
- [iOS] Fixed missed authentication
callbackfor 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 SDKfrom6.9.1to6.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 SDKfrom6.13.1to6.14.3. - [Android] Updated
com.appsflyer:af-android-sdkfrom6.13.0to6.14.0.
Didomi module:
- [iOS] Updated
Didomi SDKfrom2.2.0to2.5.0. - [Android] Updated
io.didomi.sdk:androidfrom2.4.0to2.5.1.
Firebase module:
- [iOS] Updated
Firebase SDKfrom10.23.0to10.24.0. - [Android] Updated
com.google.firebase:firebase-analyticsfrom21.6.2to22.0.0. - [Android] Changed minimum required Android version from
4.4 (19 api)to5.0 (21 api).
Notification module:
- [Android] Updated
com.google.firebase:firebase-messagingfrom23.1.2to24.0.0. - [Android] Changed minimum required Android version from
4.4 (19 api)to5.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
firebaseInstanceIdto MRGS events - [android] Added flag to disable auto-tracking of payments from a remote config.
- [android] Changed way of generating
sessionIdfrom 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 inwork-thread.
Module Bank:
- [android] Changed behavior of
restoreTransactionmethod 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 callingrequestProducts, and will return an error inonReceiveFailedPurchaseif 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 SDKfrom1.98.0to2.2.0. - Updated
DidomiPostProcessorGradleAndroidProject. It will now replace Unity activity withFragmentActivityinstead ofAppCompatActivity, will no longer replace default styles and will stop modifyingandroid manifest. - [android] Updated
io.didomi.sdk:androidfrom1.90.0to2.4.0. - [ios] Fixed work with DMA if the user is not covered by TCF
Firebase module:
- [android] Updated
com.google.firebase:firebase-analyticsfrom 21.6.1 to 21.6.2.
Module Ironsource:
- Added support for
Unity.LevelPlayasmdef
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
NullPointerExceptionandANRinTransferManager. - [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.gamesplatform for Unity WebGl builds.
Bank module:
-
Supported payments on
store.my.gamesplatform for Unity WebGl builds. -
[Android] Fixed a
ForegroundTaskPipeline: No UI visible to execute taskerror, when couldn't start a payment window in Amazon IAP SDK on Unity builds.
Didomi module:
-
[iOS] Added a new
OnSkippedDueToAttmethod, 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#setAnalyticsCollectionEnabledwithtrue, after each call toFirebaseAnalytics#setConsent.
Firebase module:
- [iOS] Updated
Firebase SDKfrom10.22.0to10.23.0. - [Android] Updated
com.google.firebase:firebase-analyticsfrom 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 classerrors 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
MRGSAppsFlyerParamsto 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 SDKfrom10.21.0to10.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
MRGSSDKVersionsReporterwhich 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: Nif 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 byMRGS_DISABLE_{Module}. - [iOS] Added collection of attributes that application was launched on Mac with M series.
-
[iOS] Improved checking jailbreak.
-
Fixed a crash in
MRGSDoOnMainThreadif this class was called fromwork-threadinstead ofmain-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
hashchecking for downloadedAdTechads. -
[iOS] Fixed cache resetting if IronSource adapter was used.
Analytics module:
- [iOS] Updated AppsFlyer SDK from
6.12.3to6.13.1. -
[Android] Updated
com.appsflyer:af-android-sdkfrom6.12.1to6.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#BankVersionAtFirstRunproperty 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.0to10.21.0. - [Android] Updated
com.google.firebase:firebase-analyticsfrom21.3.0to21.5.1.
Didomi module:
-
Added a new
MRGSDidomi#Reset()method. -
[Android] Updated
io.didomi.sdk:androidfrom1.89.0to1.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#Languageproperty 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, ifMRGSAuthenticationMyGames#Loginwas 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.1to6.12.3.
Bank module:
-
Supported MRGSBank emulation for UnityEditor.
-
[Android] Updated Samsung IAP SDK from
5.0.1to6.1.0. -
[Android] Updated Amazon IAP SDK from
2.0.76to3.0.4. -
[Android] Fixed an issue when MRGSBank completed operations incorrectly with empty receipt, as a result
callbackcould be called several times. - [Android] Fixed long validation if transaction cache contains the same
userandtransaction id.
Didomi module:
- Added a new
MRGSDidomi#ShouldUserStatusBeCollectedproperty. -
[Android] Supported
Activityfrom Android SDK to work with Didomi SDK for projects which don't useAndroidxlibraries. -
[iOS] Update Didomi SDK from
1.95.1to1.98.0. - [Android] Update
io.didomi.sdk:androidfrom1.87.0to1.89.0.
GDPR module:
- [Android] Changed conditions for showing CCPA button, now it has the same behavior as on
iOS.
Notifications module:
-
[Android] Supported different notification styles and improved supporting of custom notifications.
-
[Android] Fixed incorrect behavior for Android 13 and
deferredPushStartflag was disabled.
Support module:
- Supported
MRGSMyGamesSupport#CustomUserIDfor PC and consoles. - Supported
MRGSMyGamesSupport#RequestAccountDeletionfor PC and consoles. - Supported
MRGSMyGamesSupport#CancelAccountDeletionRequestfor 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
applicationRunevent wasn't sent, and installations were not tracked in 1Link. -
[Android] Fixed an
ANRwhen callingMRGSDevice#GetHwMemoryUse()method. - [Android] Fixed a rare issue
IndexOutOfBoundsExceptionwhen callingMRGSDevice#GetHwMemoryUse()method.
Advertising module:
- [Android] Fixed an
ANRduring loading ads.
Showcase module:
- [Android] Fixed an
ANRduring 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.erroron 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
AccessTokenfor 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_LOGINerror during OneStore IAP SDK initialization. -
[Android] Fixed an issue when empty
developerPayloadwas 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
namespacefromEditor.MRGStoMRGS.Editorto 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 returnlanguage codeinsteadcountry code. Now it returnscountry codeornull.
Advertising module:
- [iOS] Improved campaigns caching for AdTech.
Didomi module:
- Changed thread for
DidomiEventListenerfrombackgroundtomainfor 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:androidfrom1.85.1to1.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
iOSlibraries to zip-archives to avoid problems with imports.
MRGService module:
-
Added a new
MRGService#SetHost(string)method to server host inMRGService. -
[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
SocialIDforMRGSAuthenticationGoogleGames. - [Android] Fixed sending of
socialLoginandsocialUserevents 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_plusevent. Now they will be sent even for test purchases.
GDPR module:
- Deprecated
MRGSGDPR#setUserChangedCCPAPrefrences(MRGSCCPAUserPreference)method. UseMRGSGDPR#SetUserChangedCCPAPreference(MRGSCCPAUserPreference). - Deprecated
MRGSGDPR#shouldShowCCPAButton()method. UseMRGSGDPR#ShouldShowCCPAButtoninstead. - Deprecated
MRGSGDPR#getCurrentCCPAUserPrefrences()method. UseMRGSGDPR#CurrentCCPAUserPreferenceinstead. - Deprecated
MRGSGDPR#openLinkInWebView(string, string)method. UseMRGSGDPR#OpenLinkInWebView(string, string)instead. - Deprecated
MRGSGDPR#resetModule()method. UseMRGSGDPR#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
authorizationStatusproperty intoMRGSNotificationSettingsto get current permission status of notification.
Showcase module:
- Changed title font from
gothamtoopen-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 readisEUOnlyflag fromMRGSGDPR#onlyForEU(bool)instead of reading passed value. Now it will read passed value and ignoreMRGSGDPR#onlyForEU(bool). - [Android] Fixed
ClassCastExceptionforMRGSGDPR#getAgreementTime()andMRGSGDPR#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 handlenullvalues. -
[Android] Fixed an issue when new
MRGSGDPR#ShowAgreement()method didn't readMRGSGDPRShowParam#isAutomaticCOPPAFlowEnabledvalue. - [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#Instanceproperty to get an instanceMRGSGDPR. - Added a new
MRGSGDPR#OnlyEuproperty to set restriction for showing GDPR window only for European Union. - Added a new
MRGSGDPR#ShowDelegateproperty set a listener to get a result from MRGS GDPR window. - Added a new
MRGSGDPR#AcceptedAgreementproperty to get information about the accepted agreement by user. -
Added a new
MRGSGDPR#SupportedLocalizationsproperty get list of supported localizations frommrgsgdpr_langs.jsonSDK file. -
Added a new
MRGSGDPRAgreementclass that describes information of current GDPR agreement from MRGS console. - Added a new
MRGSGDPRAcceptedAgreementclass that describes information of accepted agreement by user. - Added a new
MRGSGDPRLocalizationclass that contains properties to localizehtmlpage of MRGSGDPR SDK. - Added a new
MRGSGDPRShowParamsclass that contains properties to change showing behavior of MRGS GDPR window. - Added a new
MRGSGDPRShowReasonenum that describes reasons of showing MRGS GDPR window. -
Added a new
MRGSGDPRShowResultclass that contains result of showing MRGS GDPR window. -
Deprecated
MRGSGDPR#getInstancemethod. UseMRGSGDPR#Instanceinstead. - Deprecated
MRGSGDPR#onlyForEU(bool)method. UseMRGSGDPR#OnlyEuinstead. - Deprecated
MRGSGDPR#withAdvertising(bool)method. UseMRGSGDPRShowParams#WithAdvertisinginstead. - Deprecated
MRGSGDPR#enableAutomaticCOPPAFlow(string, string)method. UseMRGSGDPRShowParams#AutomaticCoppaFlowinstead. - Deprecated
MRGSGDPR#setLocalizationLanguage(string)method. UseMRGSGDPRShowParams#Localization. - Deprecated
MRGSGDPR#setUseWebViewForExternalLinks(bool)method. UseMRGSGDPRShowParams#UseWebViewForExternalLinksinstead. - Deprecated
MRGSGDPR#getAgreementTime()method. UseMRGSGDPR#AcceptedAgreementinstead. - Deprecated
MRGSGDPR#getAgreedVersion()method. UseMRGSGDPR#AcceptedAgreementinstead. - Deprecated
MRGSGDPR#getSupportedLocalizations()method. UseMRGSGDPR#SupportedLocalizationsinstead. - Deprecated
MRGSGDPR#showDefaultAgreement(string)method. UseMRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>)instead. - Deprecated
MRGSGDPR#showAgreementFromFile(string, string)method. UseMRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>)instead. - Deprecated
MRGSGDPR#checkIfUserGetsUnderGDPR(string, Action<bool>)method. UseMRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>)instead. - Deprecated
MRGSGDPR#shouldShowGDPR(string, bool, Action<bool>)method. UseMRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>)andMRGSGDPR#OnlyEuinstead. - Deprecated
MRGSGDPR#setUserHasAcceptedAgreement(bool, bool, int)method. UseMRGSGDPR#OnAgreementAccepted(bool). - Deprecated
MRGSGDPR.IShowDelegateinterface. UseMRGSGDPR.IOnShowDelegateinstead.
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
Authorizationproperty in theMRGSNotificationSettingsobject 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
NullPointerExceptionwhen 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:corefrom1.7.0to1.9.0. - [Android] Updated
androidx.appcompat:appcompatfrom1.4.2to1.6.1.
MRGService module:
-
Added a new
MRGSGeoIpInfo#Cityproperty to get city name. -
[Android] Updated
com.huawei.hms:ads-identifierfrom3.4.58.301to3.4.62.300. - [Android] Updated
com.huawei.hms:opendevicefrom6.9.0.300to6.11.0.300. -
[Android] Fixed an issue when
MRGService#ServerTimecould return0. 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 eventsfor AdTech -
[Android] Fixed an issue
Not attached to Activity. - [Android] Fixed an issue when
onSaveInstanceStatewas called beforeVideoAdFragmentclosing. - [iOS] Fixed an issue with double calling of
tracking linksin AdTech.
Analytics module:
- [iOS] Added
quantityfield to purchases events for AppsFlyer.
Authentication module:
- [Android] Updated
com.google.android.gms:play-services-authfrom20.4.0to20.6.0. -
[Android] Updated
androidx.browser:browserfrom1.3.0to1.5.0. -
[Android] Fixed an issue when
onSaveInstanceStatewas called beforeMyGamesLoginFragmentclosing.
Bank module:
-
[Android] Updated
com.huawei.hms:iapfrom6.1.0.300to6.4.0.301. -
[Android] Fixed an issue
Too many bind requests 999+because of unstable connections with Google Service.
Firebase module:
- [iOS] Added
quantityto purchases events for Firebase.
IronSource-Adapter module:
-
Supported sending extra data to server.
-
[Android] Fixed
NullPointerExceptionwhen 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:pushfrom6.7.0.300to6.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
MRGSAppsFlyerDeepLinkwas returned with unfilled properties for Android platform. - [Android] Fixed a regression since release of
6.7.1when payment information stopped being sent to AppsFlyer.
Advertising module:
- [Android] Fixed Zip Path Traversal Vulnerability.
GDPR module:
-
Supported CCPA for new libraries: Tappx and Ogury.
-
[Android] Fixed a rare
NullPointerExceptionerror when trying to show GDPR withFragmentDialog(WebView). - [Android] Fixed a
ActivityNotFoundExceptionerror 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.0version) 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
proguardrules for aggressiveobfuscation(android.enableR8.fullMode=true). -
Fixed a
NullPointerExceptionif 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
loginmethod 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
ISMRGSCustomAdaptermodule - it's across-promowithDSPforIronSource.
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:billingfrom4.1.0to6.0.1.
GDPR module:
-
Added a new
MRGSGDPR#SetBackgroundColor(float, float, float, float)method to changebackgroundinWebView. -
[iOS] Fixed an issue a white background in
WebView.
Analytics module:
- [iOS] Updated
AppsFlyer SDKfrom6.12.0to6.12.1.
Firebase module:
- [iOS] Updated
Firebase SDKfrom10.12.0to10.13.0.
Authentication module:
- [iOS] Updated
VKId SDKfrom0.102.0to0.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#UserAnonymizationproperty for user anonymization in http requests to server. -
[Android] Fixed an issue when
MRGSDevice#GetAdvertisingIdcan returnnullintocallback.
Analytics module:
- [iOS] Updated
AppsFlyer SDKfrom6.11.1to6.12.0. - [Android] Updated
com.appsflyer:af-android-sdkfrom6.11.1to6.12.1.
Authentication module:
- [iOS] Updated
VKId SDKfrom0.101.1to0.102.0. - [iOS] Updated
LoginWithAmazon SDKfrom3.1.2to3.1.3.
Firebase module:
- [iOS] Updated
Firebase SDKfrom10.10.0to10.12.0. - [Android] Updated
com.google.firebase:firebase-analyticsfrom21.2.2to21.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-sdkfrom3.0.11to3.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-sdkfrom6.11.0to6.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#GetGeoIpInfomethod 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
AppsFlyerfrom6.10.0to6.11.1.
Authentication module:
- [IOS] Updated
VKIdfrom0.70.7822777to0.101.1. -
[IOS] Updated
VKfrom1.6.1to1.6.4. -
[Android] Fixed an issue when
callbackwas called twice after authentication in Facebook.
Firebase module:
- [IOS] Updated
Firebasefrom9.6.0to10.10.0.
MyTracker module:
- [IOS] Updated
MyTrackerfrom3.0.7to3.0.8.
Notifications module:
- [Android] Added a new
MRGSExtraOptionsAndroid#ShouldClearNotificationsTrayproperty to control of removingpush-notificationsat 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-gamingservicesfrom11.2.0to16.0.1.
MRGService module:
-
Improved detection of geo-positioning by IP.
-
[Android] Fixed an internal issue of incorrect validation of passed params for
MRGSTracker#TrackAdRevenuemethod.
GDPR module:
- [Android] Fixed an issue for UI in
MRGSCOPPA.
Analytics module:
- Added sending test purchases to AppsFlyer. Such purchases will be sent with
revenue0. -
[Android] Supported sending
Amazonpurchases toAppsFlyer. -
[Android] Updated
com.appsflyer:af-android-sdkfrom6.10.2to6.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
revenue0.
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.revenuetodouble, if there was notrevenueinImpressionData.
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
nullfromMRGSFirebase#GetAppInstanceId()method for Android platform.
MyTracker module:
- Added a
MRGS_DISABLE_MYTRACKERdefine 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
nullfromMRGSFirebase#GetAppInstanceId()method for Android platform.
MyTracker module:
- Added a
MRGS_DISABLE_MYTRACKERdefine 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_IRONSOURCEdefine 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
MRGSIronSourcemodule 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 sendimpression-leveldata of advertising revenue to MRGS. -
[Android] Updated
com.huawei.hms:opendevicefrom6.7.0.300to6.9.0.300.
Analytics module:
-
Supported sending
impression-leveldata of advertising revenue to AppsFlyer. It can be enabled/disabled in MRGS console of project section. -
[Android] Updated
com.appsflyer:af-android-sdkfrom6.9.3to6.10.2.
Authentication module:
- Added a new
MRGSAuthenticationMyGames#IgnoreCachedSessionproperty to force ignoring of current authentication session in MyGames.
Firebase module:
- [Android] Updated
com.google.firebase:firebase-analyticsfrom21.2.0to21.2.2.
Notifications module:
- [Android] Updated
com.google.firebase:firebase-messagingfrom23.1.1to23.1.2. - [Android] Updated
com.huawei.hms:pushfrom6.7.0.300to6.9.0.300.
MyTracker module:
- [Android] Updated
com.my.tracker:mytracker-sdkfrom3.0.10to3.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#PrimaryNetworkandMRGSAuthenticationMyGames#ExcludedNetworksproperties 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
AppDelegateevents withswizzle- now you don't have to do it calling the same methods ofMRGService. To enable it, addMRGSShouldSwizzlekey withtruevalue intoInfo.plistyour 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()return0because of race condition.
Firebase module:
- Fixed
CRLF warningfor 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 libswon't be added to application if target below iOS 12.2. -
[Android] Fixed a crash when tried to get OpenUDID if JNI returned
nullvalue. - [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 SDKfrom6.9.1to6.10.0. -
Fixed duplication of subscription purchase events (both
af_purchaseandaf_subscribewere sent).
Authentication module:
- [IOS] Supported alternative
bundleIdfor authentication in MyGames - now can be set a trusted list ofbundleIdin 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
bundlewith resources (when VK module was used with XCode 14+ and Cocoapods below1.12.0). The script patches Pod file.
Firebase module:
-
Added a new
MRGSFirebase#GetAppInstanceId(Action<string>)method to getappInstanceIdfromFirebase SDK. -
[IOS] Updated
Firebase SDKfrom8.15.0to9.6.0.
MyTracker modules:
- [IOS] Updated
MyTracker SDKfrom3.0.6to3.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
MRGSTrackerProfileclass 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.AddPurchasemethod for sending payment data on iOS to UnityIAP
Bank module:
- Added sending
appsflyerIdfor 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_trialandaf_subscribeinAppsFlyer - 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.Urlis now available on Android, the value will be appended to the end ofMRGSShareOptions.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
ANRwhen trying to getUser 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 13support - 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
automaticPaymentTrackingflag 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
automaticPaymentTrackingflag totrueby default - [Android] MRGService SDK now requires a minimum version of Android 4.4 (API 19).
- Removed
deprecatedfunctionality. - [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:agcpfrom 1.6.0.300 to 1.7.3.300 - Updated
com.huawei.hms:ads-identifierfrom 3.4.39.302 to 3.4.58.301 - Updated
com.huawei.hms:opendevicefrom 5.1.1.307 to 6.7.0.300 - Updated
com.huawei.hms:pushfrom 6.1.0.300 to 6.7.0.300 - Updated
com.huawei.hms:iapfrom 6.1.0.300 to 6.4.0.301 - [Android] Fixed error getting micros for Huawei subscriptions.
- Fixed the
LoadedProductsproperty.
Notifications module:
- [Android] Added support for
Android 13- request permission to send notifications. - [Android] Updated
com.google.firebase:firebase-messagingfrom23.1.0to23.1.1. - [Android] Updated
com.google.firebase:firebase-messagingfrom23.0.6to23.1.0.
Support module:
- Added a new class
MRGSMyGamesSupportwith 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 asDeprecated
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
UseDeviceIdAsUserIdflag you can enable the old behavior for sending deviceId. Read more here - [IOS] Updated
Appsflyer SDKfrom6.8.0to6.9.1. - [Android] Updated
com.appsflyer:af-android-sdkfrom6.8.2to6.9.3. - The MRGSAppsFlyerParams config has been moved to the MRGSAnalytics module.
Firebase module:
- Added method
setUserProperties - [Android] Updated
com.google.firebase:firebase-analyticsfrom21.1.0to21.2.0.
Authentication module:
- [Android] Added authorization support for GooglePlayGamesV2.
- The
MRGSAuthenticationFacebookauthorization has been moved into its own moduleMRGSAuthenticationFacebookModule. - The
MRGSAuthenticationAmazonauthorization has been moved into its own moduleMRGSAuthenticationAmazonModule. - 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-authfrom20.3.0to20.4.0. - [Android] Updated
com.google.android.gms:play-services-gamesfrom22.0.1to23.1.0.
Module MyTracker:
- [Android] Updated
com.my.tracker:mytracker-sdkfrom3.0.9to3.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#Instancenow 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_levelfield 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:
- [Android] Reverted default behavior for changing subscription from DEFERRED to IMMEDIATE_WITH_TIME_PRORATION.
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
DictionarytoJsonin theTrackEventmethod.
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. TheMRGSMyTrackerParamsclass has moved into the MRGSMyTracker module. - Work with VK authorization moved to a separate module
MRGSAuthenticaitonVK. TheMRGSVKontakteParamsclass has moved to the MRGSAuthenticationVK module. - Changed all package names from
ru.mail.mrgs..togames.my.mrgs.. - removed references to
VK/MyTrackerfrom modules and moved them to the corresponding new modules
MRGService module:
- Changed MRGS initialization method for
MRGSMyTracker/MRGSAuthenticaitonVK/MRGSAuthenticaitonVKIdmodules - The
MRGSVKIdParamsclass has moved to the MRGSAuthenticationVKId module. - Property
MRGSMyGamesParams#VKPlayModeremoved. UseMRGSMyGamesParams#CustomHost.
Support module:
- Enum
MRGSMyGamesSupportCredential.SocialNetwork#Vkontakteremoved.
Authentication module:
- Enum
MRGSAuthenticationNetworkremoved, now uses string constants in corresponding classes - Enum
MRGSAuthenticationScoperemoved, 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.comto 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
appsflyerIdparameter 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:
- Added ability to automatically set UserID in AppsFlyer instead of deviceId. See AppsFlyer connection documentation for details.
- Added ability to delay AppsFlyer start until UserID is set. See AppsFlyer connection documentation for details.
- Added sending of cumulative session events (10/30/60/90/180 minutes) for new users. For details, see in the AppsFlyer connection documentation.
- Added enrichment of all requests in MRGS with the AppsFlyerID field.
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#ForceMyGamesBankOnlyproperty, useMRGServiceParams#BankSubstitutioninstead.
Authentication module:
-
Added a
MRGSMyGamesParams#UseDevEnvironmentproperty 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-sdkfrom3.0.8to3.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#InstallTimeto get the application installation time in unixTime format in seconds. Learn more. -
[Android] Added new property
MRGSExternalSDKParams.MRGSMyTrackerParams#TrackingLocationEnabledto 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-sdkfrom3.0.7to3.0.8.
Analytics module:
- [Android] Updated
com.appsflyer:af-android-sdkfrom6.8.0to6.8.2.
Authentication module:
- Added new property
IMRGSAuthenticationMyGames#ShouldHideBrandOccurrencesto hide all brand mentions MY.GAMES when logging in viaIMRGSAuthenticationMyGames. Learn more -
Added new property
MRGSExternalSDKParams.MRGSMyGamesParams#VKPlayModeto 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:billingfrom3.0.3to4.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.5to version1.0.10
Bank module:
- [Desktop] Fixed behavior of the
OnReceivePendingPurchasecallback in MyGames/Steam, now it is not called after viewing ads or closing any overlay by the user - [Desktop] Fixed
LoadedProductsandLoadedProductsIdsfields, 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:appcompatfrom1.4.2to1.3.1, because it requiredcompileSdkVersionnot lower than 31.
MRGService module:
- [Android] Fixed an issue when
MRGSDevice#getOpenUDID(Callback)returns invalidOpenUDIDas "0000-0000".
Authentication module:
- [Android] Downgraded
com.vk:android-sdk-corefrom3.5.2to3.4.1, because it requiredcompileSdkVersionnot lower than 31. - [Android] Downgraded
androidx.browser:browserfrom1.4.0to1.3.0, because it is not compatible withandroid gradle plugin/gradle 4.0/6.1.1and 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:appcompatfrom1.2.0to1.4.2.
MRGService module:
- Corrected code to support C# 4.0.
- [Android] Updated
com.my.tracker:mytracker-sdkfrom3.0.4to3.0.7
Bank module:
- Added support for remote
Market|MyGamesshowcase title change. - Fixed build errors in
MyGamesBankon iOS
Notifications module:
- [Android] Updated
com.google.firebase:firebase-messagingfrom22.0.0to23.0.6.
Analytics module:
- [Android] Updated
com.appsflyer:af-android-sdkfrom6.5.2to6.8.0 - [IOS] Updated AppsFlyer SDK to version
6.8.0
Firebase module:
- [Android] Updated
com.google.firebase:firebase-analyticsfrom19.0.2to21.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-corefrom3.3.0to3.5.2 - [Android] Updated
com.google.android.gms:play-services-authfrom19.2.0to20.2.0. - [Android] Updated
com.google.android.gms:play-services-gamesfrom21.0.0to22.0.1. - [Android] Updated
androidx.browser:browserfrom1.3.0to1.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 -
getInstancemethod moved to propertyInstance.
MRGService module:
- Added new
Initializemethod for initializationMRGService. 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 DeviceIdfor Windows, there should be no more collisions. -
Class
MRGSFlurryParamsremoved. - Class
MRGSChartboostParamsremoved. -
Class
MRGSGoogleConversionTrackingParamsremoved. -
Interface
MRGSServerDataDelegaterenamed toIMRGSServerDataDelegate. -
Property
MRGSExtraOptionsiOS#MRGSNotificationCenterSupportedremoved. - Property
MRGSExtraOptionsiOS#DefferedMRGSNotificationCenterStartrenamed toMRGSExtraOptionsiOS#DeferredMRGSNotificationCenterStart. - Property
MRGSExternalSDKParams#FlurryParamsremoved. - Property
MRGSExternalSDKParams#ChartboostParamsremoved. -
Property
MRGSExternalSDKParams#GoogleConversionTrackingParamsremoved. -
Method
MRGSLog#addPaymentLog(string)removed.
Advertising module:
- Interface
MRGSAdvertising.MRGSAdvertisingLoadDelegaterenamed toMRGSAdvertising.ILoadDelegate. - Method of
ILoadDelegate#onAdvertisingLoadedinterface renamed toILoadDelegate#OnAdvertisingLoaded. -
Method of
ILoadDelegate#onAdvertisingLoadingErrorinterface renamed toILoadDelegate#OnAdvertisingLoadingError. -
Interface
MRGSAdvertising.MRGSAdvertisingShowDelegaterenamed toMRGSAdvertising.IShowDelegate. - Method of
IShowDelegate#onAdvertisingFinished(bool)interface renamed toIShowDelegate#OnAdvertisingFinished(bool).
Analytics module:
- Interface
MRGSAppsFlyerDelegaterenamed toIMRGSAppsFlyerDelegate. - Method of
IMRGSAppsFlyerDelegate#onConversionDataSuccessinterface renamed toIMRGSAppsFlyerDelegate#OnConversionDataSuccess. - Method of
IMRGSAppsFlyerDelegate#onAppOpenAttributioninterface renamed toIMRGSAppsFlyerDelegate#OnAppOpenAttribution.
Authentication module:
-
Added error codes and domains:
MRGSAuthenticationErrorCodeandMRGSAuthenticationErrorDomainand are brought to a uniform correspondence between Android/iOS/Unity. -
Methods
.Instance/getInstance()ofMRGSAuthenticationAmazonreturns anIMRGSAuthenticationAmazoninterface. - Methods
.Instance/getInstance()ofRGSAuthenticationAppleGameCenterreturns anIMRGSAuthenticationAppleGameCenterinterface. - Methods
.Instance/getInstance()ofMRGSAuthenticationFacebookreturns anIMRGSAuthenticationFacebookinterface. - Methods
.Instance/getInstance()ofMRGSAuthenticationGoogleGamesreturns anIMRGSAuthenticationGoogleGamesinterface. - Methods
.Instance/getInstance()ofMRGSAuthenticationMyGamesreturns anIMRGSAuthenticationMyGamesinterface. - Methods
.Instance/getInstance()ofMRGSAuthenticationPlariumreturns anIMRGSAuthenticationPlariuminterface. - Methods
.Instance/getInstance()ofMRGSAuthenticationSignInWithApplereturns anIMRGSAuthenticationSignInWithAppleinterface. -
Methods
.Instance/getInstance()ofMRGSAuthenticationVKontaktereturns anIMRGSAuthenticationVKontakteinterface. -
Method of
IMRGSAuthenticationDelegate#onAuthenticationProviderDidLogoutUserinterface renamed toIMRGSAuthenticationDelegate#OnAuthenticationProviderDidLogoutUser. -
Enum
MRGSAuthenticationScope.SIWAFullNamerenamed toMRGSAuthenticationScope.SignInWithAppleFullName. -
Enum
MRGSAuthenticationScope.SIWAEmailrenamed toMRGSAuthenticationScope.SignInWithAppleEmail. -
Enum
MRGSAuthenticationAchievementStateremoved. UseMRGSAuthenticationAchievement.Stateinstead.
Bank module:
- Class
MRGSBankProductsResponcerenamed toMRGSBankProductsResponse. - Interface
MRGSBankDelegateExmarked as Obsolete. UseIMRGSBankDelegateinstead. -
Property
MRGSBank#DelegateExtendedmarked as Obsolete. UseMRGSBank#Delegateinstead. -
Enum
MRGSSubscriptionPeriod.MRGSSubscriptionPeriodUnitrenamed toMRGSSubscriptionPeriod.PeriodUnit. - Enum
PeriodUnit.kMRGSSubscriptionPeriodUnitDayrenamed toPeriodUnit.Day. - Enum
PeriodUnit.kMRGSSubscriptionPeriodUnitWeekrenamed toPeriodUnit.Week. - Enum
PeriodUnit.kMRGSSubscriptionPeriodUnitMonthrenamed toPeriodUnit.Month. -
Enum
PeriodUnit.kMRGSSubscriptionPeriodUnitYearrenamed toPeriodUnit.Year. -
Enum
MRGSBankProductDiscount.MRGSDiscountPaymentModerenamed toMRGSBankProductDiscount.DiscountPaymentMode. - Enum
DiscountPaymentMode.kMRGSBankProductDiscountPaymentModeFreeTrialrenamed toDiscountPaymentMode.FreeTrial. - Enum
DiscountPaymentMode.kMRGSBankProductDiscountPaymentModePayAsYouGorenamed toDiscountPaymentMode.PayAsYouGo. -
Enum
DiscountPaymentMode.kMRGSBankProductDiscountPaymentModePayUpFrontrenamed toDiscountPaymentMode.PayUpFront. -
Enum
MRGSBankProductDiscount.MRGSDiscountTyperenamed toMRGSBankProductDiscount.DiscountType. - Enum
MRGSDiscountType.kMRGSDiscountTypeSubscriptionrenamed toMRGSDiscountType.Subscription. - Enum
MRGSDiscountType.kMRGSDiscountTypeIntroductoryrenamed toMRGSDiscountType.Introductory.
GameCenter module:
- Interface
MRGSGameCenterClientDelegateremoved. UseIMRGSGameCenterClientDelegateinstead.
GDPR module:
- Interface
MRGSCOPPA.IMRGSCOPPADelegaterenamed toMRGSCOPPA.IShowDelegate. - Interface
MRGSCOPPA.IMRGSGDPRDelegaterenamed toMRGSCOPPA.IShowDelegate. - Enum
MRGSCCPAUserPreference.MRGSCCPAUserPreferenceSharerenamed toMRGSCCPAUserPreference.Share. - Enum
MRGSCCPAUserPreference.MRGSCCPAUserPreferenceNotSharingrenamed toMRGSCCPAUserPreference.NotSharing.
Showcase module:
- Method of
IMRGSShowcaseDelegate#didReceiveNewShowcaseContent(int)interface renamed toIMRGSShowcaseDelegate#OnReceiveNewShowcaseContent(int).
Notifications module:
-
[iOS] Fixed crash with cyclic call when using native delegate by third-party SDKs.
-
Enum
LockScreenVisibility.VISIBILITY_PUBLICrenamed toLockScreenVisibility.Public. - Enum
LockScreenVisibility.VISIBILITY_PRIVATErenamed toLockScreenVisibility.Private. - Enum
LockScreenVisibility.VISIBILITY_SECRETrenamed toLockScreenVisibility.Secret. -
Enum
LockScreenVisibility.VISIBILITY_NO_OVERRIDErenamed toLockScreenVisibility.NoOverride. -
Enum
MRGSNotificationTriggerTyperemoved. UseMRGSNotificationTrigger.Typeinstead. - Enum
Type.kMRGSTimeIntervalTriggerrenamed toType.TimeInterval. - Enum
Type.kMRGSDateComponentsTriggerrenamed toType.DateComponents. - Enum
Type.kMRGSLocationTriggerrenamed toType.Location. - Enum
Type.kMRGSRemoteTriggerrenamed toType.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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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:
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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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 to0when 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 unmarshallingforVkauthentication.
Bank module:
- Added sending of
version numberandbuildto 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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_STORAGEfrom 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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.5to3.0.6. Learn more. - [IOS] Added partial hiding of all secrets and keys in Integration Check logs
- [Android] Updated MyTracker SDK from
3.0.2to3.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.2to6.5.2. Learn more. -
[Android] Updated AppsFlyer SDK from
6.5.0to6.5.2. Learn more. -
Added additional sending of payment data such as:
af_content_id(sku of a product) andaf_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,hasPendingPaymentetc.) - 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.1to1.2.0because 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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.1to3.0.2. Learn more. -
[Android] Updated Appset Id SDK from
16.0.0to16.0.1. -
[Desktop] Fixed a possible crash when deleting a file
Analytics module:
- [Android] Updated AppFlyer SDK from
6.3.2to6.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,hasPendingPaymentetc.) - 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
callbackmethods could returndeveloperPayloadwith 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#showCOPPAFlowIfNeededif there is no internet. - Fixed bug with incorrect processing of
MRGSCOPPAShowResult.Reason.OutsideTheScopeOfCOPPAfrom Android, due to whichMRGSCOPPAShowResult.Reason.Unknownwas returned.
Support module:
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,hasPendingPaymentetc.) - 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.2to3.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.5to6.4.2.
Bank module:
- [Android] Fixed a bug with json parsing when
JSONObject.optstringcould 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
openingandacceptingGDPR 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#Secretmethod, 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,hasPendingPaymentetc.) - 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:
- Fixed a bug that caused dependencies on Android 4.10.0 to get into the build instead of Android 4.11.0.
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,hasPendingPaymentetc.) - 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.0to3.0.1. - [Android] Updated
com.google.gms:google-servicesfrom4.3.5to4.3.10. - [Android] Updated
com.huawei.agconnect:agcpfrom1.4.1.300to1.6.0.300. - [Android] Updated
com.huawei.hms:ads-identifierfrom3.4.34.301to3.4.39.302. - [Android] Updated
com.huawei.hms:opendevicefrom5.0.4.300to5.1.1.307. - [Android] Fixed a rare error that caused
mrgsmetrics#addpurchaseto 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#Domainfrom a native object, which is whyMRGSError#Domainalways 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:appcompatfrom1.2.0to1.3.1. - [Android] Updated
androidx.recyclerview:recyclerviewfrom1.0.0to1.2.1.
Analytics module:
- [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.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.0to11.0. - [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.3.1. - [Android] Updated
androidx.browser:browserfrom1.0.0to1.3.0. - [Android] Updated
com.google.android.gms:play-services-authfrom18.0.0to21.0.0. - [Android] Updated
com.google.android.gms:play-services-gamesfrom19.0.0to19.2.0. - [Android] Updated
com.vk:androidsdk:2.7.0fromcom.vk:android-sdk-core:3.3.0. Attention!!! Now VK authorization is requiredminSdkVersion="21"(Android 5.0+) to work. - [Android] Fixed
NullPointerExceptioninCustomTabMainActivitywhen 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:appcompatfrom1.2.0to1.3.1. - [Android] Updated
com.huawei.hms:iapfrom5.1.0.300to6.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:appcompatfrom1.2.0to1.3.1. - [Android] Updated
com.google.firebase:firebase-analyticsfrom18.0.2to19.0.2.
GameCenter module:
- [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.3.1. - [Android] Updated
androidx.recyclerview:recyclerviewfrom1.0.0to1.2.1.
GDPR module:
- [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.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#setCustomViewImagewill search for the image not only in drawable but also in mipmap if the image was not in drawable. - [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.3.1. - [Android] Updated
com.google.firebase:firebase-messagingfrom21.0.1to22.0.0. - [Android] Updated
com.huawei.hms:pushfrom5.0.4.302to6.1.0.300.
Recommendations module:
- [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.3.1.
Showcase module:
- [IOS] Fixed AppClips, improved scrolling animation
- [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.3.1. - [Android] Updated
androidx.recyclerview:recyclerviewfrom1.0.0to1.2.1. - [Android] Fixed potential memory leaks.
Support module:
- Added support for VK authorization when opening the support widget.
- [Android] Updated
androidx.appcompat:appcompatfrom1.2.0to1.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,hasPendingPaymentetc.) - 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 idwas 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.NullPointerExceptionin COPPA.
Bank module:
- [Android] Fixed error
INVALID_PARAMETER, errorMessage: This operation duplicates an unresolved requestwhen multiple calls to theisBillingAvailablemethod 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,hasPendingPaymentetc.) - 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.0to11.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
OptionalParamswill be restored correctly and will not be equal tonull - [IOS] Fixed work of MyGames authorization - now if
userIdis 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,hasPendingPaymentetc.) - 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
debugflag 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 onSaveInstanceStatewhen 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 notificationsortrying 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,hasPendingPaymentetc.) - 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
MyTrackerParamswhen initialized from code - now it defaults totrue
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,hasPendingPaymentetc.) - 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
googlebilling will be used instead ofempty string, according to the documentation. - [Desktop] Fixed an error with the non-sending of
applicationExiton 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:
- Added support for Facebook Login For Gaming.
- [Android] Added support for authorization in Facebook Cloud. For more details see documentation.
- [IOS] Updated FB graph api to version 11.0.
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,hasPendingPaymentetc.) - 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#AddMetricclass.
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,hasPendingPaymentetc.) - 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.MRGSMapin 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,hasPendingPaymentetc.) - 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
idfaconsisting of only zeros for theHuaweistore. Now, for more accurate statistics, you need to addedcom.huawei.hms:open device:<version>library. - [Android] Fixed version accuracy of MyTracker SDK from
<version>to[<version>]in the config file, sincePlayServiceResolvercould 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!!!
- Fixed login error for target 30+ (Android 11+) due to missing entry
-
MyGames
- [Android] Fixed authorization issue if the user has two-factor authentication enabled.
Billing module:
- Samsung
- Fixed error setting
developer Payloadwhen calling the function-transaction recovery.
- Fixed error setting
Firebase module:
- [Android] Fixed NullPointerException if the module was added but the
Firebase SDKwasn't, then in some cases the module could throw an error.
GDPR module:
- [Android] Changed behavior for the time of sending the
GDPR acceptanceevent, 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 versionseparately for each application. Now for each application, you can specify theGDPR versionin 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_paramsfield was passed to thelocalefield and was not processed on the server.
Notifications module:
- [iOS] Fixed bug with
developerPayloadin notifications received from the server, now it is not in theparamsfield, but in the root of the dictionary (data for compatibility is also left in theparamsfield).
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_timewas sent from the server greater than 0. - [Android] Changed a behavior of sending the number of
banner clickevents for one display of the showcase. Previously, it was possible to send no more than oneclick eventfor 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,hasPendingPaymentetc.) - 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.ProductIdentifieralways returned null. - [Android] Fixed a bug when
MRGSBank.LoadedProductsalways returned null. - [Android] Fixed a bug when
MRGSBank.LoadedProductsIdentifiersalways returned null.
GDPR module:
- Fixed a issue in the localization text for the
Japaneselanguage. - Fixed a bug with text transfer for the
Koreanlanguage inWebView. - Added animation of "clicking" on the
GDPRacceptance button in theWebView. - Changed behavior of displaying
GDPRinWebView. NowGDPRis shown by default without Ad permission. - Fixed a bug that allows the server to downgrade the
GRDPversion 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
closingevent if you return to the application by clicking the icon, and themanifestdoes not have a standardlaunchModeset for this event. - [Android] Fixed a bug with requesting the
widget version. Now thewidget versionis 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
closingevent if you return to the application by clicking the icon, and themanifestfor this event is not set to the standardlaunchMode. 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,hasPendingPaymentetc.) - 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
continueUserActivitywas 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
threadswhen returning the result from theAndroid.mainthread to theUnity.mainthread. -
Facebook
- [Android] Fixed bug when trying to invite friends.
Billing module:
-
Amazon
- Updated
In-app purchases SDKfrom2.0.61to2.0.76. - Added supporting for the new MRGSBilling API, which was previously added for Google, Huawei, and Samsung but was not added for Amazon.
- Updated
-
[iOS] Now, in case of payment errors,
developerPayloadwill 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,hasPendingPaymentetc.) - 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.plistfile 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.ObfuscatedAccountIdproperty for supporting of Karaganda Fraud Prevention API. Learn more. - Added a new
MRGSBankPurchaseRequest.Android.ObfuscatedProfileIdproperty 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.
- Added a new
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 theGoogle Play Store, then the transition to theGoogle Play Storewill 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
isNotificationsEnabledWithCompletionmethod - 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,hasPendingPaymentetc.) - 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 setDISABLESTEAMWORKSto 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
codeinstead ofxml 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 withoutMRGSAuthenticationNetwork.
- [Android] Fixed an issue where
Billing module:
- Google
- [Android] Updated Google Billing SDK from
2.0.3to3.0.3.
- [Android] Updated Google Billing SDK from
MyGamesSupport module:
- Added new
MRGSMyComSupport.getInstance().CustomUserIDproperty, in case you need to open a support with a differentuserIdthanMRGSUsers.getInstance().setUserId(string).
Notifications module:
- [Android] Fixed a bug that did not display a
notification iconthat was set at the time of initialization of the MRGS SDK, if it was put through thecodeinstead of thexml config.
Analytics module:
- [iOS] Fixed the work of the
dontForwardReportedPaymentsflag - 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
MRGSMyTrackerclass could exist instead of one.
Analytics module:
- [iOS] Fixed AppsFlyer bug when working with the
waitForATTUserAuthorizationflag - 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
AppsFlyerSDK from6.2.4to6.2.5.
Billing module:
- [Android] Removed
<uses-permission android:name="com.farsitel.bazaar.permission.PAY_THROUGH_BAZAAR" />from manifest, since the billing ofbazaaris not supported for a long time. - [Android] Fixed error of incorrect converting of
skuin json ifskucontained 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
WaitForATTUserAuthorizationflag 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
IllegalStateExceptionwhen trying to displayFragmentafteronSaveInstanceState. - [Android] Fixed error
NullPointerExceptionwhen trying to open a support whileMyGamesSupportmodule 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 SDKfrom2.1.0to2.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:
Advertising module:
- [Android] Fixed incorrect behavior. If an error occurred while loading the content,
MRGSAdvertisingLoadDelegate.onAdvertisingLoadingErrorwas 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 theMRGSsection of the Crashes.
-
Added a new define
MRGS_FORCE_UNITY_IAPto force enable the availability of payment tracking methods from Unity IAP.
MyGamesSupport module:
- [Android] Fixed the
NetworkOnMainThreadExceptionerror when trying to request the number of unread messages from the old widget. Because of this error, it always returnedfalseforMRGSMyComSupport.checkTickets()and0forMRGSMyComSupport.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
showTrackingAuthorizationDialogOnAlliOSVersionsto 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
NoSuchElementExceptioninMRGSUsers.setUserId()when calling theMRGSUsers.setUserId()andMRGSUsers.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
applicationVersionfield - 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
InvalidProductsIdsfield 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
IllegalStateExceptionwhen trying to view ads. - [Android] Fixed a rare error
MissingWebViewPackageExceptionwhen trying to view ads.
Analytics module:
- Added ability to disable tracking of payments added from
MRGSMetricsto AppsFlyer - flagdontForwardReportedPayments. See documentation for details. - Added ability to forward sending events from
MRGSMetrics(sent viaMRGSMetrics.addMetric()), toAppsFlyer- flagforwardMetrics. See documentation for details. - [Android] Updated
AppsFlyer SDKfrom6.1.1to6.2.3. - [iOS] Updated
AppsFlyer SDKfrom6.1.4to6.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
NullPointerExceptionwhen the user canceled the payment.
- Fixed error
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
WidgetThemefield. The available themes are light/dark/dark orange/device-theme. - Added ability to set the localization language of the new widget using the
LocalizationLangugefield. - 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
Appsflyerversion 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
SetUserIDmethod)
Advertising module:
- Added additional logs to identify potential problems.
Authentication module:
-
Fixed
SupportsTextureFormatNativeingetAvatarForPlayerWithIdmethod when trying to create aTexture2Dnot in the Unity main thread, which causes the method to returnnullinstead 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
NullPointerExceptionwhen calling thecheckTicketsmethod 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.ConcurrentModificationExceptionwhen 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.plistinsideVKSdkResources.bundle, due to which there could be errors when exportingipafrom archivexcarchive.
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
NullPointerExceptionerror 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
MyTrackerSDK from2.1.2to2.2.1. - [Desktop] Fixed bug with empty
sessionIDwhen 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
VKSDK from1.4.6to1.6.1. -
[iOS] Updated
AmazonSDK to3.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
CustomerUserIDproperty 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
AppsFlyerSDK from5.4.1to6.1.1. - [iOS] Updated
AppsFlyerSDK from6.0.7to6.1.4.
Billing module:
- [iOS] Fixed bug with loss of
developerPayloadwhen 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
DESABLESTEAMWORKSdefine. -
[Desktop] Fixed bug with empty
Currencyfield in the purchase result. -
Google
- Fixed crash of
ConcurrentModificationExceptionwhen restoring transactions. - Fixed crash of
JNI table overflow, when trying to transfer a large list of products from Unity to Android.
- Fixed crash of
-
Samsung
- Deprecated
MRGSSamsungBillingParams.GroupID.
- Deprecated
-
Huawei
- Fixed crash of
ConcurrentModificationExceptionwhen 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.
- Fixed crash of
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
FirebaseAnalyticsSDK from17.2.1to18.0.1. - [iOS] Updated
FirebaseAnalyticsSDK from6.9.0to7.4.0. Important - now the Firebase module will only work with XCode 12+.
GDPR module:
- Important GDPR fix for projects that set the
onlyEU = trueflag. 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 GDPRmetric when using the custom GDPR window.
Notifications module:
- Added property
ApplicationIconBadgeNumberto work with number on application icon (iOS only). - [Android] Updated
Firebase MessagingSDK from20.0.0to21.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
MRGSAuthenticationAccessTokenmarked asObsolete
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
scopedRegistryor 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 / MRGSmenu 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
nullfromActivityLifecycleCallbackswas passed instead ofActivity. - [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: LoginResultReceiverwhen trying to log in.
- [Android] Fixed rare crash
-
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 toMRGSBankDelegateEx.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.
- Fixed an incorrect behavior where all errors when requesting products were passed to
-
Huawei
- Added support for Huawei In-App Purchases. See Environment settings and Adding Huawei payments.
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 thetoastMessageparameter 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
NoSuchElementExceptionerror when canceling a purchase if the developerPayload was not passed.
- Fixed the
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
ActivityNotFoundExceptioncrash when trying to click on an ad if the device doesn't have a browser.
GDPR module:
- [Android] Fixed the
NoSuchMethodErrorerror when calling thegetSupportedLocalizations()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.SocialIdalways 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
CurrentTrackingAuthorizationStatusmethod 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
ProductIdentifierfield to theMRGSBankPurchaseResultobject of the new bank delegate. This field contains the identifier of the purchasing/purchased product, and will always be non-empty, unlike theProductfield, which can be null if the product, for example, has not been downloaded. -
Google
- [Android] Fixed bug with returning empty
productId/skuif 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.
- [Android] Fixed bug with returning empty
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()andonStop()methods are marked as deprecated and are no longer used. - [Android] Fixed an error when calling auxiliary functions related to the absence of
ContextbeforeMRGServiceinitialization was called. - [Android] Removed our custom
launcherTemplate.gradlefrom 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
MRGSBillingDelegateExwhen the user canceled a payment.
- Fixed an issue with calling
Module MRGSFirebaseModule
- [Android] Fixed an error when trying to cast
paymentAmountto double when it is actually an integer.
Module GDPR/CCPA:
- [Android] Added some logs for CCPA.
- [Android] Updated dependency
android.appcompat:appcompatfrom 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
getAppsFlyerIDmethod 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.frameworkto a project without theoptionalflag, 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
getAgreementVersionmethod 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.
- Removed
-
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
lookupConstantmethod and theISMintegralAdaptermethod 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.Visibilityproperty 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
VALUEfield 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
showFeedbackmethod 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
MRGSBillingDelegateandMRGSBillingDelegateExat the start of billing initialization.
- Fixed problem with
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
MRGSBankProductsRequesthas appeared in which using theaddmethods you can add a product or an array of products of a certain type (product types have now become an enumMRGSBankProductType). This request is then passed to the newrequestProductsInfomethod. - There is a new class
MRGSBankPurchaseRequestthat 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 classMRGSBankPurchaseRequest. - We changed the naming of the methods for
AppStore Promotion, just adding the lineAppStorePromotionPaymentto them, for better clarity of the purpose of the methods. - Removed the
autoNotifyMRGSAboutConsumeparameter, 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 -
onReceiveProductsResponceandonReceiveProductsError, which receive an object of the new classMRGSBankProductsResponce, containing information about valid products of typeMRGSBankProduct, 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 theMRGSBankPurchaseResultclass, describing the result of the purchase, namely, the transaction (MRGSBankTransaction), product (MRGSBankTransaction), payload and an error with a code and description, if any.MRGSBankTransactiondescribes 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
DeveloperPayloadto 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
notifyMRGSAboutConsumemethod 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
iosPodssection from theMRGServiceDependenciesfile, 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
PostBuildProcesshas 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
MRGSAuthenticationGameCenterincredentials.accessToken.optionalParamsnow 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 inAssets/Plugins/iOSwill 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
defferedMRGSNotificationCenterStartfor 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 theenableMRGSNotificationsmethod, and after that on all subsequent launches we ourselves will start our notification service. (Previously, you had to call themanuallyStartCentermethod 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
checkIntegrationmethod 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
proceedPendingPaymentmethod for iOS (start purchasing the product from the AppStore page) - The
checkIntegrationmethod 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:
- 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: falsein json params to disable the vibration signal
Example:
- 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
setLacalizationLanguagemethod and pass the language designation in the ISO-639-1 format. You can get a list of available languages ​​by calling thegetSupportedLocalizationsmethod. 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
MRGSAppsFlyerDelegatedelegate. Read the documentation for more details. - Removed sending the
purchaseevent 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,setForcingPeriodandflush.
General improvements and fixes:
- MRGS now always uses the HTTPS protocol for data transfer. You can disable the
android:usesCleartextTrafficflag in AndroidManifest.xml andNSAllowArbiraryLoadsin 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.gamesis 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
AutomaticPaymentTrackingflag 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.
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
SelectedDiscountfield in the returned object, so that you can learn that the payment was made with a discount (iOS). -
Fixed a bug with the mission
TransactionIDin 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 theversionparameter could cause a conflict with theagreementVersionproperty. Added theshowAgreementFromFile(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.
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 oforg.apache.httpcomponentsand 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 delegateIMRGSNotificationDelegate.
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.
- Updated MyTracker Android to version 1.5.2. Update your mainTemplate.gradle.
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.
Created: 2020-03-02