Skip to content

What's New in iOS Library Version🔗

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

In this version:

MRGService module:

  • Improved SDK performance in Vietnam.

Advertising module:

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

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


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

In this version:

MRGService module:

  • Fixed logger, now console messages will not be truncated to 1024 characters

Bank module:

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

Recommendations module:

  • Added new event type for Recsys - geo pricing.

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


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

In this version:

Advertising module:

  • Fixed an error displaying ads if a URL with parameters was received from the server

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


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

In this version:

MRGService module:

  • Minimum XCode version required for building has been increased to 15.2
  • Added collection of information about the XCode version used to build the application

Analytics module:

  • Updated AppsflyerSDK from 6.15.1 to 6.15.3.

Bank module:

  • Fixed MRGSBankProduct.init crash (could occur when trying to buy a product with payment ban enabled)

Didomi module:

  • Updated Didomi SDK from 2.11.1 to 2.13.0.

Firebase module:

  • Updated Firebase SDK from 10.29.0 to 11.2.0.

Ironsource-Adapter module:

  • Fixed Ironsource dependency version in pod file to support Ironsource 8+ versions

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


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

In this version:

MRGService module:

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

Analytics module:

  • Added a new waitForTCF field to mrgs_dma_start event.

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


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

In this version:

MRGService module:

  • Improved work with OpenUDID - disabled generation before start of sdk, added saving in Keychain to get the value when reinstalling
  • Added a new key MRGSTrackerMediationNetwork.ToponPte for custom logs.

Analytics module:

  • Updated AppsFlyer SDK from 6.14.3 to 6.15.1.

Advertising module:

  • Fixed crash when displaying ads from Ironsource 8.x

Didomi module:

  • Updated Didomi SDK from 2.8.0 to 2.11.1.

Firebase Module:

  • Updated Firebase SDK from 10.27.0 to 10.29.0.

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


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

In this version:

Module MRGService:

  • Added internal support for switching hosts in case some countries block access to MRGS resources.

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


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

In this version:

Authentication module:

  • Added asynchronous isLoggedIn method for more accurate state checking.

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


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

In this version:

Module Bank:

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

Module Didomi:

  • Updated Didomi SDK from 2.5.0 to 2.8.0.

Firebase module:

  • Updated Firebase SDK from 10.24.0 to 10.27.0.

GDPR module:

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

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


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

In this version:

Module MRGService:

  • Fixed crash Collection was mutated while being enumerated. in MRGSModulesManager

Authentication (Facebook) module:

  • Graph Api version used raised to 19

Module Bank:

  • Added new fields isSandbox (whether the payment was made in the test environment) and usd (payment amount in dollars)
  • Added experimental support for StoreKit 2

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)🔗

In this version:

Authentication module:

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

Analytics module:

  • Updated AppsFlyer AdRevenue SDK from 6.9.1 to 6.14.3.

Is-adapter module:

  • 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)🔗

In this version:

Analytics module:

  • Updated AppsFlyer SDK from 6.13.1 to 6.14.3.

Didomi module:

  • Updated Didomi SDK from 2.2.0 to 2.5.0.

Firebase module:

  • Updated Firebase SDK from 10.23.0 to 10.24.0.

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


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

In this version:

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

Module MRGService:

  • Added sending firebaseInstanceId to MRGS events

Module Didomi:

  • Updated Didomi SDK from 1.98.0 to 2.2.0.
  • Fixed work with DMA if the user is not subject to TCF

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


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

In this version:

MRGService module:

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

Didomi module:

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

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

Firebase module:

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

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


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

In this version:

Analytics module:

  • 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

Module Didomi:

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

Firebase module:

  • Updated Firebase SDK from 10.22.0 to 10.23.0.

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


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

In this version:

Analytics module:

  • Fixed error when building use of '@import' when C++ modules are disabled

Firebase module:

  • Updated Firebase SDK from 10.21.0 to 10.22.0.

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


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

In this version:

Advertising module:

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

Showcase module:

  • 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)🔗

In this version:

  • Supported DMA for AppsFlyer and Firebase.

MRGService module:

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

Advertising module:

  • Fixed cache resetting if IronSource adapter was used.

Analytics module:

  • Updated AppsFlyer SDK from 6.12.3 to 6.13.1.

Firebase module:

  • Updated Firebase SDK from 10.13.0 to 10.21.0.

Didomi module:

  • Added a new MRGSDidomi#reset() method.

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)🔗

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.

Authentication module:

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

Analytics module:

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

Didomi module:

  • Added a new MRGSDidomi#shouldUserStatusBeCollected property.

  • Update Didomi SDK from 1.95.1 to 1.98.0.

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


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

In this version:

Advertising module:

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

GDPR module:

  • Fixed korean localization.

IronSource-Adapter module:

  • Improved ads downloading for AdTech.

  • 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)🔗

In this version:

GDPR module:

  • Supported korean PIPA law.

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


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

In this version:

Advertising module:

  • Improved campaigns caching for AdTech.

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


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

In this version:

MRGService module:

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

  • Fixed possible memory leaks.

Advertising module:

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

Didomi module:

  • Added new MRGSDidomi module to support TCF.

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:

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

Showcase module:

  • Changed title font from gotham to open-sans.

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


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

In this version:

GDPR module:

  • Fixed an issue when updated agreement was shown instead of changed publisher if user had accepted agreement version 1591736400.

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


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

In this version:

MRGService module:

  • Fixed a passible crash in -[MRGSServerMessage addRequiredFieldsToRequest]

GDPR module:

  • Added support for displaying GDPR for cases of publisher change.
  • Improved detection of whether an agreement should be shown - now it occurs before the application is restarted.
  • Added support for reading files from StreamingAssets (now it is enough to pass only its name to methods).
  • Improved localization - the agreement localization will now be automatically selected based on the user's current language

  • Added new method MRGSGDPR#setup(appId: Int, secret appSecret: String) to initialize MRGSGDPR and MRGSCOPPPA.

  • Added new method MRGSGDPR#showAgreement(at:params:completionHandler:) for showing GDPR window.
  • Added new method MRGSGDPR#shouldShowAgreement() to test whether to show GDPR windows to the user.
  • Added a new method MRGSGDPR#onAgreementAccepted() to notify MRGS that the user has accepted the agreement in a non-MRGS GDPR window. (For cases of displaying your own windows).
  • Added new temporary method MRGSGDPR#setPublisherUpdateHTMLFilePath() for setting the path to your own html file for cases of publisher change.
  • Added new property MRGSGDPR#showDelegate for setting a listener for show MRGS GDPR window events.
  • Added new property MRGSGDPR#acceptedAgreement to retrieve information on the last accepted agreement by the user.
  • Added new property MRGSGDPR#supportedLocalizations to get a list of available localizations from the SDK file mrgsgdpr_langs.json.

  • Added new class MRGSGDPRAgreement containing information on the current version of GDPR in the MRGS console.

  • Added new class MRGSGDPRAcceptedAgreement containing information on the accepted agreement by the user.
  • Added a new class MRGSGDPRLocalization containing a different set of properties for localizing html pages in the MRGSGDPR SDK.
  • Added new class MRGSGDPRShowParams containing a different set of properties for changing the behavior of showing the MRGS GDPR window.
  • Added new enum MRGSGDPRShowReason defining the reasons for showing the MRGS GDPR window.
  • Added new class MRGSGDPRShowResult containing the result of showing the MRGS GDPR window.

  • Method MRGSGDPR#withAdvertising is marked deprecated.

  • Method MRGSGDPR#enableAutomaticCOPPAFlow() is marked deprecated.
  • Method MRGSGDPR#setLocalizationLanguage(tring) is marked deprecated.
  • The MRGSGDPR#getAgreementTime() method is marked deprecated. Use MRGSGDPR#acceptedAgreement.
  • The MRGSGDPR#getAgreedVersion() method is marked deprecated. Use MRGSGDPR#acceptedAgreement.
  • The MRGSGDPR#getSupportedLocalizations() method is marked deprecated.
  • The MRGSGDPR#showDefaultAgreement() method is marked deprecated.
  • Method MRGSGDPR#showAgreementFromFile() is marked deprecated.
  • Method MRGSGDPR#checkIfUserGetsUnderGDPR() is marked as deprecated.
  • Method MRGSGDPR#shouldShowGDPR() is marked deprecated.
  • Method MRGSGDPR#setUserHasAcceptedAgreement() is marked as deprecated.
  • The MRGSGDPRDelegate interface is marked as deprecated.

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


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

In this version:

MRGService module:

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

Analytics module:

  • Added quantity field to purchases events for AppsFlyer.

Advertising module:

  • Supported extra click events for AdTech

  • Fixed an issue with double calling of tracking links in AdTech.

Firebase module:

  • Added quantity to purchases events for Firebase.

IronSource-Adapter module:

  • Supported sending extra data to server.

IronSource module:

  • Supported check integration for MRGSIronSource.

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


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

In this version:

GDPR module:

  • Supported CCPA for new libraries: Tappx and Ogury.

  • Fixed number of requests to GeoIP.

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


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

In this version:

MRGService module:

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

Authentication module:

  • Fixed work with login method in MyGames authentication. Now the method will show authentication popup even if user was logged in before.

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


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

In this version:

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

GDPR module:

  • Fixed an issue a white background in WebView.

Analytics module:

  • Updated AppsFlyer SDK from 6.12.0 to 6.12.1.

Firebase module:

  • Updated Firebase SDK from 10.12.0 to 10.13.0.

Authentication module:

  • Updated VKId SDK from 0.102.0 to 0.103.0.

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


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

In this version:

MRGService module:

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

Analytics module:

  • Updated AppsFlyer SDK from 6.11.1 to 6.12.0.

Authentication module:

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

Firebase module:

  • Updated Firebase SDK from 10.10.0 to 10.12.0.

GDPR module:

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

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


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

In this version:

Advertising module:

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

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


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

In this version:

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

Analytics module:

  • Updated AppsFlyer from 6.10.0 to 6.11.1.

Authentication module:

  • Updated VKId from 0.70.7822777 to 0.101.1.
  • Updated VK from 1.6.1 to 1.6.4.

Firebase module:

  • Updated Firebase from 9.6.0 to 10.10.0.

MyTracker module:

  • Updated MyTracker from 3.0.7 to 3.0.8.

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


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

In this version:

MRGService module:

  • Improved detection of geo-positioning by IP.

Support module:

  • Fixed an issue when callback of closing window wasn't called if showWidgetInView:completionHandler: method was used.

Analytics module:

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

Firebase module:

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

Recommendations module:

  • Added a new [[MRGSRecommendations sharedInstance] trackEvent:event] method to send extra data with events.

IronSource module:

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

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


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

In this version:

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

MRGService module:

  • Added a new [MRGSTracker trackAdRevenueWithMonetizationNetwork] method to send impression-level data of advertising revenue to MRGS.

Analytics module:

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

Authentication module:

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

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


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

In this version:

Authentication module:

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

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


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

In this version:

MRGService module:

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

  • Fixed an issue of saving requests queue.

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


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

In this version:

MRGService module:

  • Supported a new method to set SKAD conversionValue for iOS 15.4 - updatePostbackConversionValue.

  • Now MRGService requires Swift.

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

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.

  • Updated AppsFlyer SDK from 6.9.1 to 6.10.0.

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

