Перейти к содержанию

Инструкция по миграции🔗

Данный документ содержит инструкцию по обновлению MRGS SDK, в случае, когда в код или настройки проекта нужно внести какие-либо изменения.

4.x.x → 6.0.0🔗

MRGSAuthentication🔗

  • Класс MRGSAuthenticationVKontakte перемещен в свой собственный модуль MRGSAuthenticationVK.
  • Класс MRGSAuthenticationGoogleGames переименован в MRGSAuthenticationGoogleSignIn и перемещен в свой собственный модуль MRGSAuthenticationGoogleSignIn

  • Enum MRGSAuthenticationNetwork удален.

  • Enum MRGSAuthenticationNetwork#Unknown удален.
  • Enum MRGSAuthenticationNetwork#Amazon удален. Используйте MRGSAuthenticationAmazon#SocialID.
  • Enum MRGSAuthenticationNetwork#AppleGameCenter удален. Используйте MRGSAuthenticationAppleGameCenter#SocialID.
  • Enum MRGSAuthenticationNetwork#Facebook удален. Используйте MRGSAuthenticationFacebook#SocialID.
  • Enum MRGSAuthenticationNetwork#GoogleGames удален. Используйте MRGSAuthenticationGoogleSignIn#SocialID.
  • Enum MRGSAuthenticationNetwork#MyGames удален. Используйте MRGSAuthenticationMyGames#SocialID.
  • Enum MRGSAuthenticationNetwork#Plarium удален. Используйте MRGSAuthenticationPlarium#SocialID.
  • Enum MRGSAuthenticationNetwork#SignInWithApple удален. Используйте MRGSAuthenticationSignInWithApple#SocialID.
  • Enum MRGSAuthenticationNetwork#VKontakte удален. Используйте MRGSAuthenticationVKontakte#SocialID.
  • Enum MRGSAuthenticationNetwork#VKId удален. Используйте MRGSAuthenticationVKId#SocialID.

  • Enum MRGSAuthenticationScope удален.

  • Enum MRGSAuthenticationScope#AmazonPostalCode удален. Используйте MRGSAuthenticationAmazon.Scopes#PostalCode.
  • Enum MRGSAuthenticationScope#AmazonProfile удален. Используйте MRGSAuthenticationAmazon.Scopes#Profile.

  • Enum MRGSAuthenticationScope#FacebookBirthday удален. Используйте MRGSAuthenticationFacebook.Scopes#UserBirthday.

  • Enum MRGSAuthenticationScope#FacebookEmail удален. Используйте MRGSAuthenticationFacebook.Scopes#Email.
  • Enum MRGSAuthenticationScope#FacebookFriends удален. Используйте MRGSAuthenticationFacebook.Scopes#UserFriends.
  • Enum MRGSAuthenticationScope#FacebookGender удален. Используйте MRGSAuthenticationFacebook.Scopes#UserGender.
  • Enum MRGSAuthenticationScope#FacebookHometown удален. Используйте MRGSAuthenticationFacebook.Scopes#UserHometown.
  • Enum MRGSAuthenticationScope#FacebookLocation удален. Используйте MRGSAuthenticationFacebook.Scopes#UserLocation.

  • Enum MRGSAuthenticationScope#SignInWithAppleEmail удален. Используйте MRGSAuthenticationSignInWithApple.Scopes#Email.

  • Enum MRGSAuthenticationScope#SignInWithAppleFullName удален. Используйте MRGSAuthenticationSignInWithApple.Scopes#FullName.

  • Enum MRGSAuthenticationScope#VKontakteEmail удален. Используйте MRGSAuthenticationVKontakte.Scopes#Email.

  • Enum MRGSAuthenticationScope#VKontakteFriends удален. Используйте MRGSAuthenticationVKontakte.Scopes#Friends.
  • Enum MRGSAuthenticationScope#VKontakteGroups удален. Используйте MRGSAuthenticationVKontakte.Scopes#Groups.
  • Enum MRGSAuthenticationScope#VKontakteMessages удален. Используйте MRGSAuthenticationVKontakte.Scopes#Messages.
  • Enum MRGSAuthenticationScope#VKontakteNotifications удален. Используйте MRGSAuthenticationVKontakte.Scopes#Notifications.
  • Enum MRGSAuthenticationScope#VKontaktePhotos удален. Используйте MRGSAuthenticationVKontakte.Scopes#Photos.
  • Enum MRGSAuthenticationScope#VKontakteStatus удален. Используйте MRGSAuthenticationVKontakte.Scopes#Status.
  • Enum MRGSAuthenticationScope#VKontakteWall удален. Используйте MRGSAuthenticationVKontakte.Scopes#Wall.

  • Свойство MRGSAuthenticationAchievement#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.

  • Свойство MRGSAuthenticationLeaderboard#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.
  • Свойство MRGSAuthenticationLeaderboardScore#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.
  • Свойство MRGSAuthenticationInvite#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.
  • Свойство MRGSAuthenticationPost#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.

  • Свойство MRGSAuthenticationAccessToken#AuthorizedScopes теперь возвращает List<string> вместо List<MRGSAuthenticationScope>.

  • Свойство MRGSAuthenticationAccessToken#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.

  • Свойство MRGSAuthenticationCredential#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.

  • Свойство MRGSAuthenticationUser#SocialId теперь возвращает string вместо MRGSAuthenticationNetwork.

  • Метод MRGSAuthenticationPost#HasPermissions теперь принимает List<string> вместо List<MRGSAuthenticationScope>.

  • Метод MRGSAuthentication#Login(List<MRGSAuthenticationScope>, Action<MRGSAuthenticationCredential, MRGSError>) заменен на MRGSAuthentication#Login(List<string>, Action<MRGSAuthenticationCredential, MRGSError>).
  • Метод MRGSAuthentication#SocialId() теперь возвращает string вместо MRGSAuthenticationNetwork.

