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
AppsflyerSDKfrom6.15.1to6.15.3.
Bank module:
- Fixed
MRGSBankProduct.initcrash (could occur when trying to buy a product with payment ban enabled)
Didomi module:
- Updated
Didomi SDKfrom2.11.1to2.13.0.
Firebase module:
- Updated
Firebase SDKfrom10.29.0to11.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 SDKdependency, because it can cause some problems on XCode 16.
Analytics module:
- Added a new
waitForTCFfield tomrgs_dma_startevent.
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
Keychainto get the value when reinstalling - Added a new key
MRGSTrackerMediationNetwork.ToponPtefor custom logs.
Analytics module:
- Updated
AppsFlyer SDKfrom6.14.3to6.15.1.
Advertising module:
- Fixed crash when displaying ads from Ironsource 8.x
Didomi module:
- Updated
Didomi SDKfrom2.8.0to2.11.1.
Firebase Module:
- Updated
Firebase SDKfrom10.27.0to10.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
isLoggedInmethod 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 SDKfrom2.5.0to2.8.0.
Firebase module:
- Updated
Firebase SDKfrom10.24.0to10.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.inMRGSModulesManager
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) andusd(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
callbackfor 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 SDKfrom6.9.1to6.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 SDKfrom6.13.1to6.14.3.
Didomi module:
- Updated
Didomi SDKfrom2.2.0to2.5.0.
Firebase module:
- Updated
Firebase SDKfrom10.23.0to10.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
firebaseInstanceIdto MRGS events
Module Didomi:
- Updated
Didomi SDKfrom1.98.0to2.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 new
OnSkippedDueToAttmethod, which must be called if TCF was skipped because user rejected to share IDFA. -
Fixed behavior when MRGSDidomi called
FirebaseAnalytics#setAnalyticsCollectionEnabled. Now this method will be called even if user does not fall under TCF, to avoid blocking Firebase collection data.
Firebase module:
- Added a new
FirebaseAnalytics#setAnalyticsCollectionEnabled(bool)method.
Read more about the new features and how to use them in the documentation.
v6.13.3 Release (2024-04-02)🔗
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#setAnalyticsCollectionEnabledwithtrue, after each call toFirebaseAnalytics#setConsent.
Firebase module:
- Updated
Firebase SDKfrom10.22.0to10.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 SDKfrom10.21.0to10.22.0.
Read more about the new features and how to use them in the documentation.
v6.13.1 Release (2024-03-25)🔗
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.3to6.13.1.
Firebase module:
- Updated Firebase SDK from
10.13.0to10.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.1to6.12.3.
Didomi module:
-
Added a new
MRGSDidomi#shouldUserStatusBeCollectedproperty. -
Update Didomi SDK from
1.95.1to1.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 inMRGService. -
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
authorizationStatusproperty intoMRGSNotificationSettingsto get current permission status of notification.
Showcase module:
- Changed title font from
gothamtoopen-sans.
Read more about the new features and how to use them in the documentation.
v6.9.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#showDelegatefor setting a listener for show MRGS GDPR window events. - Added new property
MRGSGDPR#acceptedAgreementto retrieve information on the last accepted agreement by the user. -
Added new property
MRGSGDPR#supportedLocalizationsto get a list of available localizations from the SDK filemrgsgdpr_langs.json. -
Added new class
MRGSGDPRAgreementcontaining information on the current version of GDPR in the MRGS console. - Added new class
MRGSGDPRAcceptedAgreementcontaining information on the accepted agreement by the user. - Added a new class
MRGSGDPRLocalizationcontaining a different set of properties for localizinghtmlpages in the MRGSGDPR SDK. - Added new class
MRGSGDPRShowParamscontaining a different set of properties for changing the behavior of showing the MRGS GDPR window. - Added new enum
MRGSGDPRShowReasondefining the reasons for showing the MRGS GDPR window. -
Added new class
MRGSGDPRShowResultcontaining the result of showing the MRGS GDPR window. -
Method
MRGSGDPR#withAdvertisingis markeddeprecated. - Method
MRGSGDPR#enableAutomaticCOPPAFlow()is markeddeprecated. - Method
MRGSGDPR#setLocalizationLanguage(tring)is markeddeprecated. - The
MRGSGDPR#getAgreementTime()method is markeddeprecated. UseMRGSGDPR#acceptedAgreement. - The
MRGSGDPR#getAgreedVersion()method is markeddeprecated. UseMRGSGDPR#acceptedAgreement. - The
MRGSGDPR#getSupportedLocalizations()method is markeddeprecated. - The
MRGSGDPR#showDefaultAgreement()method is markeddeprecated. - Method
MRGSGDPR#showAgreementFromFile()is markeddeprecated. - Method
MRGSGDPR#checkIfUserGetsUnderGDPR()is marked asdeprecated. - Method
MRGSGDPR#shouldShowGDPR()is markeddeprecated. - Method
MRGSGDPR#setUserHasAcceptedAgreement()is marked asdeprecated. - The
MRGSGDPRDelegateinterface is marked asdeprecated.
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#cityproperty to get city name.
Analytics module:
- Added
quantityfield to purchases events for AppsFlyer.
Advertising module:
-
Supported extra
click eventsfor AdTech -
Fixed an issue with double calling of
tracking linksin AdTech.
Firebase module:
- Added
quantityto 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
loginmethod 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
ISMRGSCustomAdaptermodule - it's across-promowithDSPforIronSource.
GDPR module:
- Fixed an issue a white background in
WebView.
Analytics module:
- Updated
AppsFlyer SDKfrom6.12.0to6.12.1.
Firebase module:
- Updated
Firebase SDKfrom10.12.0to10.13.0.
Authentication module:
- Updated
VKId SDKfrom0.102.0to0.103.0.
Read more about the new features and how to use them in the documentation.
v6.6.0 Release (2023-07-12)🔗
In this version:
MRGService module:
- Added a new
MRGServiceParams#userAnonymizationproperty for user anonymization in http requests to server.
Analytics module:
- Updated
AppsFlyer SDKfrom6.11.1to6.12.0.
Authentication module:
- Updated
VKId SDKfrom0.101.1to0.102.0. - Updated
LoginWithAmazon SDKfrom3.1.2to3.1.3.
Firebase module:
- Updated
Firebase SDKfrom10.10.0to10.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
AppsFlyerfrom6.10.0to6.11.1.
Authentication module:
- Updated
VKIdfrom0.70.7822777to0.101.1. - Updated
VKfrom1.6.1to1.6.4.
Firebase module:
- Updated
Firebasefrom9.6.0to10.10.0.
MyTracker module:
- Updated
MyTrackerfrom3.0.7to3.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
callbackof closing window wasn't called ifshowWidgetInView:completionHandler:method was used.
Analytics module:
- Added sending test purchases to AppsFlyer. Such purchases will be sent with
revenue0.
Firebase module:
- Added sending test purchases to AppsFlyer. Such purchases will be sent with
revenue0.
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
MRGSIronSourcemodule to auto-collect and send impression-level data of advertising revenue, and auction results to MRGS and AppsFlyer.
MRGService module:
- Added a new
[MRGSTracker trackAdRevenueWithMonetizationNetwork]method to sendimpression-leveldata of advertising revenue to MRGS.
Analytics module:
- Supported sending
impression-leveldata of advertising revenue to AppsFlyer. It can be enabled/disabled in MRGS console of project section.
Authentication module:
- Added a new
[MRGSAuthenticationMyGames#ignoreCachedSessionproperty 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#primaryNetworkandMRGSAuthenticationMyGames#excludedNetworksproperties 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
AppDelegateevents withswizzle- now you don't have to do it calling the same methods ofMRGService. To enable it, addMRGSShouldSwizzlekey withtruevalue intoInfo.plistyour application. -
Fixed an issue of 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 libswon'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 SDKfrom6.9.1to6.10.0. -
Fixed duplication of subscription purchase events (both
af_purchaseandaf_subscribewere sent).
Authentication module:
- Supported alternative
bundleIdfor authentication in MyGames - now can be set a trusted list ofbundleIdin MRGS console, and can be used in your test application to avoid creation a new application in MRGS console. - Added a script to fix an incorrect signature of
bundlewith resources (when VK module was used with XCode 14+ and Cocoapods below1.12.0). The script patches Pod file.
Firebase module:
-
Added a new
[MRGSFirebase appInstanceID]method to getappInstanceIdfromFirebase SDK. -
Updated
Firebase SDKfrom8.15.0to9.6.0.
MyTracker module:
- Updated
MyTracker SDKfrom3.0.6to3.0.7.
Read more about the new features and how to use them in the documentation.
v6.0.0 Release (2023-02-10)🔗
In this version:
MRGService module:
- Added support for method for sending a new format of unified logs - accepts event name and a dictionary with any keys and values
- Added method for setting default values that will enrich all logs sent via the new method to
MRGSTracker - Added support for agreement acceptance event in
MRGSTracker(e.g. when a user accepts a subscription agreement in California) - Added support for new
MRGSTrackerProfileclass to send new format profiles to unified logs
Bank module:
- Added sending
appsflyerIdfor 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
automaticPaymentTrackingflag 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
automaticPaymentTrackingflag totrueby default - Removed
deprecatedfunctionality. - Fixed .pcm: No such file or directory errors when building the application
Support module:
- Added a new class
MRGSMyGamesSupportwith 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 asDeprecated
Analytics module:
- all events will now add additional mrgs userId and deviceId values.
- Changed default behavior for sending userId and deviceId - now userId is sent in AppsFlyer's CUID by default, and using the
useDeviceIdAsUserIdflag you can enable the old behavior for sending deviceId. Read more here - The MRGSAppsFlyerParams config has been moved to the MRGSAnalytics module.
- Updated
Appsflyer SDKfrom6.8.0to6.9.1.
Firebase module:
- Added method
setUserProperties
Authentication module:
- The
MRGSAuthenticationFacebookauthorization has been moved into its own moduleMRGSAuthenticationFacebookModule. - The
MRGSAuthenticationAmazonauthorization has been moved into its own moduleMRGSAuthenticationAmazonModule. - 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_levelfield 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. TheMRGSMyTrackerParamsclass has moved into the MRGSMyTracker module. - Work with VK authorization moved to a separate module
MRGSAuthenticaitonVK. TheMRGSVKontakteParamsclass has moved to the MRGSAuthenticationVK module. - Changed all package names from
ru.mail.mrgs..togames.my.mrgs.. - removed references to
VK/MyTrackerfrom modules and moved them to the corresponding new modules
MRGService module:
- The
MRGSVKIdParamsclass has moved to the MRGSAuthenticationVKId module. - Property
MRGSMyGamesParams#vkPlayModeremoved. UseMRGSMyGamesParams#customHost.
Support module:
- Enum entity
kMRGSMyGamesSupportCredentialSocialNetworkVkontakterenamed.
Authentication module:
- Enum
MRGSAuthenticationNetworkremoved, replaced withstring enum(string constants)MRGSAuthenticationNetworkcontaining 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.comto 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
appsflyerIdparameter even if the MRGSAnalytics module is not connected, i.e. the AppsFlyer SDK is integrated separately.
Read more about the new features and how to use them in the documentation.
v5.3.0 Release (2022-10-14)🔗
In this version:
Analytics module:
- Added ability to automatically set UserID in AppsFlyer instead of deviceId. See AppsFlyer connection documentation for details.
- Added ability to delay AppsFlyer start until UserID is set. See AppsFlyer connection documentation for details.
- Added sending of cumulative session events (10/30/60/90/180 minutes) for new users. For details, see in the AppsFlyer connection documentation.
- Added enrichment of all requests in MRGS with the AppsFlyerID field.
Read more about the new features and how to use them in the documentation.
v5.2.0 Release (2022-10-03)🔗
In this version:
Authentication module:
-
Added a
MRGSMyGamesParams#useDevEnvironmentproperty to enable/disable DEV environment for MyGames/VKPlay authentication. Learn more. -
Supported a new authorization method via VKID (superappkit SDK). Learn more.
Bank module:
- Supported a new authorization method
MRGSBank#openSubscriptionManager()to open Subscription Manager. Learn more.
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#shouldHideBrandOccurrencesto hide all brand mentions MY.GAMES when logging in viaIMRGSAuthenticationMyGames. Learn more - Added new property
MRGSMyGamesParams#vkPlayModeto 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|MyGamesshowcase 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
nullabilityandreadonlynotations - Fixed access levels to fields and classes
- Changed access to singleton in Swift - moved
sharedInstance()method tosharedfield. - 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
-
MRGServiceInitclass renamed toMRGService -
MRGServiceWithAppId:andSecret:andDelegatemethod changed tostartWithAppId:secret:delegate - All fields in external SDK settings are
readonly, use constructors - Removed
MRGSLogS:method - All methods for sending metrics to
MRGSMetricshave been renamed to analogues without the prefixandbefore the parameter -
MRGSTrackerEventclass field type changed frominttoNSInteger - Renamed
MRGSDevice.erraseUDIDInfoFromDevice -> MRGSDevice.eraseUDIDInfoFromDevicemethod
Analytics module:
- Removed support for Flurry, Chartboost, GoogleConversion (classes
MRGSFlurry, MRGSFlurryParams, MRGSChartboostParams, MRGSGoogleConversionTrackingParams, fieldsflurry, flurryParams, chartboostParams, googleConversionParams)
Authentication module
- Changed error domains from
com.my.MRGSAuthentication.<network>togames.my.mrgs.authentication.<network>
Bank module:
-
MRGSBankProduct.skProductmarked asnullable -
MRGSBankPurchaseResult.productIdentifiermarked asnonnull -
MRGSBankPurchaseRequest.productIdentifiermarked asreadonly, 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:
Notifications module:
-
Added a new delegate method
shouldPresentNotificationthat 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: -
MRGSNotificationCenterSupportedflag removed fromMRGServiceParams -
Renamed flag
deferedMRGSNotificationCenterStart -> deferredMRGSNotificationCenterStartinMRGServiceParams -
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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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 numberandbuildto the server MRGS for VKPay payments.
Removing deprecated methods and properties
We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):
- Old MRGSBank API (
loadProductsWithTypesFromAppleServer,addPayment,MRGSBankDelegate,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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.5to3.0.6. Learn more. - Added partial hiding of all secrets and keys in Integration Check logs
Analytics module:
- Updated AppsFlyer SDK from
6.4.2to6.5.2. Learn more. - Added additional sending of payment data such as:
af_content_id(sku of a product) andaf_order_id(orderId from a receipt).
Authentication module:
- Added a new
MRGSAuthentication#getAccessToken:^(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#getAuthInfomethod. - 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,hasPendingPaymentetc.) - 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#resetModulemethod 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,hasPendingPaymentetc.) - 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:
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,hasPendingPaymentetc.) - 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.2to3.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.5to6.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.secretmethod, method, which was used for the old widget.
Removing deprecated methods and properties
We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):
- Old MRGSBank API (
loadProductsWithTypesFromAppleServer,addPayment,MRGSBankDelegate,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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
userIdis 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,hasPendingPaymentetc.) - 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:
- Added support for Facebook Login For Gaming.
- Updated FB graph api to version 11.0.
Removing deprecated methods and properties
We plan to remove methods and properties that have been marked as deprecated/obsolete. In order for you to have time to prepare, we inform about this in advance. Below are the approximate time frames in which we plan to delete (in case you need more time, or have other requests, please contact us):
- Old MRGSBank API (
loadProductsWithTypesFromAppleServer,addPayment,MRGSBankDelegate,hasPendingPaymentetc.) - 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,hasPendingPaymentetc.) - 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
developerPayloadin notifications received from the server, now it is not in theparamsfield, but in the root of the dictionary (data for compatibility is also left in theparamsfield).
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,hasPendingPaymentetc.) - 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
Japaneselanguage. - Fixed a bug with text transfer for the
Koreanlanguage inWebView. - Added animation of "clicking" on the
GDPRacceptance button in theWebView. - Changed behavior of displaying
GDPRinWebView. NowGDPRis shown by default without Ad permission. - Fixed a bug that allows the server to downgrade the
GRDPversion on the client. Now the version can only be upgraded. - 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,hasPendingPaymentetc.) - 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,
developerPayloadwill 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,hasPendingPaymentetc.) - 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.plistfile 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
isNotificationsEnabledWithCompletionmethod - now it will return true when at least banners/display in the notification center/numbers on the icon/trial mode is enabled.
Authentication module:
- 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,hasPendingPaymentetc.) - 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
dontForwardReportedPaymentsflag - now, when this flag is enabled, payments made via MRGS will not be sent to AppsFlyer either.
Read more about the new features and how to use them in the documentation.
v4.3.3🔗
In this version:
Analytics module:
- Fixed AppsFlyer bug when working with the
waitForATTUserAuthorizationflag - now it works correctly - Fixed AppsFlyer bug - now working with SkAdNetwork via AppsFlyer will be correct (before, postbacks could come with conversionValue == 0)
- Updated
AppsFlyerSDK from6.2.4to6.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
waitForATTUserAuthorizationflag for AppsFlyer. Allows you to set the time in seconds that Appsflyer SDK should wait before sending an install/launch event. It is necessary in order to have time to get the user's IDFA on iOS 14+ during the first installation for subsequent attribution. Read more in documentation
MyGamesSupport module:
- 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
showTrackingAuthorizationDialogOnAlliOSVersionsto 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
MRGSMetricsto AppsFlyer - flagdontForwardReportedPayments. See documentation for details. - Added ability to forward sending events from
MRGSMetrics(sent via[MRGSMetrics addMetric]), toAppsFlyer- flagforwardMetrics. See documentation for details. - Updated
AppsFlyer SDKfrom6.1.4to6.2.4.
iOS payments via MRGSMetrics
Now, by default, payments sent to MRGS via MRGSMetrics will be sent to AppsFlyer. To disable this behavior, use the dontForwardReportedPayments flag.
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
widgetThemefield. The available themes are light/dark/dark orange/device-theme. - Added ability to set the localization language of the new widget using the
localizationLangugefield. - Added ability to download files from support widget 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.plistinsideVKSdkResources.bundle, due to which there could be errors when exportingipafrom archivexcarchive.
Read more about the new features and how to use them in the documentation.
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
MyTrackerSDK from2.1.2to2.2.1.
Authentication module:
- Updated
VKSDK from1.4.6to1.6.1. - Updated
AmazonSDK to3.1.1.
Analytics module:
- Added the
customerUserIDproperty for AppsFlyer to set its own customerUserID instead of the default one set by MRGS (we set this parameter by default to IDFA or Device ID). - Updated
AppsFlyerSDK from6.0.7to6.1.4.
Billing module:
- Fixed bug with loss of
developerPayloadwhen 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
FirebaseAnalyticsSDK from6.9.0to7.4.0. Important - now the Firebase module will only work with XCode 12+.
GDPR module:
- Important GDPR fix for projects that set the
onlyEU = trueflag. We no longer check the automatic acceptance of the GDPR if the user does not fall under it, now we will show the agreement only after the user enters the EU.
Notifications module:
- Added property
ApplicationIconBadgeNumberto 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
productIdentifierfield to theMRGSBankPurchaseResultobject of the new bank delegate. This field contains the identifier of the purchasing/purchased product, and will always be non-empty, unlike theproductfield, which can be 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
getAppsFlyerIDmethod 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
getAgreementVersionmethod for transition of projects to the correct flow of work with GDPR. The correct flow is described in the documentation - All methods for working with the GDPR that accept the version of the agreement are marked as deprecated. Added new methods similar to the old ones, but without a version of the convention. Please transfer the work to them.
- Improved statistics in GDPR, added statistics for showing agreements, to count those users who did not agree with GDPR and left the application.
- Removed
-
Fixes:
- Fixed behavior of methods for CCPA - now getting region does not depend on called GDPR methods
- Fixed 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
lookupConstantmethod and theISMintegralAdaptermethod 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
VALUEfield 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
showFeedbackmethod to show the feedback window in MyGamesSupport (earlier it could be opened using a category, but with a separate method it will be easier and more reliable to open it) More details here
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
MRGSBankProductsRequesthas appeared in which using theaddmethods you can add a product or an array of products of a certain type (product types have now become an enumMRGSBankProductType). This request is then passed to the newrequestProductsInfomethod. - There is a new class
MRGSBankPurchaseRequestthat allows you to more precisely configure parameters for starting a payment, such as discount identifier, quantity (for iOS), parameter for" Ask To Buy "flow simulation in Sandbox on iOS, and more. This class has convenient constructors for creating. - Changed purchase start methods, now they have the signature
purchaseProduct, and accept either the product ID, or the ID and payload, or the new classMRGSBankPurchaseRequest. - We changed the naming of the methods for
AppStore Promotion, just adding the lineAppStorePromotionPaymentto them, for better clarity of the purpose of the methods. - Removed the
autoNotifyMRGSAboutConsumeparameter, because this is not very correct, you need to call the method when the purchase was delivered to the user, and not automatically after the purchase (affects only games without a server)
Separately about the delegate:
- Added a completely new delegate
MRGSBankDelegateEx, now it returns maximum information about the purchase or download of products. - To load products, there are now two callbacks -
didReceiveProductsResponceanddidReceiveProductsError, which receive an object of the new classMRGSBankProductsResponce, containing information about valid products of typeMRGSBankProduct, as well as an array of identifiers of invalid products, and an error object in case if it happened. - Added 4 types of callbacks for transaction results, namely
didReceiveSucessfullPurchase,didReceiveFailedPurchase,didReceivePendingPurchase,didReceiveCancelledPurchase. Each of them accepts an object of theMRGSBankPurchaseResultclass, describing the result of the purchase, namely, the transaction (MRGSBankTransaction), product (MRGSBankTransaction), payload and an error with a code and description, if any.MRGSBankTransactiondescribes the transaction in detail, includes an identifier, additional information about the transaction for each platform (whether it was restored, date, original transaction, selected discounts, and more). 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
MRGSAuthenticationGameCenterincredentials.accessToken.optionalParamsnow 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
defferedMRGSNotificationCenterStartfor 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 theenableMRGSNotificationsmethod, and after that on all subsequent launches we ourselves will start our notification service. (Previously, you had to call themanuallyStartCentermethod yourself when showing the popup, and at each subsequent launch, now we do it ourselves, you just need to call the method only once at the right time). Thus, working with deferred pop-up display has become very easy to implement. It is important to note that when switching to work with this flag, you need to consider that if you are updating from version iOS 4.0.3 and higher, then everything will go seamlessly, otherwise for already playing users you will need to call the enableMRGSNotifications method at least once. - Added the ability to turn on and off different types of notifications on the user's device. So, you can disable local, server notifications, or all at once. After disconnection, notifications of a specific type will stop coming to the user, for example, for push notifications, the token will be invalidated on the server, and for local ones, the queue will be cleared and new ones will be prohibited. This functionality is useful for projects where in the settings there is a switch on the availability of notifications.
In addition, there have been some 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
checkIntegrationmethod has been fixed, now inside it has become asynchronous, and more accurately identifies errors associated with incorrect configuration of appId / Secret and network requests. - Added automatic sending of data on the first payment made by the user in Firebase
- Added the ability to transfer developerPayload to the
proceedPendingPaymentmethod (start purchasing a product from the AppStore page) - The
checkIntegrationmethod again returns void, not string, but for projects that want to get the results of integration checks not only in the log, but also as a string, we added another variation of the method with the callback. - Improved 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:
- 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
localizationLanguageproperty 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
MRGSAppsFlyerDelegatefor 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
purchaseevent 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,setForcingPeriodandflush.
Other improvements:
- Now MRGS always uses the HTTPS protocol for data transfer. You can remove the flags
NSAppTransportSecurity->NSAllowsArbitraryLoads = trueand 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.gamesis 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
automaticPaymentTrackingflag 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}
- The
MRGSBank - sendPaymentInfoForProduct:transaction:method moved to theMRGSMetricsclass, meaning the it is enough to replace[[MRGSBank sharedInstance] sendPaymentInfo...with[MRGSAdvertisingManager sharedInstance] - The
MRGSAdvertisingManagerclass is now used to access advertising objects, the signatures remain the same. Thus, you need to replace[MRGServiceInit sharedInstance]with[MRGSAdvertisingManager sharedInstance] - The
MRGSAnalyticsclass is now used to access the external SDK API - The methods required to track notifications
didFinishLaunchingWithOptions: and startObservingWithLaunchingOptions:are replaced by a single[MRGServiceInit application: didFinishLaunchingWithOptions:]; - Each framework that has resources now has a separate bundle with a corresponding name instead of a single shared resource bundle.
- We recommend adding the
MRServiceKit.hfile 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:withVersionmethod is considered deprecated, since theversionparameter could cause a conflict with theagreementVersionproperty. Added theshowAgreementAtViewController: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
backgroundColorForWebViewproperty. 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
MRGSNotificationCenterclass 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
getUserSettingsWithCompletionHandlermethod (will return an MRGSNotificationSettings object) orisNotificationsEnabledWithCompletion(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:
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
hasPendingPaymentandproceedPendingPaymentmethods need to be called each time the application is maximized.
v3.8.41🔗
- Added a function for simplifying the information transfer from Unity:
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:
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 creatingMRGSMyTrackerParamsyou need to setMRGSMyTrackerParams.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 thepaymentSuccessful:answer:withDeveloperPayload:method for a class that implements the MRGSBankDelegate protocol. This method is marked as@optionaland 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:
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 theMRGSLocalNotificationDelegateprotocol. - 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 thehandleClick: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:didReceiveShowcaseDataAndFoundNotificationsmethod has the signaturemrgsMyTarget:didReceiveShowcaseDataAndFoundNotifications:withAppWallAdand in the last parameter receivesNSArray<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.
Created: 2020-03-02