Authentication module:

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

Firebase module:

  • Added a new [MRGSFirebase appInstanceID] method to get appInstanceId from Firebase SDK.

  • Updated Firebase SDK from 8.15.0 to 9.6.0.

MyTracker module:

  • Updated MyTracker SDK from 3.0.6 to 3.0.7.

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


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

In this version:

MRGService module:

  • Added support for method for sending a new format of unified logs - accepts event name and a dictionary with any keys and values
  • Added method for setting default values that will enrich all logs sent via the new method to MRGSTracker
  • Added support for agreement acceptance event in MRGSTracker (e.g. when a user accepts a subscription agreement in California)
  • Added support for new MRGSTrackerProfile class to send new format profiles to unified logs

Bank module:

  • Added sending appsflyerId for payments to Market|MyGames

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

Showcase module:

  • Fixed potential errors when displaying the store window inside the application

Authentication module:

  • Changed Sign In With Apple sign-in cancellation error code to equal the standard MRGS cancellation error code (-101)

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


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

In this version:

MRGService module:

  • Fixed share dialog on iPad

Analytics module:

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

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


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

In this version:

Main:

  • Added Native share window support. Read more here
  • Completely redesigned MyGamesSupport API
  • The authorization module has been split into submodules - Facebook,Amazon
  • Changed default behavior for automaticPaymentTracking flag and sending userId to AppsFlyer.
  • Parameters for modules have been moved to the appropriate modules
  • Bugs fixed

MRGService module:

  • Added Native share window support. Read more here
  • Added bundleId validation to IntegrationCheck
  • Changed behavior of automaticPaymentTracking flag to true by default
  • Removed deprecated functionality.
  • Fixed .pcm: No such file or directory errors when building the application

Support module:

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

Analytics module:

  • all events will now add additional mrgs userId and deviceId values.
  • Changed default behavior for sending userId and deviceId - now userId is sent in AppsFlyer's CUID by default, and using the useDeviceIdAsUserId flag you can enable the old behavior for sending deviceId. Read more here
  • The MRGSAppsFlyerParams config has been moved to the MRGSAnalytics module.
  • Updated Appsflyer SDK from 6.8.0 to 6.9.1.

Firebase module:

  • Added method setUserProperties

Authentication module:

  • The MRGSAuthenticationFacebook authorization has been moved into its own module MRGSAuthenticationFacebookModule.
  • The MRGSAuthenticationAmazon authorization has been moved into its own module MRGSAuthenticationAmazonModule.
  • The MRGSAppleGameCenterParams config has been moved to the MRGSAuthentication module.
  • The MRGSMyGamesParams config has been moved to the MRGSAuthentication module.

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


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

In this version:

GDPR module:

  • Added Virginia VCDPA law support to CCPA functionality

Analytics module:

  • Added af_level field when proxying MRGS metrics in AppsFlyer

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


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

In this version:

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-a01 Release (2022-11-08)🔗

In this version:

MRGService module:

  • The launch event will now tag the first launch on the device to track reattribution metrics
  • Proxy settings for MyTracker are now obtained only when connecting this module

Module MyTracker:

  • Fixed problem when archiving projects with 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)🔗

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

In this version:

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

MRGService module:

  • The MRGSVKIdParams class has moved to the MRGSAuthenticationVKId module.
  • Property MRGSMyGamesParams#vkPlayMode removed. Use MRGSMyGamesParams#customHost.

Support module:

  • Enum entity kMRGSMyGamesSupportCredentialSocialNetworkVkontakte renamed.

Authentication module:

  • Enum MRGSAuthenticationNetwork removed, replaced with string enum(string constants) MRGSAuthenticationNetwork containing the same set of social networks.

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.


v5.3.2 Release (2022-11-02)🔗

In this version:

Analytics module:

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

Showcase module:

  • Added support for remote title setting for Showcase

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


v5.3.1 Release (2022-10-17)🔗

In this version:

MRGService module:

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

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


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

In this version:

Analytics module:

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


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

In this version:

Authentication module:

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

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

Bank module:

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

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


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

In this version:

Authentication module:

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

Bank module:

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

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


v5.0.1 Release (2022-07-27)🔗

In this version:

Bank module:

  • Added support for remote Market|MyGames showcase title change.

Analytics module:

  • Updated AppsFlyer SDK to version 6.8.0

Firebase module:

  • Updated Firebase SDK to version 8.15.0

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


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

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

In this version:

  • Added support for package managers Swift Package Manager/Cocoapods/Carthage (details here)
  • Removed Deprecated methods.
  • Fixed nullability and readonly notations
  • Fixed access levels to fields and classes
  • Changed access to singleton in Swift - moved sharedInstance() method to shared field.
  • For Swift, some methods and enums have changed their name to match naming conventions

MRGService module:

  • Integration check now returns object of a new class MRGSIntegrationCheckResult
  • Added more variations of SDK startup methods to avoid filling in unnecessary parameters

  • MRGServiceInit class renamed to MRGService

  • MRGServiceWithAppId:andSecret:andDelegate method changed to startWithAppId:secret:delegate
  • All fields in external SDK settings are readonly, use constructors
  • Removed MRGSLogS: method
  • All methods for sending metrics to MRGSMetrics have been renamed to analogues without the prefix and before the parameter
  • MRGSTrackerEvent class field type changed from int to NSInteger
  • Renamed MRGSDevice.erraseUDIDInfoFromDevice -> MRGSDevice.eraseUDIDInfoFromDevice method

Analytics module:

  • Removed support for Flurry, Chartboost, GoogleConversion (classes MRGSFlurry, MRGSFlurryParams, MRGSChartboostParams, MRGSGoogleConversionTrackingParams, fields flurry, flurryParams, chartboostParams, googleConversionParams)

Authentication module

  • Changed error domains from com.my.MRGSAuthentication.<network> to games.my.mrgs.authentication.<network>

Bank module:

  • MRGSBankProduct.skProduct marked as nullable
  • MRGSBankPurchaseResult.productIdentifier marked as nonnull
  • MRGSBankPurchaseRequest.productIdentifier marked as readonly, parameterless constructors removed
  • MRGSBankSubscriptionGroup class fields marked as readonly, use constructor
  • MRGSBankReceiptItem class fields marked as readonly
  • Renamed class MRGSBankProductsResponce -> MRGSBankProductsResponse
  • Changed and renamed delegate MRGSBankDelegateEx -> MRGSBankDelegate:

    [MRGSBank sharedInstance].delegateExtended -> [MRGSBank sharedInstance].delegate
    didReceiveProductsResponce -> didReceiveProductsResponse
    didReceiveSucessfullPurchase: -> didReceiveSuccessfulPurchase
    

Notifications module:

  • Added a new delegate method shouldPresentNotification that will show a notification when the application is running

  • Renamed MRGSNotificationCategory.categoryWithIdentifier:andActions: -> MRGSNotificationCategory.categoryWithIdentifier:actions:

  • Delegate methods renamed: didClickedOnNotification -> didClickOnNotification, didClickedOnLocalNotification -> didClickLocalOnNotification, didClickedOnRemoteNotification -> didClickOnRemoteNotification
  • Renamed method findPendingNotificationWithIdentifier:andCompletionHandler: -> findPendingNotificationWithIdentifier:completionHandler:
  • Renamed method findDeliveredNotificationWithIdentifier:andCompletionHandler: -> findDeliveredNotificationWithIdentifier:completionHandler:
  • MRGSNotificationCenterSupported flag removed from MRGServiceParams
  • Renamed flag deferedMRGSNotificationCenterStart -> deferredMRGSNotificationCenterStart in MRGServiceParams

  • Fixed a crash with a cyclic call when using a native delegate with third-party SDKs

Support module:

  • Instead of define errors MyComSupport added error enum MRGSMyGamesSupportErrorCode

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


v4.11.3 Release (2022-06-06)🔗

In this version:

MRGService module:

  • Added support for remote setting proxy server for MyTracker requests

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.11.2 Release (2022-05-04)🔗

In this version:

Advertising module:

  • Improved campaign parsing

Showcase module:

  • Added ability to hide showcase title remotely
  • 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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.11.1 Release (2022-04-08)🔗

In this version:

Bank module:

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

Removing deprecated methods and properties

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

  • Old MRGSBank API (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.11.0 Release (2022-03-24)🔗

In this version:

MRGService module:

  • Added a new MRGSDevice#getGeoIpInfo:^(MRGSGeoIpInfo* _Nullable info, NSError* _Nullable error) 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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.10.1 Release (2022-03-22)🔗

In this version:

Bank module:

  • Improved error handling in MyGamesBank

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.10.0 Release (2022-03-18)🔗

In this version:

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.9.1 Release (2022-02-28)🔗

In this version:

Support module:

  • 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.
  • 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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


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

In this version:

MRGService module:

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

  • Update MyTracker SDK from 3.0.5 to 3.0.6. Learn more.

  • Added partial hiding of all secrets and keys in Integration Check logs

Analytics module:

  • Updated AppsFlyer SDK from 6.4.2 to 6.5.2. Learn more.
  • Added additional sending of payment data such as: af_content_id (sku of a product) and af_order_id (orderId from a receipt).

Authentication module:

  • Added a new MRGSAuthentication#getAccessToken:^(MRGSAuthenticationAccessToken *token, NSError *error) method to get AccessToken asynchronously, this will always allow you to get an up-to-date and valid token.
  • All possible error codes in the module have been added to the public part.

  • Deprecated MRGSAuthentication#getAuthInfo method.

  • Improvements and optimizations.

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


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

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.

Advertising module:

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

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


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

In this version:

MRGService module:

  • Fixed truncation of logs in some cases

Support module:

  • Fixed crash in MyGames Support when checking tickets

Showcase module:

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

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


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

In this version:

MRGService module:

  • Added support for setting third-party userId in MyTracker via [MRGSMyTracker forceCustomUserId:@""]. Learn more.
  • Updated MyTracker SDK from 3.0.2 to 3.0.5.
  • Fixed data output to the log.

Analytics module:

  • Added support for setting customerUserId in AppsFlyer via [MRGSAppsFlyer forceCustomUserId:@""] method before starting MRGS, as well as disabling automatic setting of this parameter. Learn more.
  • Updated AppsFlyer SDK from 6.3.5 to 6.4.2.

Support module:

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

Removing deprecated methods and properties

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

  • Old MRGSBank API (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.6.1 Release (2021-11-03)🔗

In this version:

GDPR module:

  • Fixed work with memory in COPPA

Showcase module:

  • Fixed AppClips, improved scroll animation

Support module:

  • Added support for VK authorization when opening the support widget.

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)

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.6.0 Release (2021-10-01)🔗

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)

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.

Authentication module:

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

Showcase module:

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

Advertising module:

  • 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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.5.1 Release (2021-09-21)🔗

In this version:

MRGService module:

  • Added a limit on the size of unified logs sent in the amount of 128kb.

Authentication module:

  • Fixed work of MyGames authorization - now if userId is an empty string, authorization will return an error

GDPR module:

  • Changed text in the window showing restrictions on the game in COPPA

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.5.0 Release (2021-09-03)🔗

In this version:

Important changes:

  • Added support for COPPA law. For more details see documentation
  • The minimum supported version of iOS has been raised to 9.0.

MRGService (core) module:

  • Fixed warnings for non-arc projects.

Bank module:

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

Showcase module:

  • Improved scrolling animation in the showcase.
  • Fixed animation of the showcase rotation.

Authentication module:

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.4.0 Release (2021-08-24)🔗

In this version:

MRGService (core) module:

  • Added support for a new system for collecting in-game logs (events). For more details see documentation.
  • 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.
  • Added support for sending subscription purchase (af_subscribe) or trial subscription (af_start_trial) events in AppsFlyer
  • 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.
  • Updated Firebase from version 7.4.0 to version 8.6.0

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.3.8 Release (2021-08-06)🔗

In this version:

MRGService (core) module:

  • Improved integration check - MyGames ClientId will now be validated (if present).

Analytics module:

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

Notifications module:

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

Advertising module:

  • 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

Showcase module:

  • 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

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.3.7 Release (2021-06-28)🔗

In this version:

GDPR module:

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

Showcase module:

  • Fixed bug with inability to rotate the screen in some cases.

Authentication module:

  • Improved error handling when logging into MyGames
  • 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:

  • 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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.3.6 Release (2021-06-03)🔗

In this version:

MRGService (core) module:

  • Internal preparations for moving to iOS 9 as minimum target version. Removed deprecated api for iOS 8.

Bank module:

  • Now, in case of payment errors, developerPayload will be sent to our server

Notifications module:

  • 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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.3.5🔗

In this version:

MRGService (core) module:

  • 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.
  • Added a force crash in case MRGService.plist file is not found, but is required for initialization.
  • Improved integration check - checks for incorrect versions/parameters of modules and correct use of the notification module.
  • Improved logging - now all lines of our log will start with "[MRGS]".

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

Notifications module:

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