MRGService🔗

  • MRGSMyTracker был перемещен в свой собственный модуль MRGSMyTracker и больше не поставляется с MRGService модулем.

  • Класс MRGSMyTrackerParams перемещен в модуль MRGSMyTracker.

  • Класс MRGSVKontakteParams перемещен в модуль MRGSAuthenticationVK.
  • Класс MRGSVKIdParams перемещен в модуль MRGSAuthenticationVKId.

  • Enum BankSubstitution удален. Используйте MRGSMyGamesBank#UseAsMainBank() и MRGSVKPay#UseAsMainBank().

  • Свойство MRGSMyGamesParams#VKPlayMode удалено. Используйте MRGSMyGamesParams#CustomHost.

  • Добавлен новый метод для инициализации 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#Vkontakte удален.

3.x.x → 4.0.0🔗

MRGSAdvertising🔗

  • Изменен делегат MRGSAdvertising.MRGSAdvertisingLoadDelegate:

        MRGSAdvertising.MRGSAdvertisingLoadDelegate -> MRGSAdvertising.ILoadDelegate 
        onAdvertisingLoaded -> OnAdvertisingLoaded
        onAdvertisingLoadingError -> OnAdvertisingLoadingError
    
  • Изменен делегат MRGSAdvertising.MRGSAdvertisingShowDelegate:

        MRGSAdvertising.MRGSAdvertisingShowDelegate -> MRGSAdvertising.IShowDelegate
        onAdvertisingFinished(bool skipped) -> OnAdvertisingFinished(bool skipped)
    
  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.

  • Скрыта private часть, изменена структура файлов

MRGSAnalytics🔗

  • Изменен делегат MRGSAppsFlyerDelegate:

        MRGSAppsFlyerDelegate -> IMRGSAppsFlyerDelegate
        onConversionDataSuccess -> OnConversionDataSuccess
        onAppOpenAttribution -> OnAppOpenAttribution
    
  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.

  • Скрыта private часть, изменена структура файлов, реализация вынесена во внутреннюю часть
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSAppsFlyer.getInstance().method() -> MRGSAppsFlyer.Instance.Method()
    

