Migration guide🔗
This document contains instructions for updating MRGS SDK, in the case when you need to make any changes to the code or project settings.
4.x.x → 6.0.0🔗
MRGSAuthentication🔗
- Class
MRGSAuthenticationVKontaktemoved to his own MRGSAuthenticationVK module. -
Class
MRGSAuthenticationGoogleGamesrenamed in toMRGSAuthenticationGoogleSignInand moved to his own MRGSAuthenticationGoogleSignIn module. -
Enum
MRGSAuthenticationNetworkremoved. - Enum
MRGSAuthenticationNetwork#Unknownremoved. - Enum
MRGSAuthenticationNetwork#Amazonremoved. UseMRGSAuthenticationAmazon#SocialIDinstead. - Enum
MRGSAuthenticationNetwork#AppleGameCenterremoved. UseMRGSAuthenticationAppleGameCenter#SocialIDinstead. - Enum
MRGSAuthenticationNetwork#Facebookremoved. UseMRGSAuthenticationFacebook#SocialIDinstead. - Enum
MRGSAuthenticationNetwork#GoogleGamesremoved. UseMRGSAuthenticationGoogleSignIn#SocialIDinstead. - Enum
MRGSAuthenticationNetwork#MyGamesremoved. UseMRGSAuthenticationMyGames#SocialIDinstead. - Enum
MRGSAuthenticationNetwork#Plariumremoved. UseMRGSAuthenticationPlarium#SocialIDinstead. - Enum
MRGSAuthenticationNetwork#SignInWithAppleremoved. UseMRGSAuthenticationSignInWithApple#SocialIDinstead. - Enum
MRGSAuthenticationNetwork#VKontakteremoved. UseMRGSAuthenticationVKontakte#SocialIDinstead. -
Enum
MRGSAuthenticationNetwork#VKIdremoved. UseMRGSAuthenticationVKId#SocialIDinstead. -
Enum
MRGSAuthenticationScoperemoved. - Enum
MRGSAuthenticationScope#AmazonPostalCoderemoved. UseMRGSAuthenticationAmazon.Scopes#PostalCodeinstead. -
Enum
MRGSAuthenticationScope#AmazonProfileremoved. UseMRGSAuthenticationAmazon.Scopes#Profileinstead. -
Enum
MRGSAuthenticationScope#FacebookBirthdayremoved. UseMRGSAuthenticationFacebook.Scopes#UserBirthdayinstead. - Enum
MRGSAuthenticationScope#FacebookEmailremoved. UseMRGSAuthenticationFacebook.Scopes#Emailinstead. - Enum
MRGSAuthenticationScope#FacebookFriendsremoved. UseMRGSAuthenticationFacebook.Scopes#UserFriendsinstead. - Enum
MRGSAuthenticationScope#FacebookGenderremoved. UseMRGSAuthenticationFacebook.Scopes#UserGenderinstead. - Enum
MRGSAuthenticationScope#FacebookHometownremoved. UseMRGSAuthenticationFacebook.Scopes#UserHometowninstead. -
Enum
MRGSAuthenticationScope#FacebookLocationremoved. UseMRGSAuthenticationFacebook.Scopes#UserLocationinstead. -
Enum
MRGSAuthenticationScope#SignInWithAppleEmailremoved. UseMRGSAuthenticationSignInWithApple.Scopes#Emailinstead. -
Enum
MRGSAuthenticationScope#SignInWithAppleFullNameremoved. UseMRGSAuthenticationSignInWithApple.Scopes#FullNameinstead. -
Enum
MRGSAuthenticationScope#VKontakteEmailremoved. UseMRGSAuthenticationVKontakte.Scopes#Emailinstead. - Enum
MRGSAuthenticationScope#VKontakteFriendsremoved. UseMRGSAuthenticationVKontakte.Scopes#Friendsinstead. - Enum
MRGSAuthenticationScope#VKontakteGroupsremoved. UseMRGSAuthenticationVKontakte.Scopes#Groupsinstead. - Enum
MRGSAuthenticationScope#VKontakteMessagesremoved. UseMRGSAuthenticationVKontakte.Scopes#Messagesinstead. - Enum
MRGSAuthenticationScope#VKontakteNotificationsremoved. UseMRGSAuthenticationVKontakte.Scopes#Notificationsinstead. - Enum
MRGSAuthenticationScope#VKontaktePhotosremoved. UseMRGSAuthenticationVKontakte.Scopes#Photosinstead. - Enum
MRGSAuthenticationScope#VKontakteStatusremoved. UseMRGSAuthenticationVKontakte.Scopes#Statusinstead. -
Enum
MRGSAuthenticationScope#VKontakteWallremoved. UseMRGSAuthenticationVKontakte.Scopes#Wallinstead. -
Property
MRGSAuthenticationAchievement#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. - Property
MRGSAuthenticationLeaderboard#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. - Property
MRGSAuthenticationLeaderboardScore#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. - Property
MRGSAuthenticationInvite#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. -
Property
MRGSAuthenticationPost#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. -
Property
MRGSAuthenticationAccessToken#AuthorizedScopesnow returnsList<string>insteadList<MRGSAuthenticationScope>. -
Property
MRGSAuthenticationAccessToken#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. -
Property
MRGSAuthenticationCredential#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. -
Property
MRGSAuthenticationUser#SocialIdnow returnsstringinsteadMRGSAuthenticationNetwork. -
Method
MRGSAuthenticationPost#HasPermissionsnow requiresList<string>insteadList<MRGSAuthenticationScope>. - Method
MRGSAuthentication#Login(List<MRGSAuthenticationScope>, Action<MRGSAuthenticationCredential, MRGSError>)changed onMRGSAuthentication#Login(List<string>, Action<MRGSAuthenticationCredential, MRGSError>). - Method
MRGSAuthentication#SocialId()now returnsstringinsteadMRGSAuthenticationNetwork.
MRGService🔗
-
MRGSMyTracker was moved to his own MRGSMyTracker module and no more provides by MRGService modules.
-
Class
MRGSMyTrackerParamsmoved into MRGSMyTracker module. - Class
MRGSVKontakteParamsmoved into MRGSAuthenticationVK module. -
Class
MRGSVKIdParamsmoved into MRGSAuthenticationVKId module. -
Enum
BankSubstitutionremoved. UseMRGSMyGamesBank#UseAsMainBank()andMRGSVKPay#UseAsMainBank()instead. -
Property
MRGSMyGamesParams#VKPlayModeremoved. UseMRGSMyGamesParams#CustomHostinstead. -
Added a new method for initialization
MRGService#Initialize(MRGServiceParams, IEnumerable<MRGSExternalSDKSettings>, IMRGSServerDataDelegate).var serviceParams = new MRGServiceParams("xxxxxx", "xxxxxx"); var trackerParams = new MRGSMyTrackerParams("xxxxxx") { Debug = true, ForwardMetrics = true, TrackingLocationEnabled = true }; var vkParams = new MRGSVKontakteParams("xxxxxxx"); var vkIdParams = new MRGSVKIdParams("xxxxx", "xxxxxxxxxxx") { Debug = true }; MRGSExternalSDKSettings[] additionalParams = { trackerParams, vkParams, vkIdParams }; MRGService.Instance.Initialize(serviceParams, sdkParams, additionalParams, this);
MRGSSupport🔗
- Enum
MRGSMyGamesSupportCredential.SocialNetwork#Vkontakteremoved.
3.x.x → 4.0.0🔗
MRGSAdvertising🔗
-
Changed delegate
MRGSAdvertising.MRGSAdvertisingLoadDelegate: -
Changed delegate
MRGSAdvertising.MRGSAdvertisingShowDelegate: -
All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
MRGSAnalytics🔗
-
Changed delegate
MRGSAppsFlyerDelegate: -
All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:
MRGSAuthentication🔗
-
All
.Instance(getInstance()) methods of social classes of socials now returns interface:MRGSAuthenticationAmazon.Instance returns IMRGSAuthenticationAmazon MRGSAuthenticationAppleGameCenter.Instance returns IMRGSAuthenticationAppleGameCenter MRGSAuthenticationFacebook.Instance returns IMRGSAuthenticationFacebook MRGSAuthenticationGoogleGames.Instance returns IMRGSAuthenticationGoogleGames MRGSAuthenticationMyGames.Instance returns IMRGSAuthenticationMyGames MRGSAuthenticationPlarium.Instance returns IMRGSAuthenticationPlarium MRGSAuthenticationSignInWithApple.Instance returns IMRGSAuthenticationSignInWithApple MRGSAuthenticationVKontakte.Instance returns IMRGSAuthenticationVKontakte -
Changed some values
MRGSAuthenticationScope: -
Changed enum
MRGSAuthenticationAchievementState->MRGSAuthenticationAchievement.State - Changed delegate
IMRGSAuthenticationDelegate:onAuthenticationProviderDidLogoutUser->OnAuthenticationProviderDidLogoutUser - Added error codes and domains:
MRGSAuthenticationErrorCodeandMRGSAuthenticationErrorDomain - Removed
Obsoletemethods and classes - All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:MRGSAuthenticationAmazon.getInstance().method() -> MRGSAuthenticationAmazon.Instance.Method() MRGSAuthenticationAppleGameCenter.getInstance().method() -> MRGSAuthenticationAppleGameCenter.Instance.Method() MRGSAuthenticationFacebook.getInstance().method() -> MRGSAuthenticationFacebook.Instance.Method() MRGSAuthenticationGoogleGames.getInstance().method() -> MRGSAuthenticationGoogleGames.Instance.Method() MRGSAuthenticationMyGames.getInstance().method() -> MRGSAuthenticationMyGames.Instance.Method() MRGSAuthenticationPlarium.getInstance().method() -> MRGSAuthenticationPlarium.Instance.Method() MRGSAuthenticationSignInWithApple.getInstance().method() -> MRGSAuthenticationSignInWithApple.Instance.Method() MRGSAuthenticationVKontakte.getInstance().method() -> MRGSAuthenticationVKontakte.Instance.Method()
MRGSBank🔗
- Class
MRGSBankProductsResponcerenamed toMRGSBankProductsResponse -
Interface
MRGSBankDelegateExand propertyMRGSBank.getInstance#DelegateExtendedmarked asObsolete, useIMRGSBankDelegateandMRGSBank.Instance.Delegateinstead:MRGSBankDelegateEx -> IMRGSBankDelegate MRGSBank.getInstance.DelegateExtended -> MRGSBank.Instance.Delegate onReceiveProductsResponce -> OnReceiveProductsResponse onReceiveProductsError -> OnReceiveProductsError onReceiveSucessfullPurchase -> OnReceiveSuccessfulPurchase onReceiveFailedPurchase -> OnReceiveFailedPurchase onReceivePendingPurchase -> OnReceivePendingPurchase onReceiveCancelledPurchase -> OnReceiveCancelledPurchase onTransactionsRestoreCompleted -> OnTransactionsRestoreCompleted -
Changed enum
MRGSSubscriptionPeriod.MRGSSubscriptionPeriodUnit->MRGSSubscriptionPeriod.PeriodUnit: -
Changed enum
MRGSBankProductDiscount.MRGSDiscountPaymentMode->MRGSBankProductDiscount.DiscountPaymentMode: -
Changed enum
MRGSBankProductDiscount.MRGSDiscountType->MRGSBankProductDiscount.DiscountType: -
Removed
Obsoletemethods and classes - All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:
MRGService🔗
- Class
MRGSFlurryParamsremoved. - Class
MRGSChartboostParamsremoved. - Class
MRGSGoogleConversionTrackingParamsremoved. - Interface
MRGSServerDataDelegaterenamed toIMRGSServerDataDelegate - Property
MRGSExtraOptionsiOS#MRGSNotificationCenterSupportedremoved - Property
MRGSExternalSDKParams#FlurryParamsremoved - Property
MRGSExternalSDKParams#ChartboostParamsremoved - Property
MRGSExternalSDKParams#GoogleConversionTrackingParamsremoved - Method
MRGSLog#addPaymentLog(string)removed. - The integration check now returns an
MRGSIntegrationCheckResult. -
Added some async/await methods for
MRGSDevice: -
Added
.Throwable()extension for async/await methods: -
Removed
Obsoletemethods and classes - All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:MRGService.getInstance().method() -> MRGService.Instance.Method() MRGSDevice.getInstance().method() -> MRGSDevice.Instance.Method() MRGSLog.getInstance().method() -> MRGSLog.Instance.Method() MRGSMetrics.getInstance().method() -> MRGSMetrics.Instance.Method() MRGSMyTracker.getInstance().method() -> MRGSMyTracker.Instance.Method() MRGSUsers.getInstance().method() -> MRGSUsers.Instance.Method() -
Now, for the new initialization of MRGService#Initialize for Android, it requires to set MRGSPlatform which similar to the platform from MRGS console of your project.
MRGSFirebase🔗
- All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:
MRGSGameCenter🔗
- All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
- Interface
MRGSGameCenterClientDelegateremoved. UseIMRGSGameCenterClientDelegateinstead. -
Changed access to singleton -
getInstancemethod moved to propertyInstance:
MRGSGDPR🔗
- Interface
MRGSCOPPA.IMRGSCOPPADelegaterenamed toMRGSCOPPA.IShowDelegate - Interface
MRGSCOPPA.IMRGSGDPRDelegaterenamed toMRGSCOPPA.IShowDelegate - Removed
Obsoletemethods and classes - All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
- Enum
MRGSCCPAUserPreference.MRGSCCPAUserPreferenceSharerenamed toMRGSCCPAUserPreference.Share - Enum
MRGSCCPAUserPreference.MRGSCCPAUserPreferenceNotSharingrenamed toMRGSCCPAUserPreference.NotSharing -
Changed access to singleton -
getInstancemethod moved to propertyInstance:
MRGSNotifications🔗
- Property
MRGServiceParams#MRGSNotificationCenterSupportedremoved - Property
MRGServiceParams#DefferedMRGSNotificationCenterStartrenamed toMRGServiceParams#DeferredMRGSNotificationCenterStart -
Changed enum
LockScreenVisibility: -
Changed enum
MRGSNotificationTriggerType->MRGSNotificationTrigger.Type: -
Removed
Obsoletemethods and classes - All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:
MRGSRecommendations🔗
- Removed
Obsoletemethods and classes - All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:
MRGSShowcase🔗
- Method of
IMRGSShowcaseDelegate#didReceiveNewShowcaseContent(int)interface renamed toIMRGSShowcaseDelegate#OnReceiveNewShowcaseContent(int) - All methods starting with a lowercase letter and not corresponding to "naming conventions" are marked as Obsolete and similar capitalized ones corresponding to conventions were added.
- The private part is hidden, the file structure has been changed.
-
Changed access to singleton -
getInstancemethod moved to propertyInstance:
2.0.x - 2.1.0🔗
The main change - MRGService Android now depends on the androidx series libraries, instead of support-library.
MRGSUnityLegacy🔗
If you are using the Legacy version of the plugin, edit the mainTemplate.gradle file.
Remove old dependencies such as:
'com.my.tracker:mytracker-sdk:1.5.8'
'com.google.android.gms:play-services-ads-identifier:16.0.0'
'com.android.support:support-v4:28.0.0'
'com.android.support:recyclerview-v7:28.0.0'
'com.android.support:appcompat-v7:28.0.0'
'com.android.support:support-vector-drawable:28.0.0'
'com.android.support:multidex:1.0.3'
'com.google.firebase:firebase-core:16.0.9'
'com.google.firebase:firebase-messaging:18.0.0'
Add new ones:
'com.my.tracker:mytracker-sdk:1.5.12'
'androidx.appcompat:appcompat:1.1.0'
'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
'androidx.recyclerview:recyclerview:1.0.0'
'androidx.vectordrawable:vectordrawable:1.1.0'
'androidx.multidex:multidex:2.0.0'
'com.google.firebase:firebase-analytics:17.2.1'
'com.google.firebase:firebase-messaging:20.0.0'
You also need to replace in mainTemplate.gradle classpath 'com.android.tools.build:gradle:3.2.0' with classpath 'com.android.tools.build:gradle:3.4.0'.
MRGSUnity and MRGSBaseUnity🔗
If you use MRGService Unity with the Google Play Services Resolver support, then the dependencies will be updated automatically. To make sure, you can delete all aar and jar files from the Assets/Plugins/Android directory and call Assets -> Play Services Resolver -> Android -> Force Resolve.
1.0.49 - 2.0.0🔗
In version 2.0.0, the MRGS plugin was split into modules (separate unitypackages), which are responsible for the individual MRGS components. To avoid problems, when upgrading from 1.0.Ñ… to 2.0.0 we recommend that you download the version without modules (MRGServiceUnityLegacy.zip archive).
If you decided to upgrade to the version with modules, you can import all of the .unitypackage files from the MRGServiceUnity.zip archive This build includes the Google Play Services Resolver. You need to either disable it or remove old dependencies. To do this, edit the mainTemplate.gradle file and remove the following dependencies from the dependencies section:
compile 'com.my.tracker:mytracker-sdk:1.5.8'
compile 'com.google.android.gms:play-services-ads-identifier:16.0.0'
compile 'com.android.billingclient:billing:2.0.3'
compile 'com.android.support:support-v4:28.0.0'
compile 'com.android.support:recyclerview-v7:28.0.0'
compile 'com.android.support:appcompat-v7:28.0.0'
compile 'com.android.support:support-vector-drawable:28.0.0'
compile 'com.google.firebase:firebase-core:16.0.9'
compile 'com.google.firebase:firebase-messaging:18.0.0'
If you have the MRGServiceResources.bundle file in the Assets/Plugins/MRGS/iOS/Frameworks/ directory, you need to delete it.
1.0.48 - 1.0.49🔗
In version 1.0.49, there was a big change in the Android MRGS library. It was updated to version 4.0 and is now a set of 9 aar files:
MRGSAdvertising.aar
MRGSAnalytics.aar
MRGSBilling.aar
MRGSGDPR.aar
MRGSGameCenter.aar
MRGSNotifications.aar
MRGSSupport.aar
MRGService.aar
- Before importing a new version of the MRGSUnity.unitypackage, delete the old aar files in the Assets/Plugins/MRGS/Android directory
-
After importing all the files, pay attention to the mainTemplate.gradle template.
-
Dependencies removed:
'com.google.android.gms:play-services-analytics:16.0.3'
'com.google.android.gms:play-services-gcm:15.0.1'
- Dependencies updated:
'com.android.support:multidex:1.0.1' -> 'com.android.support:multidex:1.0.3'
'com.android.support:support-v4:27.1.1' -> 'com.android.support:support-v4:28.0.0'
'com.android.support:appcompat-v7:27.1.1' -> 'com.android.support:appcompat-v7:28.0.0'
'com.android.support:recyclerview-v7:27.1.1' -> 'com.android.support:recyclerview-v7:28.0.0'
'com.google.firebase:firebase-core:16.0.3' -> 'com.google.firebase:firebase-core:16.0.9'
'com.google.firebase:firebase-messaging:17.3.0' -> 'com.google.firebase:firebase-messaging:18.0.0'
- Dependencies added:
'com.google.android.gms:play-services-ads-identifier:16.0.0'
'com.android.support:support-vector-drawable:28.0.0'
-
If you use Samsung Billing
-
It is necessary to specify the type of assembly (mode) "test" or "production" in the
<SamsungBilling>section:
- In the archive with the MRGS library, in the Extra directory, there is the IAP5Helper.aar that you need to add to your project.
Created: 2020-01-16