Authentication module:

  • 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.
  • Added support for changing userID in Sign In With Apple when transferring an application from one publisher to another

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 (loadProductsWithTypesFromAppleServer, addPayment, MRGSBankDelegate, hasPendingPayment etc.) - end of 2021.
  • Old MRGSNotifications API (class MRGSNotificationManager, MRGService.registerForRemoteNotifications) - end of 2021.
  • application:openURL:sourceApplication:annotation: - end of 2021.
  • GDPR - methods including agreementVersion (showAgreementAtViewController:forAppId:fromFile:withVersion: etc.) - this fall.
  • MRGSMyGamesParams.clientSecret, MRGSAuthenticationAccessToken.userID, MRGSNotificationCenter.manuallyStartCenter` and others marked as deprecated - this fall.

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


v4.3.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.

Analytics module:

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

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


v4.3.3🔗

In this version:

Analytics module:

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

Showcase module:

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


v4.3.2🔗

In this version:

Analytics module:

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

MyGamesSupport module:

  • Fixed support for the new widget on iOS 10.

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


v4.3.1🔗

In this version:

MRGService (core) module:

  • Added new [MRGSMyTracker getInstanceIdWithCompletionHandler: ^(NSString* instanceID) { }] method to get a unique identifier for S2S events sending.

MyGamesSupport module:

  • Added logging of widget errors to MRGSMetrics (metricID -18)

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


v4.3.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 new flag showTrackingAuthorizationDialogOnAlliOSVersions to customize the display of ATT user tracking request. Required to enable/disable display on all iOS versions, or only on 14.5+.
  • Added a new method [[MRGSDevice currentDevice] hasUserAgreedToBeTracked] - to check if the user has agreed to be tracked considering iOS 14-14.5, that is, if IDFA is available.
  • Added new method [MRGSMyTracker setLaunchTimeout:NSTimeInterval]. See documentation for details.

  • Fixed sending duplicate metrics accepting agreement for ATT tracking.

Advertising module:

  • Improved ad tracking for A/B tests.
  • Removed Banner carousel support(roller).

Analytics module:

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

iOS payments via MRGSMetrics

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

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 sharedInstance] checkTicketsWithCompletionHandler: ^(NSNumber* numberOfUnreadTickets, NSError* error) { ... } ];. It works without a delegate, data or an error will immediately come to the block.
  • Added ability to set widget theme using the widgetTheme field. The available themes are light/dark/dark orange/device-theme.
  • Added ability to set the localization language of the new widget using the localizationLanguge field.
  • Added ability to download files from support widget in new widget.
  • Added ability to safely open new support widget with code.

Showcase module:

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

Notifications module:

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

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


v4.2.7🔗

In this version:

Advertising module:

  • Added additional logs to identify potential problems.

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


v4.2.6🔗

In this version:

Authentication module:

  • Fixed Info.plist inside VKSdkResources.bundle, due to which there could be errors when exporting ipa from archive xcarchive.

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


v4.2.5🔗

In this version:

MRGService (core) module:

  • Fixed conflict with Ironsource SDK (duplicate symbol '_SignalHandler')
  • Fixed crash when passed nil in application: openURL: sourceApplication: sourceApplication: annotation:
  • Added tracking of events (show/accept/decline) related to the new IDFA request on iOS 14+.
  • Updated MyTracker SDK from 2.1.2 to 2.2.1.

Authentication module:

  • Updated VK SDK from 1.4.6 to 1.6.1.
  • Updated Amazon SDK to 3.1.1.

Analytics module:

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

Billing module:

  • Fixed bug with loss of developerPayload when using a new delegate. Added logs.

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.
  • Updated FirebaseAnalytics SDK from 6.9.0 to 7.4.0. Important - now the Firebase module will only work with XCode 12+.

GDPR module:

  • Important GDPR fix for projects that set the onlyEU = true flag. We no longer check the automatic acceptance of the GDPR if the user does not fall under it, now we will show the agreement only after the user enters the EU.

Notifications module:

  • Added property ApplicationIconBadgeNumber to work with number on application icon (iOS only).

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


v4.2.4🔗

In this version:

Authentication module:

  • VK

    • Added check for the presence of a schema in Info.plist of the application, because VKSdk does not check this.
  • AppleGameCenter

    • Fixed a bug with a double callback login when deploying the application in the first session after authorization.

Billing module:

  • Fixed a rare crash when making a payment and minimizing the application.

Notifications module:

  • Improved work with reflection for methods of working with location, now Apple does not send a warning to review about using location

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


v4.2.3🔗

In this version:

MRGService module (core):

  • Improved messaging scheme with MRGS server, now sending and receiving will take less time.

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

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


v4.2.2🔗

In this version:

Advertising module:

  • Improved memory managing. Memory is now better freed and allocated only in the necessary places.
  • Fixed rare bug with timer when watching video.

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


v4.2.1🔗

In this version:

MRGService module (core):

  • Updated AppsFlyer to version 6.0.7

Bank module:

  • Added the productIdentifier field to the MRGSBankPurchaseResult object of the new bank delegate. This field contains the identifier of the purchasing/purchased product, and will always be non-empty, unlike the product field, which can be nil if the product, for example, has not been downloaded.

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

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:

  • Updated Firebase to version 6.34.0 (FirebaseAnalytics 6.9.0) (ready for iOS 14)

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


v4.2.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. It will be useful when working with notifications and IDFA requests. More details here
    • Added getAppsFlyerID method to get unique AppsFlyer ID
  • 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 property modifiers for non-arc projects
  • External SDK updates:

    • Updated MyTracker to version 2.1.2 (ready for iOS 14)
    • Updated AppsFlyer to version 6.0.3 (major update, ready for iOS 14)

GDPR module:

  • New methods and improvements:

    • Removed getAgreementVersion method for transition of projects to the correct flow of work with GDPR. The correct flow is described in the documentation
    • All methods for working with the GDPR that accept the version of the agreement are marked as deprecated. Added new methods similar to the old ones, but without a version of the convention. Please transfer the work to them.
    • Improved statistics in GDPR, added statistics for showing agreements, to count those users who did not agree with GDPR and left the application.
  • Fixes:

    • Fixed behavior of methods for CCPA - now getting region does not depend on called GDPR methods
    • Fixed 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 **.
    • Fixed links in GDPR for Japanese and Korean (previously links were broken)
    • Fixed conflict between the lookupConstant method and the ISMintegralAdapter method on iOS

Notifications module:

  • Added the ability to exclude some permissions when requesting permission for notifications (for example, leave only banners, excluding sounds and badges). More details here

Advertising module:

  • Improved tracking of impression history, so there will be no errors with repeated impressions of already viewed ads.
  • Changed approach to checking ad hashes to reduce the load on MRGS servers.

Firebase module:

  • Added new events to Firebase sent out on any purchase over $ 5,10,50,100. More details here
  • Added VALUE field to purchase events in Firebase, they are required for buying ads
  • Updated Firebase to version 6.32.0 (FirebaseAnalytics 6.8.2)

Support module:

  • Added the showFeedback method to show the feedback window in MyGamesSupport (earlier it could be opened using a category, but with a separate method it will be easier and more reliable to open it) More details here

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


v4.1.5🔗

In this version:

  • CCPA Support. Read more in the documenation CCPA
  • When authoring via VK, MRGS will report vkid to MyTracker

v4.1.4🔗

In this version:

We changed the bank API:

Now the entire API of our bank is standardized on all three platforms, and it has become more user-friendly and more functional.

Of the major changes:

  • A new class MRGSBankProductsRequest has appeared in which using the add methods you can add a product or an array of products of a certain type (product types have now become an enum MRGSBankProductType). This request is then passed to the new requestProductsInfo method.
  • There is a new class MRGSBankPurchaseRequest that allows you to more precisely configure parameters for starting a payment, such as discount identifier, quantity (for iOS), parameter for" Ask To Buy "flow simulation in Sandbox on iOS, and more. This class has convenient constructors for creating.
  • Changed purchase start methods, now they have the signature purchaseProduct, and accept either the product ID, or the ID and payload, or the new class MRGSBankPurchaseRequest.
  • We changed the naming of the methods for AppStore Promotion, just adding the line AppStorePromotionPayment to them, for better clarity of the purpose of the methods.
  • Removed the autoNotifyMRGSAboutConsume parameter, because this is not very correct, you need to call the method when the purchase was delivered to the user, and not automatically after the purchase (affects only games without a server)

Separately about the delegate:

  • Added a completely new delegate MRGSBankDelegateEx, now it returns maximum information about the purchase or download of products.
  • To load products, there are now two callbacks - didReceiveProductsResponce and didReceiveProductsError, which receive an object of the new class MRGSBankProductsResponce, containing information about valid products of type MRGSBankProduct, as well as an array of identifiers of invalid products, and an error object in case if it happened.
  • Added 4 types of callbacks for transaction results, namely didReceiveSucessfullPurchase,didReceiveFailedPurchase, didReceivePendingPurchase,didReceiveCancelledPurchase. Each of them accepts an object of the MRGSBankPurchaseResult class, describing the result of the purchase, namely, the transaction (MRGSBankTransaction), product (MRGSBankTransaction), payload and an error with a code and description, if any. MRGSBankTransaction describes the transaction in detail, includes an identifier, additional information about the transaction for each platform (whether it was restored, date, original transaction, selected discounts, and more).
  • didReceivePendingPurchase - 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.
  • didReceiveCancelledPurchase - Protocol method, called when the user cancels the payment.
  • There was a callback didCompleteTransactionsRestore, 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 iOS, the MRGSBankProduct class is now used to return information about a product, rather than to request a product (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/


v4.1.3🔗

In this version:

  • Updated MyTracker to version 2.0.7

v4.1.2🔗

In this version:

Some changes:

  • In MRGSAuthenticationGameCenter in credentials.accessToken.optionalParams now returns modified dictionary
  • Authorization callbacks in all classes of MRGSAuthentication<SocialNetwork> now runs on main queue
  • 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)

Also fixed bugs:

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

Updated external SDKs:

  • Updated MyTracker to version 2.0.6
  • Updated AppsFlyer to version 5.4.1

Read more about the new features and their use in the documentation.


v4.1.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 on working with notifications:

  • Added the flag defferedMRGSNotificationCenterStart for convenient delayed inclusion of notifications and popup. Now enough at the right time, when you want to show the user a popup for the first time, call the enableMRGSNotifications method, and after that on all subsequent launches we ourselves will start our notification service. (Previously, you had to call the manuallyStartCenter method yourself when showing the popup, and at each subsequent launch, now we do it ourselves, you just need to call the method only once at the right time). Thus, working with deferred pop-up display has become very easy to implement. It is important to note that when switching to work with this flag, you need to consider that if you are updating from version iOS 4.0.3 and higher, then everything will go seamlessly, otherwise for already playing users you will need to call the enableMRGSNotifications method at least once.
  • Added the ability to turn on and off different types of notifications on the user's device. So, you can disable local, server notifications, or all at once. After disconnection, notifications of a specific type will stop coming to the user, for example, for push notifications, the token will be invalidated on the server, and for local ones, the queue will be cleared and new ones will be prohibited. This functionality is useful for projects where in the settings there is a switch on the availability of notifications.

In addition, there have been some festures and changes:

  • Forwarded MyTracker delegate to receive attribution data (deeplink and deffered deeplink)
  • Removed dependencies of MRGS SDK on CoreLocation. Framework
  • The operation of the checkIntegration method has been fixed, now inside it has become asynchronous, and more accurately identifies errors associated with incorrect configuration of appId / Secret and network requests.
  • Added automatic sending of data on the first payment made by the user in Firebase
  • Added the ability to transfer developerPayload to the proceedPendingPayment method (start purchasing a product from the AppStore page)
  • The checkIntegration method again returns void, not string, but for projects that want to get the results of integration checks not only in the log, but also as a string, we added another variation of the method with the callback.
  • Improved session identifier session_id generation algorithm for more accurate statistics. Now session will expire in 5 minutes after application was minimized.
  • Increased GDPR agreement version number

Also fixed bugs:

  • Improved payment auto tracking

Read more about the new features and their use in the documentation.


v4.1.0🔗

In this version:

The module MRGSAuthentication has been expanded - we have expanded the list of supported social networks by adding networks such as:

  • Facebook
  • VKontakte
  • Amazon
  • MyGames
  • Apple Game Center
  • Google Play Games

We remind you that the MRGSAuthentication module will help you quickly implement authorization in popular services and social networks. The main advantage is universal API - all our classes implement a set of basic authorization methods. Thus, you can configure flow authorization using an abstract object of a social network, without being tied to a specific service.

Please note, the Facebook module works regardless of the native SDK, but nevertheless can pull out authorization data from it, you can even go to our module from projects that use the native SDK now. It is also worth noting that due to the addition of new social networks, new dependencies on VKSdk and AmazonSDK were added.

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)

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.


v4.0.9🔗

In this version, the logic for sending a user to MyTracker has been changed so that user bundles in 1Link are formed more correctly.

Read more about the new features and their use in the documentation.


v4.0.8🔗

In this version, the url for our api has been changed due to moving to a new domain.

Read more about the new features and their use in the documentation.


v4.0.7🔗

External SDKs are updated in this version:

  • MyTracker SDK up to version 2.0.4 (In this version of the tracker, a critical bug was fixed that caused crashes on devices with iOS 10.)

Read more about the new features and their use in the documentation.


v4.0.6🔗

Updated external SDKs in this version:

  • MyTracker SDK up to version 2.0.3.
  • Firebase SDK.

Read more about the new features and their use in the documentation.


v4.0.5🔗

New module added: MRGSAuthentication + Sign in with Apple:

We have added a new module - MRGSAuthentication. It will help you quickly implement authorization in popular services and social networks. The main advantage is the universal API - all our classes implement a set of basic authorization methods. Thus, you can configure authorization flow using an abstract object of a social network, without being tied to a specific service. Currently, we have added only authorization via Sign in with Apple, but the list of supported services will be gradually expanded. Read more about integration and usage in the corresponding section of the documentation.

In addition, this version has the following additions and changes:

  • ServerData request is now called automatically only in presence of a delegate and user installation. This will greatly help 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).
  • Added a check for multiple calls to the MRGS launch method.
  • The MRGSFirebase module can now work in simultaneously with other services from Firebase (for example, crashlytics). Now if firebase has already been launched earlier, we will be sending necessary events only.
  • Improved message sending queue.

Also, fixed bugs:

  • Fixed a bug due to which invalid or refunded payments could sometimes get into AppsFlyer.
  • Fixed rare crashes in MRGSDevice, MRGSSendingQueue and reportErrorOfLibraryIntegration.
  • Corrections in the method for checking integration MRGS (IntegrationCheck) - parameters are forwarded more accurately.
  • Minor bugs fixes.

Read more about the new features and their use in the documentation.


v4.0.4🔗

In this version:

  • Fixed a crash in MRGSDevice.
  • Fixed a rare crash with reportErrorOfIntegration.
  • Changed the work of the send queue, now it will not work while the application is minimized.

Read more about the new features and their use in the documentation.


v4.0.3🔗

This version has the following additions and changes:

New features:

  • Added support for GDPR localization. To set the desired language, before showing the agreement, set the localizationLanguage property of the MRGSGDPR class and forward the language designation in the ISO-639-1 format. You can get a list of available languages by calling the getSupportedLocalizations method. Please note that the resource bundle has been updated. Old custom files will continue to work as before. Read more about settings and customization in the documentation.
  • Added support for a new Playable ads format. 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-promo improvements:

  • Fully overhauled the "design" of our video ads and static banners. Now videos and statics will be shown in full screen. Video ads now have a progress bar on the cross, and all buttons and controls are rendered programmatically, so the image files have been removed from MRGSAdvertisingResources.bundle, do not forget to update it. Improved stability.
  • Removed a lag before displaying video ads. (before, a black screen sometimes flickered continiously).
  • Changed the logic of working with taps on our ads, which will help reduce fraud.

Improvements AppsFlyer, MyTracker, Firebase:

  • Updated external SDKs to latest versions: AppsFlyer (upgrade to version 5.0), MyTracker (upgrade to version 2.0), Firebase.
  • Added the ability to get conversions and installation source in MRGSAppsFlyer. Use the new delegate MRGSAppsFlyerDelegate for collecting the data. Read the documentation for more details.
  • AppsFlyer is now a strict requirement for our MRGSAnalytics library. This allows to improve stability, reduce the risks of crashes, and to re-enable debug mode (logs) in AppsFlyer.
  • Removed the sending of the purchase event to AppsFlyer. Only the af_purchase event will be sent from now on.
  • Added methods for controlling MyTracker send buffer parameters. New methods are setBufferingPeriod, setForcingPeriod and flush.

Other improvements:

  • Now MRGS always uses the HTTPS protocol for data transfer. You can remove the flags NSAppTransportSecurity->NSAllowsArbitraryLoads = true and forget about them.
  • Updated mechanism for working with our logs (the old one could have in rare cases lead to crashes). Added the ability to set the preferred MRGS logging level (info, warning, error). Now we can cover more logs to send to the server. In addition, we have added the ability to enable logs and send them to the server by opening the application using the URL scheme with the key. This will allow to run logs even on production builds. Improved reliability.
  • Now we will automatically send a flag to check whether the push notifications are enabled on the device to the MRGS server. Now it is reflected in the device’s card on the site, and in addition, if you try to send a notification to the device that has notifications turned off, RGS will warn you about it.
  • Added support for a new mechanism for working with windows on iOS - UIScene. (When a single application can be run in multiple instances in parallel).
  • The new widget.support.my.games is now used as the base address for MyComSupport.
  • Improved memory handling when working with WebView.

Also, fixed bugs:

  • Fixed the work in the absence of tickets in myComSupport after their transition. (Previously, an error was returned in the absence of tickets).
  • Fixed the operation of automatic payment tracking (sometimes there were performance problems).
  • Fixed the work with Firebase according to the description of common problems. May improve the quality of automatic event tracking.
  • Fixed the display of cross-promo slider on iPad.
  • Fixed the operation of launchedURL property.
  • Other minor fixes.

Read more about the new features and their use in the documentation.


v4.0.2🔗

This version has the following additions and changes:

  • Purchase event in AppsFlyer is now sent with the name "af_purchase". The old event with the name "purchase" also remains.
  • Improved validation of purchases in auto tracking. For those who had questions - we have checked once again, the sandbox/combat/invalid payments are recognized correctly.
  • Upon automatic payment tracking, we will automatically report all valid payments to all connected external SDKs (Firebase, Appsflyer).
  • Fully updated the API for working with users. Old methods have been removed. Now there is only one method for setting the user ID.

AppsFlyer Purchase Events

Purchase event in AppsFlyer is now passed with the name af_purchase. The old event with the name purchase also remains.

Also, fixed bugs:

  • Fixed display of the Piligrim roller on iPad.

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 data collection 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 data. 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.

Read more about the new features and their use in the documentation.


v4.0.1🔗

This version has the following additions and changes:

  • Added automatic payment tracking, now you can not transfer your payments to us manually, we will automatically collect all the necessary information. To use, set the automaticPaymentTracking flag to true. Also, do not forget to add the payment verification key to the MRGS website.
  • Improved algorithm for playing video ads, allowing you to download less data to the device, and set campaigns on the server faster.
  • Updated versions of external SDKs.
  • Improved documentation in English.

Also, fixed bugs:

  • Fixed build parameters that caused certain fields to be added into Info.plist of resource bundles, and make it impossible to upload the application in TestFlight
  • Fixed a bug which caused video ads on iOS 13 might to not be shown to the user (the window with the ad appeared under the game one).

Compiled by Xcode 11.2. Attention! For projects that did not switch to modules, we have released version 3.8.93 with a fix for the aforementioned bug.

Read more about the new features and their use in the documentation.


v4.0.0🔗

Following Android, we divided our iOS framework into modules.

In this version global changes were made according to the contents of our library. Now MRGS consists of 9 frameworks. The main one is the MRGService.framework, which contains the basic necessary functions.

To use our additional features, add the appropriate frameworks to the project (for example, payments, notifications, ads, Game Center) and they will be automatically launched (the analytics module, for example, will automatically transfer data to connected external SDKs when added).

For your convenience, we made the global header MRServiceKit.h and module MRServiceKit, which will now automatically connect to the file all the modules (frameworks) added to the project.

Migration from older versions: {:migration-guide-4.0.0}

  1. The MRGSBank - sendPaymentInfoForProduct:transaction: method moved to the MRGSMetrics class, meaning the it is enough to replace[[MRGSBank sharedInstance] sendPaymentInfo... with [MRGSAdvertisingManager sharedInstance]
  2. The MRGSAdvertisingManager class is now used to access advertising objects, the signatures remain the same. Thus, you need to replace [MRGServiceInit sharedInstance] with [MRGSAdvertisingManager sharedInstance]
  3. The MRGSAnalytics class is now used to access the external SDK API
  4. The methods required to track notifications didFinishLaunchingWithOptions: and startObservingWithLaunchingOptions: are replaced by a single [MRGServiceInit application: didFinishLaunchingWithOptions:];
  5. Each framework that has resources now has a separate bundle with a corresponding name instead of a single shared resource bundle.
  6. We recommend adding the MRServiceKit.h file to the project, and replace all instances of #import <MRGService/MRGService.h> with #import "MRServiceKit.h" or @import MRGServiceKit;

In addition, this version has the following additions and changes:

  • We have added documentation in English; to access, change the language on the MRGS website, and go to "Documentation - iOS/MacOS Documentation".
  • Improved the slider appearance in cross-promo for devices with frameless screens.
  • Improved the logic of ad availability requests.
  • Added Firebase support (payments, launches, users). Located in MRGSFirebase.framework.
  • Updated external SDKs.
  • Added automatic linking of system libraries, now it’s enough to simply add our frameworks to the project, and it will immediately assemble, linking the libraries necessary for each module.
  • Added module support (a construct in the form @import MRGServiceKit;) for each of our libraries, as well as a universal module that imports all the frameworks added to the project. This approach can speed up the assembly of the application.
  • The structure of the framework has been changed, now there are no symlinks in it, which will allow Windows and Unity users to work with them better.

Attention. Compiled with Xcode 10.2.1. The next build will be compiled with the new version of Xcode.

You can find an example of integration in the archive with the version in the Example folder.

Read more about the new features and their use in the documentation.

If you have questions, please contact us, we will help you.


v3.8.93🔗

In this version:

  • Fixed a bug which caused video ads on iOS 13 might to not be shown to the user (the window with the ad appeared under the game one).

v3.8.92🔗

In this version:

  • Fixed a crash upon receiving an ad object on iOS 13.

v3.8.91🔗

In this version:

  • Fixed MyComSupport working with categories.
  • Fixed a crash upon displaying UIAlertView in MRGSBank (in case of transaction error).

v3.8.90🔗

This version has the following additions and changes:

  • Improved event tracking in the Piligrim slider, this will allow you to collect more accurate statistics.
  • Completely removed the UIWebView from the code, since Apple pays attention to that during the review.
  • If an invalid link is specified in the Piligrim campaign, it will not be shown to the user.
  • Countries added to GDPR: Norway, Liechtenstein, Iceland.

Also, fixed bugs:

  • Fixed error with the clipping Piligrim slider on iPhone X format devices (frameless).
  • Fixed a rare crash on iOS 13.
  • Other bug fixes and improvements.

Read more about the new features and their use in the documentation.


v3.8.89🔗

  • Reworked th delivery of payment data to AppsFlyer.

v3.8.88🔗

  • Added the launchedUrl property to the MRGServiceInit class, which stores the URL that the application was launched with.

v3.8.87🔗

This version has the following additions and changes:

  • Fixed possible reasons behind the Piligrim crashes.
  • Improved response to a lack of RAM in the system.
  • Fixed warnings for non-arc projects.
  • Added a method to get the list of purchased non-consumable items from a receipt.
  • Support for automatic http/https switch .

Read more about the new features and their use in the documentation.


v3.8.86🔗

Updated external SDKs: AppsFlyer, Chartboost, Flurry, MyTracker, MyTarget.


v3.8.85🔗

This version implemented several additions for working with subscriptions:

We have added a new API for working with the application receipt. With it, you can:

  • Check the "availability" of the introductory discount for the user.
  • Check the "availability" of the apple subscription offers discounts for the user.
  • Get the list of active subscriptions.
  • Get a list of all ever purchased subscriptions.
  • Get the necessary information about a specific subscription.

Thus, even games without a server will be able to learn up-to-date information about subscriptions without a restore, including renewals, and those projects that use discounts will be able to easily determine whether a user is eligible for a discount.

Read the usage instructions and a full description of the API in the "Bank" section of the documentation


v3.8.84🔗

This version has the following additions and changes:

  • Improved integration verification method.
  • The payment reporting scheme has been slightly improved (applies only to sending ready-made transaction information through us).
  • Downloading Piligrim files moved to the Cache directory. Also, now previously downloaded companies are reused, rather than reloaded. (Previously, files were saved in the Documents directory, because of this, ads took up place in the user’s iCloudDrive (although, of course, they were deleted after viewing). Also, we did not use the already downloaded ads, and downloaded them again (for example, on game restart).
  • The logic of working with incomplete transactions in the bank has been changed and an important bug has been fixed. Now the process has become more reliable and transparent. Thanks to this, a bug was fixed when the transaction was "lost" in the queue, and we did not report anything, which made it impossible to buy the product again, and only the restore could have helped. Now immediately after loading the products we will process all pending transactions in the queue. Therefore, we advise to those who use the restore at the start of the application to avoid such situations to remove it, since it is no longer necessary, and guides recommend to have a button for this anyway.
  • Added forwarding of the application:continueUserActivity:restorationHandler: method in MyTracker, so in case your product can use Handoff, then you need to add this method to your AppDelegate.

For projects that use our GameCenter - we fixed a bug with screen rotation when opening an alert, added methods to clear the server cache for delegate testing purposes, and also transferred the storage of downloaded data to the Cache directory.

Read more about the new features and their use in the documentation.


v3.8.83🔗

This version has the following additions and changes:

  • Support for MyTracker deeplink. Now they get forwarded to MyTracker.
  • Slightly improved sending of crash reports, now backtrace is sent when "signal" or "open nil url" occurs.
  • Changed the scheme of video impression tracking. Now information about the impressions is sent earlier (in the same way as for the main video grids such as IronSource, etc.). This is done in order to track impression in the same way and reduce the time for issuing rewards for viewing.
  • Added method for checking MRGS integration. Call the [[MRGServiceInit sharedInstance] checkIntegration]; method, and the logs will display a report on the correct integration, called or uncalled methods, recommendations for fixing existing errors, as well as all parameters with which MRGS was launched.
  • A callback has been added to MRGSNotificationCenter, notifying you whether the user has accepted/refused the permission to send notifications. The method may be especially in demand if you request permission to send notifications not upon the start of the application, and wait until the user agrees or refuses.

Also, fixed bugs:

  • Fixed a possible bug when starting the application with MRGSNotificationCenter.
  • Fixed a bug with repeatedly loading serverData, now only one message can be in the queue, which guarantees optimal loading.

Read more about the new features and their use in the documentation.


v3.8.82🔗

This version has the following additions and changes:

  • Now receiving a list of bank products will occur regardless of whether or not inapp purchases are allowed on the device.
  • Changed the operation of the serverTime field in the class MRGServiceInit. Now it constantly reflects the current time on the server, and is affixed after the first receiving of data from the server.
  • We decided to gradually get rid of our support for the MyTarget platform, so at the moment we removed the mention of it in the documentation.
  • Added support for the new Apple Subscription Offers API, which allows you to make discounts on subscriptions. (Added new method to class MRGSBank).

Read more about the new features and their use in the documentation.

Also, fixed bugs:

  • Fixed receiving locale for myComSupport, now locale is obtained from preferred languages. (Previously, the locale might have been incorrectly determined if the application was not localized in a given language.)
  • Fixed a possible error with the loss of payload when shopping in the app.

v3.8.81🔗

This version has the following additions and changes:

  • Added support for ARM64e architecture.
  • Now, when generating a signature, myComSupport uses server time (MRGS server time), if it was received at this point. (In order for the signature to be generated correctly, regardless of the user's time).
  • Improved tracking of delivered notifications on the new NotificationCenter.
  • Added automatic sending of the event about user registration in myTracker, so that projects can count unique users and installations.
  • Reworked class for working with OpenUDID. Now it works with ARC, does not use many slots in the pasteboard, receives IDFV, and stores data more reliably.
  • Geolocation tracking settings are now duplicated from MRGS to MyTracker, since in iOS 12.2 myTracker slows down debug loading due to UI API calls in the Background stream.
  • Changed the API in GDPR. Now the showAgreementAtViewController:forAppId:fromFile:withVersion method is considered deprecated, since the version parameter could cause a conflict with the agreementVersion property. Added the showAgreementAtViewController:forAppId:fromFile: method, which is now considered the main one.

Also, fixed bugs:

  • Fixed a bug where sudden presence of pending purchases in the queue lead to the application crash if restore method has been previously called.
  • Fixed the error with cutting the Piligrim banner in the horizontal position (for the roller).
  • Fixed a bug in the new NotificationCenter - when registering categories, an array of actions (buttons) can be empty or nil.
  • The condition for sending metrics in the Piligrim has been fixed (now the metrics of the Piligrim statistics more accurately and correctly reflect the state of what is happening (errors, crashes, loading errors, hash, etc.).
  • Fixed a crash when there was no video file, and the Piligrim was still launching.
  • A bug was fixed when the ApplicationDidBecomeActive method was called two times at the first application start - by the system and by us; because of this, a launch event was sent to appsFlyer twice.

And of course, new features in GDPR:

Now you can show your custom interface for GDPR. You no longer have to bother with HTML, its download speed and layout.

We have added three new methods: two for finding out if the user is eligible for GDPR, whether he needs to see the agreement, and the third - to notify us of the agreement having been accepted.

Read more about this feature in the GDPR documentation.


v3.8.80🔗

This version fixes a bug that could lead to deadLock when accepting GDPR.


v3.8.74🔗

This version provides bug fixes:

  • GDPR. Fixed a bug where the agreement window was not centered on the iPhone X, along with a scaling error. If you use a custom agreement file, check if it is displayed correctly, because WKWebView may behave differently than the old UIWebView.
  • MyTracker. Fixed a bug due to which user identifiers (UserID) were never transferred to MyTracker, i.e. [trackerParams setCustomUserId: nil] was always called. You can now see the UserID in the events of myTracker admin panel.
  • Bank. Fixed a crash when trying to make a purchase/restore of products removed from the AppStore that were previously valid and were stuck.
  • GDPR. Added a new parameter that allows you to set the background color while loading the agreement file. To do this, use the backgroundColorForWebView property. If used, the field must be set before showing the agreement.
  • Documentation. Added a section to the documentation: “Known bugs of different MRGS versions”, in which you can find bugs known to us in different versions, and when they were fixed.

v3.8.73🔗

This version introduces a small fix:

  • GDPR. Fixed a bug with non-clickable links in the agreement.
  • Bank. Added logs in actions with promotional products AppStore.

v3.8.70🔗

This version contains:

  • MRGSMyTracker. We made a wrapper to send events directly to MyTracker.
  • Bank. This version fixes the disappearance of developerPayload from payment. Also, the early closing of payments was fixed, due to which they could be lost.
  • 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.
  • Text metrics. Previously, you could send MRGS metrics consisting of only numeric values, now you can send metrics with a text key.

v3.8.69🔗

Important update:

  • GDPR has been fixed! In MRGS versions 3.8.66 through 3.8.68 there was a bug due to which, when upgrading from versions to .66 on versions .66-.68, the GDPR window was displayed again.
  • External SDK versions. Now, if the version of the external SDK does not match the version supported by MRGS, this will lead to the crash of the application at the start and the corresponding log entry. Thus, there will be no situations where MRGS has been updated, but there are no external libraries (which led to errors in statistics).
  • Logs - Fixed crash in logs.

If you have built-in MRGS versions from 3.8.66 to 3.8.68, then we strongly recommend updating it to this version.


v3.8.68🔗

In this version we did:

  • New notifications. We completely overhauled the work with notifications, now the new MRGSNotificationCenter class will be responsible for them, and it finally supports Apple’s new library (UNUserNotificationCenter for IOS 10+), i.e., it uses the latest API, while maintaining the old API (for iOS 8-9). Using this class you can:
    • Flexibly configure the sending and conditions for triggering notifications (Interval, date, location, repetition).
    • Add buttons to notifications and customize their appearance.
    • Configure notification grouping in iOS 12+, including the summary view and its arguments.
    • Add attachments to notifications.
    • Add custom sounds to notifications.
    • Get user notification settings for your application.
    • Manage delivered and scheduled notifications, replace them, delete and adjust.
    • Even if you do not want to fully use MRGS for notifications, you can send notifications through us.
    • Receive callbacks about pressing and the arrival of both local and server notifications.

Important!

Due to the need for a smooth transition of projects to the new API, we added a new field to MRGService.plist (located in the archive with the library). If you are transitioning to a new notification center, do not forget to set the corresponding flag in the settings. Read more in the documentation located in the archive with the library. All points above apply to both local and server notifications.

  • Rewrote the send buffer. Now the buffer is more reliable, faster and simpler. For example, ads in Piligrim can be uploaded twice as fast.
  • MyComSupport, GDPR - moved to WKWebView, a newer class for working with the web.
  • MyComSupport - moved to a new API. Also fixed certain bugs.
  • Architecture. We removed support for the armv7s architecture, since many libraries (for example, AppsFlyer, FBSDK, Flurry) abandoned it, and it is still needed to be assambled for armv7 instead of armv7s.

Important!

This version has a bug with GDPR, fixed in version 3.8.69. Update to the latest version of the library.


v3.8.67🔗

This version introduces a small fix:

  • Piligrim. Now data is sent to the MRGS server about whether the ad has been skipped, as well as developerPayload, which you can add.

Important!

This version has a bug with GDPR, fixed in version 3.8.69. Update to the latest version of the library.


v3.8.66🔗

In this version, we have done a lot for you and fixed the following:

  • Metrics. Now metrics will accumulate in the queue before being sent, in order to reduce power consumption and traffic. At the same time, we guarantee their delivery even with a sudden application close or a crash.
  • Crash reporter. We fixed it, now crash reports (reasons, time, device, and much more) will be sent to the MRGS server again, and you will be able to view them in the admin panel.
  • Logs on the server. Now, if you mark any device as a test one in the MRGS admin panel, it will start sending all the logs to our server, where you can view them and quickly figure out what is going wrong.
  • GDPR fix. On certain iOS versions, all data written to NSUserDefaults was missing (iOS-side issue). Because of this, sometimes it was possible to see the GDPR screen after the user accepted the agreement. Therefore, agreement information is now stored in a file on the drive.
  • Push notification settings. Now you have the opportunity to get user notification settings. To do this, use the getUserSettingsWithCompletionHandler method (will return an MRGSNotificationSettings object) or isNotificationsEnabledWithCompletion (will return TRUE if you have AT LEAST Banners enabled).
  • Push notifications. The delegate has a new method called userClickedOnRemoteNotification, which is called when a user clicks on a notification. Also, the work of push notification metrics was fixed (earlier, the click event was sent to the notification arrival and to the click). Now click and delivery events correspond to their names.
  • Piligrim. Now, upon clicking on a banner, the user will immediately get to the AppStore, without redirects through Safari.
  • Documentation. A beta version of our new iOS documentation has been added to the archive, reviews will be welcome!

Important!

This version has a bug with GDPR, fixed in version 3.8.69. Update to the latest version of the library.


v3.8.65🔗

  • Fixed operation of the buffer for sending messages to the server (Fixed a bug which resulted in the buffer was not being saved to drive. Now saving the buffer to drive has been restored. The update is recommended for those projects in which the user can work without the Internet).

v3.8.64🔗

  • The protocol for accessing MyCom Support has changed. 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.
  • MyTracker is now accessed directly, without using reflection.
  • Updated external SDKs.

v3.8.63🔗

  • Fixed duplicate sending of the log of agreeing to the GDPR policy.

v3.8.59🔗

  • Fixed display of GDPR on different devices.

v3.8.58🔗

  • Updated the GDPR module. Now displayed correctly on iPhone X.
  • Country recognition for applicability of GDPR is performed once.

Attention! Remember to update MRGServiceResource.bundle!

Usage example:

- (void)viewDidLoad {
    MRGSGDPR* gdpr = [MRGSGDPR sharedInstance];
    gdpr.delegate = self;
    UIViewController *rootController = [UIApplication sharedApplication].keyWindow.rootViewController;

    [gdpr showDefaultAgreementAtViewController:rootController forAppId:38];
}
- (void)userHasAcceptedGDPR:(MRGSGDPR*)gdpr withAdvertising:(BOOL)flag {
    [self initMRGS];
    //Begin downloading the application/game
}

- (void)errorShowingAgreement:(MRGSGDPR*)gdpr {
    //Something definitely went wrong. Let's get out of here.
}

v3.8.57🔗

  • Updated the GDPR module. Added support for determining the country by GEO IP.
  • The agreementVersion property should now work correctly.

v3.8.56🔗

  • Added GDPR support. To display the agreement, you must use the GDPR class.

Attention! Remember to update MRGServiceResource.bundle!

Usage example:

- (void)viewDidLoad {
    MRGSGDPR* gdpr = [MRGSGDPR sharedInstance];
    gdpr.delegate = self;
    UIViewController *rootController = [UIApplication sharedApplication].keyWindow.rootViewController;

    [gdpr showDefaultAgreementAtViewController:rootController forAppId:38];
}
- (void)userHasAcceptedGDPR:(MRGSGDPR*)gdpr withAdvertising:(BOOL)flag {
    [self initMRGS];
    //Begin downloading the application/game
}

- (void)errorShowingAgreement:(MRGSGDPR*)gdpr {
    //Something definitely went wrong. Let's get out of here.
}

v3.8.55🔗

  • Added support for the new MyCom Support API to check for ticket responses. Attention! Now, before checking tickets, you need to set a Secret, as was done previously, before opening the MyCom Support window:
MRGSMyComSupport *support = [MRGSMyComSupport sharedInstance];
support.secret = @"sgfd23f";
support.delegate = self;
[support checkTickets];
  • Fixed the problem of incorrect image selection for Piligrim banners.

v3.8.54🔗

  • Changed the logic for choosing the resolution of images in Piligrim for screens 1921px and higher.

v3.8.53🔗

  • Added support for uploading images in different resolutions for the roller in Piligrim.
  • Fixed a bug leading to a possible crash in the problemOpenURL function.

v3.8.52🔗

  • Added the ability to add additional parameters in JSON format when opening the MyCom Support window:
MRGSMyComSupport *support = [MRGSMyComSupport sharedInstance];
[support addExtraParam:@"{\"vip\" : true}"];
[support showSupportViewOnSuperview:rootView];

v3.8.51🔗

  • A fix for developerPaylod loss.

v3.8.50🔗

  • Changes to MRGS Piligrim.

v3.8.49🔗

  • Changes to MRGS Piligrim.

v3.8.48🔗

Important

The closePayment method in MRGSBilling is declared deprecated, due to its frequent and incorrect use. If your game does not issue rewards through the server, use the notifyMRGSAboutConsume method.

Made changes to detect issues with developerPayload loss during payments. An error log will be sent in three cases:

  • an empty string was passed to the addPayment: withDeveloperPayload: method;
  • an error occurred while parsing developerPayload;
  • the resulting developerPayload is different from the one sent when the addPayment: withDeveloperPayload: method was called.

v3.8.47🔗

  • Added support for transferring additional information (developerPayload) in local and server push notifications. To use, you need to create a notification:
MRGSLocalNotification *localNotification = [[MRGSLocalNotification alloc] initWithTitle:@"Test notification"
                                            identifier:[NSString stringWithFormat:@"test%f", [[NSDate date] timeIntervalSince1970]]
                                            date:[NSDate dateWithTimeIntervalSinceNow:15]];

localNotification.developerPayload = @{@"params" : @"hello, world!"};
[[MRGSNotificationManager sharedInstance] scheduleLocalNotification:localNotification];
[[MRGSNotificationManager sharedInstance] registerLocalNotificationDelegate:self];

The delegate will have called a method - (void)didReceiveLocalNotification:(MRGSLocalNotification *)notification in notification.developerPayload your data.

Also, it became possible to install a delegate for the arrival of a server push notification:

[[MRGSNotificationManager sharedInstance] registerRemoteNotificationDelegate:self];

where self must implement the protocol:

@protocol MRGSRemoteNotificationDelegate <NSObject>
- (void)didReceiveRemoteNotification:(MRGSLocalNotification*)notification;
@end

After receiving the server notification, the method will be called:

- (void)didReceiveRemoteNotification:(MRGSLocalNotification*)notification {
    // notification.developerPayload - An NSDictionary object containing"Additional parameters"
}

v3.8.46🔗

  • Updated myTarget to version 4.6.25.

v3.8.44🔗

  • Additional logs for Piligrim.

v3.8.43🔗

  • Visual changes in Piligrim.

v3.8.42🔗

  • Changed the work mode with promoted iap. The hasPendingPayment and proceedPendingPayment methods need to be called each time the application is maximized.

v3.8.41🔗

  • Added a function for simplifying the information transfer from Unity:
void mrgs_bank_send_payment_info(const char *product, const char *transaction);

v3.8.40🔗

  • Added a boolean parameter disablePaymentsCheck in the Option's section of the MRGService.plist. If it is set to YES (true), then MRGS will not process transactions from SKPaymentQueue:
<key>Options</key>
<dict>
    <key>disablePaymentsCheck</key>
    <true/>
</dict>

v3.8.39🔗

  • Updated the MRGS Piligrim interface.

v3.8.38🔗

  • A method for obtaining information about a product purchased from the AppStore store page (iOS 11 and above) has been added to MRGSBank. Returns an object of SKProduct type. The method can return nil if there is no product:

[[MRGSBank sharedInstance] getPendingProduct];


v3.8.37🔗

  • Added support for Promote InApp Purchase from AppStore for iOS 11

To purchase a product, after the user clicked on it in the store, you must do the following. After launching the application, at the moment when the application is fully initialized and the list of products from the bank is loaded using the [[MRGSBank sharedInstance] loadProductsWithTypesFromAppleServer:]; method, you must call the [[MRGSBank sharedInstance] hasPendingPayment]; method. This is a boolean method, if it returned YES, this means there is a purchase that the user wanted to make. In this case, it is necessary to call the [[MRGSBank sharedInstance] proceedPendingPayment]; method. The usual product purchase process will begin, similar to the case where [[MRGSBank sharedInstance] addPayment:]; is called.

If you want to hide an inapp product from the store page for a specific user, you must call the [[MRGSBank sharedInstance] showProductInStore:completionHandler:]; method. To show it again - [[MRGSBank sharedInstance] showProductInStore:completionHandler:];. For checking the display state use [[MRGSBank sharedInstance] isProductVisibleInStore:completionHandler:];.


v3.8.36🔗

  • Bug fixes.

v3.8.35🔗

  • Removed CFBundleVersion and CFBundleVersionString from Info.plist of MRGSResouces.bundle.

v3.8.34🔗

  • Fixed a bug when mrgsAppId was not transferred from MyTarget to the InterstitialSlider.

v3.8.33🔗

  • Removed CFBundleExecutable from Info.plist of MRGSResources.bundle.

v3.8.32🔗

  • Updated MyTarget library to version 4.6.19.
  • Updated MyTracker library to version 1.6.0.

v3.8.31🔗

  • If MyTracker is enabled, now all MRGS metrics are transferred to MyTracker by default. If you want to disable this, then you need to add the forwardMetrics (Boolean) field and set its value to NO in the MyTracker section of MRGService.plist. If your project initializes MRGS from code, without using a plist file, then when creating MRGSMyTrackerParams you need to set MRGSMyTrackerParams.forwardMetrics = NO.

v3.8.30🔗

  • When making a payment, you can now add information (developerPayload) that you would like to receive back upon a successful operation. To do this, use either [MRGSBank addPayment:withDeveloperPayload:] or [MRGSBank addSubscriptionPayment:withDeveloperPayload:]. It is also necessary to implement the paymentSuccessful:answer:withDeveloperPayload: method for a class that implements the MRGSBankDelegate protocol. This method is marked as @optional and its implementation is not necessary.

v3.8.29🔗

  • Bug fixes.

v3.8.28🔗

  • Changes to build scripts.

v3.8.27🔗

  • Bug fixes.

v3.8.24🔗

  • Fixed a crash in MRGServiceInit.m:153.

v3.8.22🔗

  • Added the ability to output MRGS logs to external sources. To do this, you need to set up a callback function that will be called when writing to the log.

Usage example:

[MRGSLogs setExternalLogWriter:^(NSString *logString) {
    NSLog(@"externallog %@", logString);
}];

v3.8.12🔗

  • Updated myTarget library to version 4.6.14.
  • Updated myTracker library to version 1.5.12.

v3.8.11🔗

  • Fixed a crash inside -[MRGSBank sendLogForPayment:].

v3.8.10🔗

  • Fixed a crash inside -[MRGSBank getDictionaryWithCryptString:andError:].

v3.8.9🔗

  • Updated myTarget library to version 4.6.9.

v3.8.8🔗

  • Fixed a bug with the [MRGSBank loadProductsWithTypesFromAppleServer:] method being called multiple times.

v3.8.6🔗

  • The (ADClient requestAttributionDetailsWithBlock) mechanism for sending searchAds has been reworked.
  • Updated myTarget to version 4.6.4.

v3.8.5🔗

  • Updated AppsFlyer to version 4.6.3.

Attention!

For some reason, AppsFlyer.framework was renamed to AppsFlyerLib.framework - don't forget to delete the old one and include the new one in the dependencies.

The notifyEvent:eventValue: method in the MRGS MRGSAppsFlyer is now deprecated, use notifyEvent:eventValues: (more details in the AppsFlyer documentation).

  • Chartboost 6.6.1.
  • Flurry 7.9.2.
  • myTarget 4.6.2.

v3.8.4🔗

  • Added the ability to subscribe to a callback about a local notification. To do this, call the method [[MRGSNotificationManager sharedInstance] registerLocalNotificationDelegate:self]; Where 'self' is an object that implements the MRGSLocalNotificationDelegate protocol.
  • Fixe a bug fixed with application launch metric being counted twice.

v3.8.3🔗

  • Fixed application crash when swiping the remote notification.

v3.8.2🔗

  • Added support for Interstitial API from myTarget.

Warning!

To use the new API, it is important to add the interstitialSlotId item to the MyTarget (Adman) section in MRGService.plist.

Working with the new API is identical to working with a regular showcase. First you need to set the [MRGSMyTarget sharedInstance].delegate = self delegate method. Then you need to call the data loading method for the showcase [[MRGSMyTarget sharedInstance] loadInterstitialSliderAd] After receving the callback mrgsMyTargetDidReceiveInterstitialSliderAdData:(MRGSMyTarget *)mrgsMyTarget, you can show the showcase using the call [mrgsMyTarget openInterstitialSliderAdWithViewController:self];


v3.8.1🔗

  • Updated MyTracker library to version 1.5.5.

v3.8.0🔗

  • Added support for purchasing subscriptions.
  • Updated MyTarget library to version 4.6.1.

Attention!

Attention! The ((void)loadProductsFromAppleServer:(NSSet*)productIdentifiers method in the MRGSBank class is now deprecated and is used for backward compatibility. To purchase subscriptions, you must use the new method - (void)loadProductsWithTypesFromAppleServer:(NSArray*)products. This method must be called once before the addPayment method or before the (void)restorePurchase method. It is advisable to call it as soon as possible.

At the moment, there is no way to check how the application will behave if the user has changed the type of subscription not via the application, but via iTunes.

Usage example:

NSArray* products = [NSArray arrayWithObjects:[MRGSBankProduct productWithId:@"ru.akeb.framework.testNonConsumable22" andType:@"noncons"],
                     [MRGSBankProduct productWithId:@"ru.akeb.framework.testConsumable11" andType:@"cons"],
                     [MRGSBankProduct productWithId:@"ru.akeb.framework.subs1" andType:@"subs"],
                     [MRGSBankProduct productWithId:@"ru.akeb.framework.subs2" andType:@"subs"],
                     [MRGSBankProduct productWithId:@"ru.akeb.framework.subs3" andType:@"subs"],
                     [MRGSBankProduct productWithId:@"ru.akeb.framework.subs10" andType:@"subs"],
                     [MRGSBankProduct productWithId:@"ru.akeb.framework.subs11" andType:@"subs"],
                     nil];
[[MRGSBank sharedInstance] loadProductsWithTypesFromAppleServer:products];

The type can be: "subs" (subscription), "cons" (consumable product), "noncons" (renewable product).


v3.7.5🔗

  • Updated MyTarget library to version 4.6.0.
  • Updated MyTracker library to version 1.5.4.

v3.7.4🔗

  • Added data collection from Search Ads.
  • Updated external SDK: Chartboost 6.5.2.
  • Updated external SDK: Flurry 7.8.0 - NEED TO UPDATE THE LIBRARY IN THE PROJECT.
  • Updated external SDK: MyTarget 4.5.11.

v3.7.3🔗

  • Fixed a bug with initializing myTracker.

v3.7.2🔗

  • Updated external SDK: MyTracker 1.5.3.

v3.7.1🔗

  • Fixed a bug with notifications in iOS 8.0.

v3.7.0🔗

  • Increaed the minimum iOS version to 8.0.
  • Removed external SDK: MobileAppTracking.
  • Updated external SDK: Chartboost 6.5.0.
  • Updated external SDK: Flurry 7.6.6.
  • Updated external SDK: GoogleConversionTracking 3.4.0.
  • Updated external SDKs: GoogleAnalytics 3.15 (it doesn’t work now, due to a method called build. Apple doesn’t allow it into Store).
  • Updated external SDK: MyTracker 1.5.2.
  • Updated external SDK: MyTarget 4.5.10.

v3.6.20🔗

  • Changed MRGSReachability behavior to support ipv6.

v3.6.19🔗

  • Added pushNotificationDidDelivered method to MRGSNoificationManager for push notification tracking. It must be called if the push notifications are implemented independently within the application. It is necessary to pass the push notification id from the ref parameter as ref.

v3.6.18🔗

  • Completely disabled Google Analytics, since the GAIDictionaryBuilder class, which is used for pretty much every request, calls the build method.

v3.6.17🔗

  • The call to the setIsDebug method of AppsFlyer has been removed. Removed the Google Analytics call upon purchase, since it contanins a call to the build method. Both of these methods are not liked by Apple with the wording `private api call.