MRGSAuthentication🔗

  • Все классы работы с соцсетями переделаны на интерфейсы, метод .Instance (getInstance()) теперь возвращает интерфейс:

    MRGSAuthenticationAmazon.Instance теперь возвращает IMRGSAuthenticationAmazon
    MRGSAuthenticationAppleGameCenter.Instance теперь возвращает IMRGSAuthenticationAppleGameCenter
    MRGSAuthenticationFacebook.Instance теперь возвращает IMRGSAuthenticationFacebook
    MRGSAuthenticationGoogleGames.Instance теперь возвращает IMRGSAuthenticationGoogleGames
    MRGSAuthenticationMyGames.Instance теперь возвращает IMRGSAuthenticationMyGames
    MRGSAuthenticationPlarium.Instance теперь возвращает IMRGSAuthenticationPlarium
    MRGSAuthenticationSignInWithApple.Instance теперь возвращает IMRGSAuthenticationSignInWithApple
    MRGSAuthenticationVKontakte.Instance теперь возвращает IMRGSAuthenticationVKontakte
    
  • Изменены значения в MRGSAuthenticationScope:

    SIWAFullName -> SignInWithAppleFullName
    SIWAEmail -> SignInWithAppleEmail
    
  • Изменен enum MRGSAuthenticationAchievementState -> MRGSAuthenticationAchievement.State

  • Изменен делегат IMRGSAuthenticationDelegate: onAuthenticationProviderDidLogoutUser -> OnAuthenticationProviderDidLogoutUser
  • Добавлены коды и домены ошибок: MRGSAuthenticationErrorCode и MRGSAuthenticationErrorDomain
  • Удалены Obsolete методы
  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов, исправлены уровни доступа к полям классов, реализация вынесена во внутреннюю часть
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    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🔗

  • Переименован класс MRGSBankProductsResponce -> MRGSBankProductsResponse
  • Делегат MRGSBankDelegateEx и поле MRGSBank.getInstance.DelegateExtended отмечены как Obsolete, используйте аналог IMRGSBankDelegate и поле MRGSBank.Instance.Delegate:

    MRGSBankDelegateEx -> IMRGSBankDelegate
    MRGSBank.getInstance.DelegateExtended -> MRGSBank.Instance.Delegate
    onReceiveProductsResponce -> OnReceiveProductsResponse
    onReceiveProductsError -> OnReceiveProductsError
    onReceiveSucessfullPurchase -> OnReceiveSuccessfulPurchase
    onReceiveFailedPurchase -> OnReceiveFailedPurchase
    onReceivePendingPurchase -> OnReceivePendingPurchase
    onReceiveCancelledPurchase -> OnReceiveCancelledPurchase
    onTransactionsRestoreCompleted -> OnTransactionsRestoreCompleted
    
  • Изменен enum MRGSSubscriptionPeriod.MRGSSubscriptionPeriodUnit -> MRGSSubscriptionPeriod.PeriodUnit:

    kMRGSSubscriptionPeriodUnitDay -> Day
    kMRGSSubscriptionPeriodUnitWeek -> Week
    kMRGSSubscriptionPeriodUnitMonth -> Month
    kMRGSSubscriptionPeriodUnitYear -> Year
    
  • Изменен enum MRGSBankProductDiscount.MRGSDiscountPaymentMode -> MRGSBankProductDiscount.DiscountPaymentMode:

    kMRGSBankProductDiscountPaymentModeFreeTrial -> FreeTrial
    kMRGSBankProductDiscountPaymentModePayAsYouGo -> PayAsYouGo
    kMRGSBankProductDiscountPaymentModePayUpFront -> PayUpFront
    
  • Изменен enum MRGSBankProductDiscount.MRGSDiscountType -> MRGSBankProductDiscount.DiscountType:

    kMRGSDiscountTypeSubscription -> Subscription
    kMRGSDiscountTypeIntroductory -> Introductory
    
  • Удалены Obsolete методы

  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов, исправлены уровни доступа к полям классов
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSBank.getInstance().method() -> MRGSBank.Instance.Method()
    MRGSMyGamesBank.getInstance().method() -> MRGSMyGamesBank.Instance.Method()
    MRGSBankReceiptProcessor.getInstance().method() -> MRGSBankReceiptProcessor.Instance.Method()
    