v3.6.16🔗

  • Updated protocol MRGSMyTarget. Added the handleClick:withController: method, which must be called when myTarget ad banner is clicked, if the developer creates a custom showcase interface.

v3.6.15🔗

  • Updated the MRGSMyTargetDelegate protocol. Now the mrgsMyTarget:didReceiveShowcaseDataAndFoundNotifications method has the signature mrgsMyTarget:didReceiveShowcaseDataAndFoundNotifications:withAppWallAd and in the last parameter receives NSArray<MTRGNativeAppwallBanner>*.

v3.6.14🔗

  • MyTracker logging about completed purchases.

v3.6.13🔗

  • Session ID generation and sending it to the server for Debugging.

v3.6.12🔗

  • Enabled BitCode support.

v3.6.11🔗

  • Fixed a minor error.

v3.6.10🔗

  • Fixed a crash in payments in the absence of localization.

v3.6.9🔗

  • Updated external SDK: MyTracker 1.4.3.
  • Updated external SDK: MyTarget 4.4.6.

v3.6.8🔗

  • Fixed a bug with FBSDKCoreKit.framework that was leading to a crash on iOS versions below 7.0.

v3.6.7🔗

  • Fixed a bug with the clock.

v3.6.6🔗

  • Fixed a bug that in some cases lead to crashes during MRGS initializing.

v3.6.5🔗

  • Fixed url generation for MyComSupport (in some cases, support could have failed to open).
  • Fixed a bug of the encryptor of the MRGS buffer, which could have lead to crashes in some situations.

v3.6.4🔗

  • Updated external SDK: MyTracker 1.4.0.
  • Updated external SDK: MyTarget 4.3.1.
  • Updated external SDK: AppsFlyer 4.3.7 Please note: The framework has been renamed!.

v3.6.3🔗

  • Logging of the connection with the clock Requires WatchConnectivity.framework in the project.

v3.6.2🔗

  • Fixed a bug of the encryptor of the MRGS buffer, which could have lead to crashes in some situations.

v3.6.1🔗

  • Fixed a bug of the encryptor of the MRGS buffer, which could have lead to crashes in some situations.

v3.6.0🔗

You must add the following code to your project:

// For iOS versions lower than 9.0
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    [MRGServiceInit application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
    return YES;
}

// For iOS versions higher than 9.0
-(BOOL) application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options {
    [MRGServiceInit application:application openURL:url options:options];
    return YES;
}

v3.5.9🔗

  • Updated external SDK: MyTracker 1.3.2.
  • Updated external SDK: MyTarget 4.2.7 Requires MediaPlayer.framework in the project.
  • Updated external SDK: Chartboost 6.1.1.
  • Inreased the minimum iOS version iOS to 6.0 (from 5.1).