MRGService🔗

  • Класс MRGSFlurryParams удален.
  • Класс MRGSChartboostParams удален.
  • Класс MRGSGoogleConversionTrackingParams удален.
  • Интерфейс MRGSServerDataDelegate переименован в IMRGSServerDataDelegate
  • Свойство MRGSExtraOptionsiOS#MRGSNotificationCenterSupported удалено
  • Свойство MRGSExternalSDKParams#FlurryParams удалено
  • Свойство MRGSExternalSDKParams#ChartboostParams удалено
  • Свойство MRGSExternalSDKParams#GoogleConversionTrackingParams удалено
  • Метод MRGSLog#addPaymentLog(string) удален.
  • Проверка интеграции теперь возвращает объект нового класса MRGSIntegrationCheckResult
  • Добавлена поддержка async/await для методов в классе MRGSDevice:

    GetGeoIpInfoAsync
    GetOpenUDIDAsync
    GetIdentifierForAdvertisingAsync
    GetIdentifierForVendorAsync
    
  • Для async/await методов MRGS добавлено расширение .Throwable():

    await MRGSDevice.Instance.GetGeoIpInfoAsync().Throwable().Country == "RU"
    
  • Удалены Obsolete методы

  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    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()
    
  • Теперь для новой инициализации MRGService под Android требуется указывать MRGSPlatform аналогично платформе из MRGS админки вашего проекта.

    var serviceParams = new MRGServiceParams(appId: APP_ID, appSecret: APP_SECRET);
    // Available MRGSPlatform: Amazon, Android, Huawei, Samsung, and FacebookCloud
    serviceParams.AndroidExtraOptions.Platform = MRGSPlatformAndroid.Android;
    MRGService.Instance.Initialize(serviceParams, sdkParams, this)
    

MRGSFirebase🔗

  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSFirebase.getInstance().method() -> MRGSFirebase.Instance.Method()
    

MRGSGameCenter🔗

  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов
  • Интерфейс MRGSGameCenterClientDelegate удален. Используйте IMRGSGameCenterClientDelegate
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSGameCenter.getInstance().method() -> MRGSGameCenter.Instance.Method()
    

MRGSGDPR🔗

  • Интерфейс MRGSCOPPA.IMRGSCOPPADelegate переименован в MRGSCOPPA.IShowDelegate
  • Интерфейс MRGSCOPPA.IMRGSGDPRDelegate переименован в MRGSCOPPA.IShowDelegate
  • Удалены Obsolete методы
  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов
  • Enum MRGSCCPAUserPreference.MRGSCCPAUserPreferenceShare переименован в MRGSCCPAUserPreference.Share
  • Enum MRGSCCPAUserPreference.MRGSCCPAUserPreferenceNotSharing переименован в MRGSCCPAUserPreference.NotSharing
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSGDPR.getInstance().method() -> MRGSGDPR.Instance.Method()
    MRGSCOPPA.getInstance().method() -> MRGSCOPPA.Instance.Method()
    

MRGSNotifications🔗

  • В MRGServiceParams убран флаг MRGSNotificationCenterSupported
  • В MRGServiceParams переименован флаг DefferedMRGSNotificationCenterStart -> DeferredMRGSNotificationCenterStart
  • Изменен enum LockScreenVisibility:

    VISIBILITY_PUBLIC -> Public
    VISIBILITY_PRIVATE -> Private
    VISIBILITY_SECRET -> Secret
    VISIBILITY_NO_OVERRIDE -> NoOverride
    
  • Изменен enum MRGSNotificationTriggerType -> MRGSNotificationTrigger.Type:

    kMRGSTimeIntervalTrigger -> TimeInterval
    kMRGSDateComponentsTrigger -> DateComponents
    kMRGSLocationTrigger -> Location
    kMRGSRemoteTrigger -> Remote
    
  • Удалены Obsolete методы и классы

  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSNotificationCenter.getInstance().method() -> MRGSNotificationCenter.Instance.Method()
    

MRGSRecommendations🔗

  • Удалены Obsolete методы
  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSRecommendations.getInstance().method() -> MRGSRecommendations.Instance.Method()
    

MRGSShowcase🔗

  • Метод интерфейса IMRGSShowcaseDelegate#didReceiveNewShowcaseContent(int) переименован в IMRGSShowcaseDelegate#OnReceiveNewShowcaseContent(int)
  • Все методы, начинающиеся со строчной буквы и не соответствующие "naming conventions" помечены как Obsolete и были добавлены аналогичные с заглавной буквы, соответствующие конвенциям.
  • Скрыта private часть, изменена структура файлов
  • Изменен доступ к singleton - метод getInstance перенесен в поле Instance:

    MRGSShowcase.getInstance().method() -> MRGSShowcase.Instance.Method()
    

2.x.x - 3.0.0🔗