v3.5.8🔗

  • Facebook DeepLink support. FBSDKCoreKit.framework is required in the project.

v3.5.7🔗

  • Updated external SDK: AppsFlyer 3.3.2.

v3.5.6🔗

  • Fix a bug with getting the user's time zone.

v3.5.5🔗

  • Fix a bug with receiving device token for sending push notifications.

v3.5.4🔗

  • Fixed a bug which was in some cases leading to a crash in the bank upon purchase restoration attempt.

v3.5.3🔗

  • Updated external SDK: AppsFlyer 3.3.0.
  • Updated external SDK: Google Analytics 3.13.
  • Updated external SDK: Flurry 7.1.1.
  • Updated external SDK: MyTracker 1.2.0.
  • Updated external SDK: MyTarget 4.1.2.

v3.5.2🔗

  • Updated external SDK: Chartboost SDK 5.4.0.

v3.5.1🔗

  • Updated external SDK: AppsFlyer 2.5.3.15.1.

v3.5.0🔗

  • Adman has been replaced by MyTarget SDK (parameters of showcases and banners for Adman remain unchanged and are used in MyTarget).
  • MRGSAdman, MRGSAdmanDelegate and MRGSAdmanParams are now deprecated, instead use MRGSMyTarget, MRGSMyTargetDelegate and MRGSMyTargetParams.
  • Updated SDK: MyTracker 1.0.20, MyTarget 4.0.6.