Мигрировать на новую версию просто - сначала переместите файл Assets/Plugins/MRGS/iOS/MRGService.plist на новое место Assets/Plugins/iOS/MRGService.plist (если вы используете инициализацию из файлов, в противном случае можно пропустить данный шаг), далее достаточно удалить папки Assets/Plugins/Editor/MRGS и Assets/Plugins/MRGS, а затем добавить наш репозиторий в раздел scopedRegistries (подробнее смотрите на странице интеграции SDK). Либо можно импортировать unitypackage файлы из архива, скачанного с сайта MRGS.

Но проще всего будет использовать специальный MigrationScript, доступный по ссылке, либо в скачанном архиве. Достаточно добавить его в проект, в верхнем меню выбрать раздел MRGS, и выбрать опцию миграции на UPM (MRGS сам удалит старые файлы, определит используемые модули, и добавит раздел scopedRegistries и используемые модули), либо удаления старого проекта MRGS.

Также, мы сделали сборку Legacy формата, она так же лежит в архиве.

2.0.x - 2.1.0🔗

Основное изменение - MRGService Android теперь зависит от библиотек серии androidx, вместо support-library.

MRGSUnityLegacy🔗

Если вы используете Legacy версию плагина, отредактируйте mainTemplate.gradle файл

Удалите старые зависимости, такие как:

'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'

Добавьте новые:

'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'

Так же вам необходимо заменить в mainTemplate.gradle classpath 'com.android.tools.build:gradle:3.2.0' на classpath 'com.android.tools.build:gradle:3.4.0'

MRGSUnity и MRGSBaseUnity🔗

Если вы используете MRGService Unity с поддержкой Google Play Services Resolver, то зависимости будут обновлены автоматически. Для надежности можете удалить все aar и jar файлы из директории Assets/Plugins/Android и вызвать в Assets -> Play Services Resolver -> Android -> Force Resolve

1.0.49 - 2.0.0🔗

В версии 2.0.0 плагин MRGS был разбит на модули (отдельные unitypackage), отвечающие за отдельные компоненты MRGS. Во избежании проблем, при обновлении с версии 1.0.х на версию 2.0.0 мы рекомендуем вам загружать версию вез модулей (архив под названием MRGServiceUnityLegacy.zip)

Если вы все же решили перейти на версию с модулями, вы можете импортировать все .unitypacakge файлы из архива MRGServiceUnity.zip Данная сборка включает в себя Google Play Services Resolver. Вам необходимо либо отключить его, либо удалить старые зависимости. Для этого отредактируйте файл mainTemplate.gradle и удалите из секции dependencies вот эти зависимости

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'

Если внутри директории Assets/Plugins/MRGS/iOS/Frameworks/ у вас есть файл MRGServiceResources.bundle, его необходимо удалить

1.0.48 - 1.0.49🔗

В версии 1.0.49 произошло большое изменение библиотеки MRGS для Android. Она обновилась до версии 4.0 и теперь представляет из себя набор из 9 aar файлов

MRGSAdvertising.aar
MRGSAnalytics.aar
MRGSBilling.aar
MRGSGDPR.aar
MRGSGameCenter.aar
MRGSNotifications.aar
MRGSSupport.aar
MRGService.aar
  1. Перед импортом новой версии MRGSUnity.unitypackage удалите старые aar файлы в директории Assets/Plugins/MRGS/Android
MRGService.aar
MRGServiceDependencies.aar
MRGServicePlayCenter.aar // Если он у вас есть
  1. После импорта всех файлов, обратите внимание на шаблон mainTemplate.gradle

  2. Удалены зависимости

'com.google.android.gms:play-services-analytics:16.0.3'
'com.google.android.gms:play-services-gcm:15.0.1'
  • Обновлены зависимости
'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'
  • Добавлены зависимости
'com.google.android.gms:play-services-ads-identifier:16.0.0'
'com.android.support:support-vector-drawable:28.0.0'
  1. Если вы использовали Billing Samsung

  2. Необходимо в секции <SamsungBilling> указать тип сборки (mode) "test" или "production"

<SamsungBilling
    enable="true"
    mode="production"
/>
  • В архиве с библиотекой MRGS, в директории Extra необходимо взять библиотеку IAP5Helper.aar и добавить ее в свой проект.

Последнее обновление: 2025-01-21
Дата создания: 2020-01-16