!!! Adman library has beem removed from MRGS distribution. Please also remove it from those projects that interacted with Adman through MRGS. !!!


v3.4.24🔗

  • Added validation of MRGS buffer objects.

v3.4.23🔗

  • Ability to specify the path to store the MRGS data buffer in the application code.
  • Updated external SDK: AppsFlyer 2.5.3.14.

v3.4.22🔗

  • Added the ability to send a token for push notifications from the application code (see MRGSNotificationManager).
  • Added support for tracking installations from iAd for iOS 7.1 and higher.

v3.4.21🔗

  • Optimization of GET and POST request parameters.
  • GA initialization has been moved to the main thread (in some cases, initialization not from the main thread led to crashes).
  • Fixed a memory leak during OpenUDID generation.

v3.4.20🔗

  • Added a metric for determining the launch of the application "from scratch" (not including the "First launch").

v3.4.19🔗

  • Added a download indicator on the MyCom Support window during opening.

v3.4.18🔗

  • Updated SDK: Adman 3.3.3.

v3.4.17🔗

  • Updated SDK: MyTracker 1.0.12, Adman 3.3.2.

v3.4.16🔗

  • The MRGServiceInit class had all properties and methods that were marked as deprecated removed.
  • Fix the lack of a method call to complete the initialization of the delegate MRGServerDataDelegate.

v3.4.15🔗

  • Optimization of the MRGS initialization code.
  • Updated SDK: MyTracker 1.0.9.

v3.4.14🔗

  • Disabled the cache for Adman banners (at the request of Adman developers).

v3.4.13🔗

  • Optimization of the launch and return to the app code.

v3.4.12🔗

  • Removed all calls to the CoreLocation.framework classes when the location access setting is turned off.
  • The cache for Adman showcases is turned off (at the request of Adman developers).

v3.4.11🔗

  • Added MRGSAdman delegate methods for the absence of advertising data for the showcase and banner.
  • Updated SDK: Adman 3.2.20

v3.4.10🔗

  • Fixed the check for the presence of optional delegate methods for MRGSAdman.

v3.4.9🔗

  • Fixed parsing of the enable flag values from MRGService.plist (relevant only for the mechanism of setting parameters via plist).

v3.4.8🔗

  • Fixed a bug with setting the localization parameters of the support window.

v3.4.7🔗

  • The hasNotifications parameter has been removed from the MRGSAdman delegate upon finishing the banner data loading.
  • Initialization of Google Conversion Tracking moved to the main stream.
  • Updated SDK: Adman 3.2.19.

v3.4.6🔗

  • Added default value for the title and button of the Adman showcase when using MRGSAdman.
  • On iOS < 6, the Adman showcase is now rendered in native mode (previously via the web).
  • The MRGSMoreGames class has been deleted (its functionality is implemented in MRGSAdman).

v3.4.5🔗

  • Ability to close the fullcreen banner and Adman showcase via code (MRGSAdman class).
  • Ability to free the memory used by a fullcreen banner and Adman showcase via code (MRGSAdman class).

v3.4.4🔗

  • Updated SDK: Google Analytics 3.10.

ATTENTION! In order for Google Analytics to be able to use the idfa value when collecting statistics, add libAdIdAccess.a to the project (located in the same directory as libGoogleAnalyticsServices.a).


v3.4.3🔗

  • Updated SDK: AppsFlyer 2.5.3.11, Flurry 5.4.0.

v3.4.2🔗

  • Support for fullscreen banners from Adman (MRGSAdman class).
  • Obtaining idfa when a user disables ad tracking.
  • Fixed initialization of MRGSApplication parameters (in some cases led to crashes).
  • Updated SDK: Adman 3.2.18.

ATTENTION! Notice the change in Adman settings in MRGService.plist. A new parameter has been added - "fullscreenBannerSlotId". To obtain the values of these parameters, you should contact marketing specialists.


v3.4.1🔗

  • Fixed a bug with clearing the MRGS data buffer after sending data to the server.

v3.4.0🔗

  • Translated the library to ARC.
  • Added a new MRGS initialization mechanism without plist (see MRGServiceParams).
  • The updated MRGSReachability class is returned in the Public API.
  • Added a new class for working with notifications - MRGSNotificationManager.
  • Removed the MRGServiceIniteDelegate protocol.
  • Updated demo.
  • Updated external SDK: MyTracker 1.0.8, Adman 3.2.16.

v3.3.0🔗

  • Removed MRGSLock class from Public API.
  • Fix for crashes related to thread locks (tryLock, applicationWillEnterForeground).
  • Updated external SDK: Chartboost SDK 5.0.3.

v3.2.10🔗

  • All external links in the My.Com Support window now open in Safari.
  • Added the ability to close the My.Com Support window via code.
  • Updated external SDK: MyTracker 1.0.8.

v3.2.9🔗

  • Fixed push notification registration in iOS 8.
  • Updated external SDK: MyTracker 1.0.7.

v3.2.6🔗

  • Fixed an internal crash - [MRGSReachability currentReachabilityStatus].
  • MRGSReachability class moved to Private API.
  • Removed the MRGSPastboard class.

v3.2.5🔗

  • Improved stability on iOS 8.

v3.2.4🔗

  • Updated external SDK: Chartboost SDK 5.0.2, Adman 3.2.11.

v3.2.3🔗

  • Fixed display of the MyComSupport window.

v3.2.2🔗

  • Fixed sending events to Flurry.

v3.2.1🔗

  • Optimized code for MRGS initialization and the work of external SDKs.

v3.2.0🔗

  • Renamed MyComSupportDelegate delegate to MRGSMyComSupportDelegate.
  • Sending of the "online" status to the server when the MRGS data buffer is empty.
  • Updated external SDK: Chartboost SDK 5.0.1.

v3.1.8🔗

  • Added the ability to work with My.Com support service (MRGSMyComSupport class).

v3.1.7🔗

  • Tracking of the first purchase in Google Conversion Tracking.
  • Updated SDK: Chartboost 5.0.

ATTENTION! Notice the change in Google Conversion Tracking settings in MRGService.plist. A new parameter has been added - "firstPurchaseLabel". To obtain the values of these parameters, you should contact marketing specialists.


v3.1.6🔗

  • Transfer all Flurry calls to the main thread.
  • Fix for intercepting push notifications in MRGS when the "pushNotifications" option is disabled.

v3.1.5🔗

  • Added the ability to track effective registration in Google Conversion Tracking.
  • Fix for OpenUDID receiving in some cases leading to application crash.

ATTENTION! Notice the change in Google Conversion Tracking settings in MRGService.plist. The "label" parameter has been renamed to "firstRunLabel" and a new parameter has been added - "effectiveRegLabel". To obtain the values of these parameters, you should contact marketing specialists.


v3.1.4🔗

  • Reduced initialization time for MRGS.
  • Optimization of sending data to the server.

v3.1.3🔗

  • Updated SDK: Flurry 5.3.0, Chartboost 4.5.1, Google Analytics 3.09, Google Conversion Tracking 3.1.1, AppsFlyer 3.5.3.10.

v3.1.2🔗

  • Ability to set MRGS and external SDK initialization parameters in the code (previously only through MRGService.plist).

v3.1.1🔗

  • Added transfer of additional parameters to MyTracker.
  • Updated SDK: MyTracker 1.0.6.

v3.1.0🔗

  • Added MyTracker support.
  • Removed AdmanTracker support.
  • Removed MRGSLogservice class (previously marked as deprecated).
  • Ability to mark the application as "updated".
  • Updated SDK: Adman 3.2.10.

ATTENTION! AdmanTracker functionality is now implemented via MyTracker. Application identifiers remain the same.


v3.0.30🔗

  • Correct sending of advertisingIdentifier at startup.

v3.0.26🔗

  • Updated external SDK: Chartboost 4.5.1, Flurry 5.2.0, GoogleAnalytics 3.08, AppsFlyer 2.5.3.9.

v3.0.23🔗

  • A bug-fix of the lack of callback call when MRGS initialization is completed.

v3.0.22🔗

  • Updated external services: Adman 3.2.9.

v3.0.21🔗

  • Fixed a bug with loading new data for Adman while still the old one was still not processed (for using Adman version 3.2.7 and below).
  • Added header file with version.
  • Updated external services: Adman 3.2.8.

v3.0.19🔗

  • Updated external services: Adman 3.2.4.

v3.0.18🔗

  • Updated external services: Adman 3.2.2.

v3.0.14🔗

  • Updated external services: Flurry 5.0.0.

v3.0.13🔗

  • Reduced the size of the AIR distribution kit.
  • Added support for Adman version 3.2.1.
  • Updated external services: Adman 3.2.1, Chartboost 4.2.

v3.0.12🔗

  • Sending to third-party services only payments verified by the MRGS server (previously cheating payments were included in the statistics).
  • New metric: Cancel payment (by user).

v3.0.10🔗

  • Added the ability to determine the version in the code through the kMRGServiceVersion constant.
  • MRGSMoreGames has a method for closing showcase - (void)close;.
  • Fixed a bug with updating banner ads when the window is open.

v3.0.6🔗

  • MRGSMoreGamesDelegate has a method that informs about the start of shocase data loading.
  • Fixed a bug with the wrong value of the 'ready' flag in MRGSMoreGames.

v3.0.5🔗

  • Removed warnings about duplicate method names.
  • Updated external libraries in the distribution kit: AdMan 3.1.3, Flurry 4.3.0.

v3.0.4🔗

  • New MRGSSocial class. Designed to send social information about the user to MRGS.

v3.0.3🔗

  • Added support for the new AppsFlyer (2.5.3.x) API.
  • Updated external libraries: AppsFlyer (2.5.3.7), AdMan(3.1.2).

v3.0.2🔗

  • Added support for AdMan 3.1.
  • Added support for Google Analytics 3.03c.
  • Added support for x86_64 architecture.
  • Added verification of the correct linking of external libraries (if they are included in the plist).
  • Fixed an interaction bug between MRGS and AdMan during separate initialization and loading of AdMan.
  • Fix a bug when generating crash report in Google Analytics.


Last update: 2025-04-14
Created: 2020-03-02