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

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

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

5.x.x → 6.0.0🔗

MRGSAuthentication🔗

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

Шаг 1. Добавьте зависимости

Через Package collection

  • В Xcode выберите File > Add Packages
  • Выберите «+» > "Add Swift Package Collection"
  • Вставьте URL: https://mrgs-nexus.my.games/repository/ios-sdks/MRGSPackageCollection.json
  • Выберите модуль MRGSAuthenticationVK из "MRGS Package Collection".
  • Или вы можете выбрать пакет «MRGS» из "MRGS Package Collection" (содержит все модули mrgs в качестве продуктов), а затем выбрать только продукт "MRGS/AuthenticationVK".

Отдельными пакетами

  • В Xcode выберите File > Add Packages
  • В строке поиска в правом верхнем углу вставьте URL: https://mrgs-gitea.my.games/mrgs/mrgsauthenticationvk-ios-sdk.git
  • Добавьте модуль в свой проект
  • Или вы можете вставить URL https://mrgs-gitea.my.games/mrgs/ios-sdks.git, чтобы подключить пакет "MRGS", который содержит все модули mrgs в качестве продуктов, а затем выбрать только продукт "MRGS/AuthenticationVK".

Шаг 2. Добавьте поддержку категорий ObjectiveC

  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGSAuthenticationVK; или #import <MRGSAuthenticationVK/MRGSAuthenticationVK.h>

Шаг 1. Добавьте источники

В вашем podfile добавьте источники в начало файла:

source 'https://github.com/CocoaPods/Specs.git' # For main repo
source 'https://mrgs-gitea.my.games/mrgs/cocoapods-specs.git'  # For MRGS repo

Шаг 2. Добавьте зависимости

В target добавьте последнюю версию MRGSAuthenticationVK:

Чтобы добавить через subspecs:

target 'MyProject' do
    pod 'MRGS', '~> 5.0.0', :subspecs => ['AuthenticationVK']
end

Для добавления через отдельные модули:

target 'MyProject' do
    pod 'MRGSAuthenticationVK', '~> 5.0.0'
end

Чтобы добавить все модули mrgs:

target 'MyProject' do
    pod 'MRGS/AllKits', '~> 5.0.0'
end

Шаг 3. Установите зависимости

  • Выполните pod install (или pod install --repo-update если необходимо)
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGSAuthenticationVK; или #import <MRGSAuthenticationVK/MRGSAuthenticationVK.h>

Шаг 1. Добавьте зависимости

Добавьте зависимость в ваш Cartfile:

binary "https://mrgs-nexus.my.games/repository/ios-sdks/MRGSAuthenticationVK/MRGSAuthenticationVK.json" ~> 5.0.0

Шаг 2. Установите зависимости

  • Выполните carthage update --use-xcframeworks
  • Добавьте загруженные фреймворки в свой проект (убедитесь, что опция "do not embed" включена)
  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGSAuthenticationVK; или #import <MRGSAuthenticationVK/MRGSAuthenticationVK.h>
  • Загрузите последнюю версию библиотеки. Распакуйте архив.
  • Добавьте MRGSAuthenticationVK.xcframework из скачанного архива в ваш проект (Перетащите библиотеки в раздел "Linked frameworks and Libraries") (для совместимости в архиве также находится MRGSAuthenticationVK.framework - fat framework старого вида)

  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".

  • Импортируйте модуль в коде: @import MRGSAuthenticationVK; или #import <MRGSAuthenticationVK/MRGSAuthenticationVK.h>
  • Также, вы можете добавить из архива файлы MRGServiceKit.h и module.modulemap в свой проект, либо в настройках проекта укажите путь до них в разделе Build Settings -> Header search paths. Теперь вместо импорта каждого из наших фреймворков по отдельности, вы можете импортировать только один заголовочный файл: @import MRGServiceKit;
  • Скоупы kMRGSAuthenticationVKontakteScope перемещены в свой собственный модуль MRGSAuthenticationVK.
  • Константа MRGSAuthenticationNetworkVKontakte перемещена в свой собственный модуль MRGSAuthenticationVK.

  • Enum MRGSAuthenticationNetwork удален, вместо него добавлены string enum(строковые константы) MRGSAuthenticationNetwork, содержащий тот же набор соцсетей.

MRGService🔗

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

Шаг 1. Добавьте зависимости

Через Package collection

  • В Xcode выберите File > Add Packages
  • Выберите «+» > "Add Swift Package Collection"
  • Вставьте URL: https://mrgs-nexus.my.games/repository/ios-sdks/MRGSPackageCollection.json
  • Выберите модуль MRGSMyTracker из "MRGS Package Collection".
  • Или вы можете выбрать пакет «MRGS» из "MRGS Package Collection" (содержит все модули mrgs в качестве продуктов), а затем выбрать только продукт "MRGS/MyTracker".

Отдельными пакетами

  • В Xcode выберите File > Add Packages
  • В строке поиска в правом верхнем углу вставьте URL: https://mrgs-gitea.my.games/mrgs/mrgsmytracker-ios-sdk.git
  • Добавьте модуль в свой проект
  • Или вы можете вставить URL https://mrgs-gitea.my.games/mrgs/ios-sdks.git, чтобы подключить пакет "MRGS", который содержит все модули mrgs в качестве продуктов, а затем выбрать только продукт "MRGS/MyTracker".

Шаг 2. Добавьте поддержку категорий ObjectiveC

  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGSMyTracker; или #import <MRGSMyTracker/MRGSMyTracker.h>

Шаг 1. Добавьте источники

В вашем podfile добавьте источники в начало файла:

source 'https://github.com/CocoaPods/Specs.git' # For main repo
source 'https://mrgs-gitea.my.games/mrgs/cocoapods-specs.git'  # For MRGS repo

Шаг 2. Добавьте зависимости

В target добавьте последнюю версию MRGSMyTracker:

Чтобы добавить через subspecs:

target 'MyProject' do
    pod 'MRGS', '~> 5.0.0', :subspecs => ['MyTracker']
end

Для добавления через отдельные модули:

target 'MyProject' do
    pod 'MRGSMyTracker', '~> 5.0.0'
end

Чтобы добавить все модули mrgs:

target 'MyProject' do
    pod 'MRGS/AllKits', '~> 5.0.0'
end

Шаг 3. Установите зависимости

  • Выполните pod install (или pod install --repo-update если необходимо)
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGSMyTracker; или #import <MRGSMyTracker/MRGSMyTracker.h>

Шаг 1. Добавьте зависимости

Добавьте зависимость в ваш Cartfile:

binary "https://mrgs-nexus.my.games/repository/ios-sdks/MRGSMyTracker/MRGSMyTracker.json" ~> 5.0.0

Шаг 2. Установите зависимости

  • Выполните carthage update --use-xcframeworks
  • Добавьте загруженные фреймворки в свой проект (убедитесь, что опция "do not embed" включена)
  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGSMyTracker; или #import <MRGSMyTracker/MRGSMyTracker.h>
  • Загрузите последнюю версию библиотеки. Распакуйте архив.
  • Добавьте MRGSMyTracker.xcframework из скачанного архива в ваш проект (Перетащите библиотеки в раздел "Linked frameworks and Libraries") (для совместимости в архиве также находится MRGSMyTracker.framework - fat framework старого вида)

  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".

  • Импортируйте модуль в коде: @import MRGSMyTracker; или #import <MRGSMyTracker/MRGSMyTracker.h>
  • Также, вы можете добавить из архива файлы MRGServiceKit.h и module.modulemap в свой проект, либо в настройках проекта укажите путь до них в разделе Build Settings -> Header search paths. Теперь вместо импорта каждого из наших фреймворков по отдельности, вы можете импортировать только один заголовочный файл: @import MRGServiceKit;
  • Класс MRGSMyTrackerParams перемещен в модуль MRGSMyTracker.
  • Класс MRGSVKontakteParams перемещен в модуль MRGSAuthenticationVK.
  • Класс MRGSVKIdParams перемещен в модуль MRGSAuthenticationVKId.

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

MRGSSupport🔗

  • Enum entity kMRGSMyGamesSupportCredentialSocialNetworkVkontakte переименовано в kMRGSMyGamesSupportCredentialSocialNetworkInTouch.

4.x.x → 5.0.0🔗

В версии 5.0.0 содержатся обратно несовместимые изменения из-за частично переработанного API: удалили Deprecated функционал, поменяли имена функций, переработаны nullability нотации, исправлены названия методов для соответствия naming conventions.

Поддержка менеджеров пакетов Swift Package Manager/Cocoapods/Carthage🔗

Добавлена поддержка популярных менеджеров зависимостей для iOS:

Swift Package Manager🔗

Шаг 1. Добавьте зависимости

Через Package collection

  • В Xcode выберите File > Add Packages
  • Выберите «+» > "Add Swift Package Collection"
  • Вставьте URL: https://mrgs-nexus.my.games/repository/ios-sdks/MRGSPackageCollection.json
  • Выберите необходимые модули из "MRGS Package Collection".
  • Или вы можете выбрать пакет «MRGS» из "MRGS Package Collection" (содержит все модули mrgs в качестве продуктов), а затем выбрать только необходимый модуль продукта.

Отдельными пакетами

  • В Xcode выберите File > Add Packages
  • В строке поиска в правом верхнем углу вставьте URL требуемого модуля MRGS в формате: https://mrgs-gitea.my.games/mrgs/<MODULE>-ios-sdk.git (например, https://mrgs-gitea.my.games/mrgs/mrgsbank-ios-sdk.git)
  • Добавьте модуль в свой проект
  • Или вы можете вставить URL https://mrgs-gitea.my.games/mrgs/ios-sdks.git, чтобы подключить пакет "MRGS", который содержит все модули mrgs в качестве продуктов, а затем выбрать только необходимый модуль продукта.

Шаг 2. Добавьте поддержку категорий ObjectiveC

  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGS_MODULE; или #import <MRGS_MODULE/MRGS_MODULE.h>

Cocoapods🔗

Шаг 1. Добавьте источники

В вашем podfile добавьте источники в начало файла:

source 'https://github.com/CocoaPods/Specs.git' # For main repo
source 'https://mrgs-gitea.my.games/mrgs/cocoapods-specs.git'  # For MRGS repo

Шаг 2. Добавьте зависимости

В target добавьте последние версии необходимых фреймворков MRGS:

Чтобы добавить через subspecs:

target 'MyProject' do
    pod 'MRGS', '~> 5.0.0', :subspecs => ['Bank', 'GDPR', 'Authentication']
end

Для добавления через отдельные модули:

target 'MyProject' do
    pod 'MRGSAuthentication', '~> 5.0.0'
    pod 'MRGSBank', '~> 5.0.0'
    pod 'MRGSGDPR', '~> 5.0.0'
end

Чтобы добавить все модули mrgs:

target 'MyProject' do
    pod 'MRGS/AllKits', '~> 5.0.0'
end

Шаг 3. Установите зависимости

  • Выполните pod install (или pod install --repo-update если необходимо)
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGS_MODULE; или #import <MRGS_MODULE/MRGS_MODULE.h>

Carthage🔗

Шаг 1. Добавьте зависимости

Добавьте необходимые зависимости в ваш Cartfile в формате:

binary "https://mrgs-nexus.my.games/repository/ios-sdks/<MODULE>/<MODULE>.json"

Например:

binary "https://mrgs-nexus.my.games/repository/ios-sdks/MRGSShowcase/MRGSShowcase.json" ~> 5.0.0
binary "https://mrgs-nexus.my.games/repository/ios-sdks/MRGSGDPR/MRGSGDPR.json" ~> 5.0.0
binary "https://mrgs-nexus.my.games/repository/ios-sdks/MRGSAuthentication/MRGSAuthentication.json" ~> 5.0.0

Шаг 2. Установите зависимости

  • Выполните carthage update --use-xcframeworks
  • Добавьте загруженные фреймворки в свой проект (убедитесь, что опция "do not embed" включена)
  • В настройках проекта установите флаг -ObjC в поле "Other linker Flags".
  • Импортируйте модуль в коде: @import MRGServiceKit; или @import MRGS_MODULE; или #import <MRGS_MODULE/MRGS_MODULE.h>

MRGSAdvertising🔗

  • Исправлен баг с возможностью создать класс MRGSAdvertising через конструктор без параметров
  • Исправлен баг с возможностью создать класс MRGSAdvertisingManager
  • Исправлены nullability нотации

Swift only:

  • Метод sharedInstance перенесен в поле shared: MRGSAdvertisingManager.sharedInstance().method() -> MRGSAdvertisingManager.shared.method()

MRGSAnalytics🔗

  • Исправлен баг с возможностью создать класс MRGSAppsFlyer через конструктор без параметров
  • Исправлен баг с возможностью создать класс MRGSAnalytics
  • Исправлены nullability нотации
  • Удалена поддержка Flurry, Chartboost, GoogleConversion (классы MRGSFlurry, MRGSFlurryParams, MRGSChartboostParams, MRGSGoogleConversionTrackingParams, поля flurry, flurryParams, chartboostParams, googleConversionParams)

Swift only:

  • Метод sharedInstance перенесен в поле shared: MRGSAnalytics.sharedInstance().method() -> MRGSAnalytics.shared.method()

MRGSAuthentication🔗

  • Исправлен баг с возможностью создать классы MRGSAuthenticationAccessToken, MRGSAuthenticationAmazon, MRGSAuthenticationAppleGameCenter, MRGSAuthenticationCredential, MRGSAuthenticationFacebook, MRGSAuthenticationMyGames, MRGSAuthenticationSignInWithApple, MRGSAuthenticationDate, MRGSAuthenticationUser, MRGSAuthenticationVKontakte, MRGSAuthenticationAchievement, MRGSAuthenticationLeaderboard, MRGSAuthenticationLeaderboardScore
  • Исправлены nullability нотации
  • Изменены домены ошибок с com.my.MRGSAuthentication.<network> на games.my.mrgs.authentication.<network>
  • Удалены deprecated методы
  • Поля класса MRGSAuthenticationDate стали readonly

Swift only:

  • Метод sharedInstance перенесен в поле shared: .sharedInstance().method() -> .shared.method() для классов: MRGSAuthenticationAmazon MRGSAuthenticationAppleGameCenter MRGSAuthenticationFacebook MRGSAuthenticationMyGames MRGSAuthenticationSignInWithApple MRGSAuthenticationVKontakte

  • Переименованы методы:

    MRGSAuthenticationAccessToken.hasScopes(_:) -> MRGSAuthenticationAccessToken.has(_:)
    resetAchievementsWithCompletionHandler -> resetAchievements(completionHandler:)
    getUsersWithIds -> getUsers(withIds:completionHandler:) (async users(withIds:))
    sendPost(onWall:completionHandler:) -> sendPostOnWall(_:completionHandler:) (async sendPostOnWall(_:)
    sendPost(onWall:toUserWithId:completionHandler:) -> sendPostOnWall(_:toUserWithId:completionHandler:) (async sendPostOnWall(_:toUserWithId:)
    showPostOnWall(dialog:completionHandler:) -> showPostOnWallDialog(_:completionHandler:) (async showPostOnWallDialog(_:))
    getFriendsIds(availableForInvite:) -> getFriendsIdsAvailableForInvite(_:) (async friendsIdsAvailableForInvite())
    getFriendsIds(availableForGameRequest:) -> getFriendsIdsAvailableForGameRequest(_:) (async friendsIdsAvailableForGameRequest())
    
  • Переименован enum: MRGSAuthenticationAchievementState -> MRGSAuthenticationAchievement.State

MRGSBank🔗

  • Удалены deprecated методы
  • Исправлен баг с возможностью создать классы MRGSBank, MRGSBankProductPriceInformation, MRGSBankProduct, MRGSBankProductsResponse, MRGSBankTransaction, MRGSBankPurchaseResult, MRGSBankSubscriptionGroup, MRGSBankReceiptItem, MRGSBankReceiptProcessor, MRGSMyGamesBank
  • Исправлены nullability нотации
  • MRGSBankProduct.skProduct стал nullable
  • MRGSBankPurchaseResult.productIdentifier стал nonnull
  • MRGSBankPurchaseRequest.productIdentifier стал readonly, удалены конструкторы без параметров
  • Поля класса MRGSBankSubscriptionGroup стали readonly, используйте конструктор
  • Поля класса MRGSBankReceiptItem стали readonly
  • Переименован класс MRGSBankProductsResponce -> MRGSBankProductsResponse
  • Изменен делегат MRGSBankDelegateEx:

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

Swift only:

  • Метод sharedInstance перенесен в поле shared:

    MRGSBank.sharedInstance().method() -> MRGSBank.shared.method()
    MRGSBankReceiptProcessor.sharedInstance().method() -> MRGSBankReceiptProcessor.shared.method()
    MRGSMyGamesBank.sharedInstance().method() -> MRGSMyGamesBank.shared.method()
    
  • Переименованы методы:

    MRGSBank:
    showProductInStore(_:completionHandler:)
    isProductVisibleInStore(_:completionHandler:)
    setDefaultStorePromotionOrder(completionHandler:)
    
    MRGSBankProductsRequest:
    addProduct(identifier:withType:) -> add(productIdentifier:type:)
    addProducts(identifiers:withType:) -> add(productsIdentifiers:type:)
    
    MRGSBankSubscriptionGroup:
    createGroup(withName:andIdentifiers:) -> init(name:identifiers:)
    
    MRGSBankReceiptProcessor:
    getUserDiscountEligabilityForSubscriptions -> getUserDiscountEligability(for:completionHandler:) (async userDiscountEligability(for:));
    getUserIntroductoryEligabilityForSubscriptions -> getUserIntroductoryEligability(for:completionHandler:)) (async userIntroductoryEligability(for:))
    
  • MRGSBankErrorCode стал MRGSBankError: Error, то есть можно делать catch(MRGSBankError.purchasesAreUnavailableForUser)

MRGService🔗

  • Исправлен баг с возможностью создать классы MRGSApplication, MRGSDevice, MRGSExternalSDKParams, MRGSLogs, MRGSMyTrackerAttribution, MRGSMyTracker, MRGSReachability, MRGSServerData, MRGSTracker, MRGSUser, MRGSUsers
  • Исправлены nullability и readonly нотации
  • Класс MRGServiceInit переименован в MRGService
  • Проверка интеграции теперь возвращает объект нового класса MRGSIntegrationCheckResult
  • Метод MRGServiceWithAppId:andSecret:andDelegate изменен на startWithAppId:secret:delegate
  • Добавлено больше вариаций методов старта SDK, чтобы не заполнять ненужные параметры
  • Все поля в настройках внешних SDK сделаны readonly, используйте конструкторы
  • Удален метод MRGSLogS:
  • Все методы для отправки метрик в MRGSMetrics переименованы в аналоги без приставки and перед параметром
  • Удалены deprecated методы
  • Тип полей класса MRGSTrackerEvent изменен с int на NSInteger
  • Переименован метод MRGSDevice.erraseUDIDInfoFromDevice -> MRGSDevice.eraseUDIDInfoFromDevice

Swift only:

  • Изменен доступ к singleton:

    MRGSApplication.currentApplication().method() -> MRGSApplication.current.method()
    MRGSDevice.currentDevice().method() -> MRGSDevice.current.method()
    MRGServiceInit.sharedInstance().method() -> MRGService.shared.method()
    MRGSServerData.sharedInstance().method() -> MRGSServerData.shared.method()
    MRGSUsers.sharedInstance().method() -> MRGSUsers.shared.method()
    
  • Переименованы методы:

    MRGSMyTracker.trackEvent(withName:eventParams:) -> MRGSMyTracker.trackEvent(name:eventParams:)
    

MRGSFirebase🔗

  • Исправлен баг с возможностью создать класс MRGSFirebase
  • Исправлены nullability нотации

Swift only:

  • Метод sharedInstance перенесен в поле shared: MRGSFirebase.sharedInstance().method() -> MRGSFirebase.shared.method()

MRGSGameCenter🔗

  • Исправлен баг с возможностью создать класс MRGSGameCenter
  • Исправлены nullability нотации

Swift only:

  • Метод sharedInstance перенесен в поле shared: MRGSGameCenter.sharedInstance().method() -> MRGSGameCenter.shared.method()

MRGSGDPR🔗

  • Исправлен баг с возможностью создать классы MRGSGDPR, MRGSCOPPAShowResult, MRGSCOPPA
  • Исправлены nullability нотации
  • Удалены deprecated методы

Swift only:

  • Изменен доступ к singleton:

    MRGSGDPR.sharedInstance().method() -> MRGSGDPR.shared.method()
    MRGSCOPPA.sharedInstance().method() -> MRGSCOPPA.shared.method()
    
  • Переименованы методы:

    MRGSGDPR.enableAutomaticCOPPAFlow(forAppId:andSecret:) -> MRGSGDPR.enableAutomaticCOPPAFlow(appId:secret:)
    MRGSCOPPA.setup(forAppId:andSecret:) -> MRGSCOPPA.setup(appId:secret:)
    MRGSCOPPA.showCOPPAFlowIfNeeded(atViewController:) -> MRGSCOPPA.showFlowIfNeeded(at:)
    MRGSCOPPA.showCOPPAFlowIfNeeded(atViewController:withCompletion:) -> MRGSCOPPA.showFlowIfNeeded(at:completionHandler:)
    
  • Изменены enum:

    MRGSCOPPAShowResultReason -> MRGSCOPPAShowResult.Reason
    

MRGSMyTarget🔗

Модуль полностью удален

MRGSNotifications🔗

  • Исправлен баг с возможностью создать классы MRGSNotificationCenter, MRGSNotificationSettings
  • Исправлены nullability и readonly нотации
  • Удалены deprecated методы и классы
  • Переименован MRGSNotificationCategory.categoryWithIdentifier:andActions: -> MRGSNotificationCategory.categoryWithIdentifier:actions:
  • Переименован метод делегата: didClickedOnNotification -> didClickOnNotification, didClickedOnLocalNotification -> didClickLocalOnNotification, didClickedOnRemoteNotification -> didClickOnRemoteNotification
  • Переименован метод findPendingNotificationWithIdentifier:andCompletionHandler: -> findPendingNotificationWithIdentifier:completionHandler:
  • Переименован метод findDeliveredNotificationWithIdentifier:andCompletionHandler: -> findDeliveredNotificationWithIdentifier:completionHandler:
  • Добавлен новый метод делегата shouldPresentNotification, который позволит показать уведомление при запущенном приложении
  • В MRGServiceParams убран флаг MRGSNotificationCenterSupported
  • В MRGServiceParams переименован флаг defferedMRGSNotificationCenterStart -> deferredMRGSNotificationCenterStart

Swift only:

  • Статические методы для создания MRGSNotification изменены на init(<params>)
  • Изменен доступ к singleton:

    MRGSNotificationCenter.currentCenter().method() -> MRGSNotificationCenter.current.method()
    
  • Переименованы методы:

    MRGSNotificationCenter.addNotification(_:) -> MRGSNotificationCenter.add(_:)
    MRGSNotificationCenter.requestNotificationsAuthorisationFromUser(withTypes:) -> requestNotificationsAuthorisation(with:)
    MRGSNotificationCenter.enableMRGSNotifications(_:) -> enable(_:)
    MRGSNotificationCenter.disableMRGSNotifications(_:) -> disable(_:)
    MRGSNotificationCenter.isMRGSNotificationsEnabled(_:) -> isEnabled(_:)
    
  • Изменены enum:

    MRGSNotificationTriggerTriggerType -> MRGSNotificationTrigger.TriggerType (timeInterval/dateComponents/location/remote)
    

MRGSRecommendations🔗

  • Исправлен баг с возможностью создать класс MRGSRecommendations
  • Исправлены nullability нотации
  • Удалены deprecated методы

Swift only:

  • Метод sharedInstance перенесен в поле shared: MRGSRecommendations.sharedInstance().method() -> MRGSRecommendations.shared.method()

MRGSShowcase🔗

  • Исправлен баг с возможностью создать класс MRGSShowcase
  • Исправлены nullability нотации

Swift only:

  • Метод sharedInstance перенесен в поле shared: MRGSShowcase.sharedInstance().method() -> MRGSShowcase.shared.method()

MRGSSupport🔗

  • Исправлен баг с возможностью создать класс MRGSMyComSupport
  • Исправлены nullability нотации
  • Вместо define ошибок MyComSupport добавлен error enum MRGSMyGamesSupportErrorCode

Swift only:

  • Метод sharedInstance перенесен в поле shared: MRGSMyComSupport.sharedInstance().method() -> MRGSMyComSupport.shared.method()
  • Добавлен MRGSMyGamesSupportError : Error, то есть можно делать catch(MRGSMyGamesSupportError.networkConnectionFailed)
  • Изменен enum MRGSMyGamesSupportCredentialSocialNetwork -> MRGSMyGamesSupportCredential.SocialNetwork

3.x.x -> 4.0.0🔗

  1. Метод MRGSBank - sendPaymentInfoForProduct:transaction: переехал в класс MRGSMetrics, то есть достаточно заменить [[MRGSBank sharedInstance] sendPaymentInfo... на [MRGSMetrics sendPaymentInfo...
  2. Для доступа к объектам рекламы теперь используется класс MRGSAdvertisingManager, сигнатуры остались те же. То есть необходимо заменить [MRGServiceInit sharedInstance] на [MRGSAdvertisingManager sharedInstance]
  3. Для доступа к API внешних SDK теперь используется класс MRGSAnalytics
  4. Методы, необходимые для отслеживания уведомлений didFinishLaunchingWithOptions: и startObservingWithLaunchingOptions: заменены на единственный [MRGServiceInit application: didFinishLaunchingWithOptions:];
  5. Теперь вместо одного общего бандла с ресурсами у нас для каждого фреймворка, у которого есть ресурсы - свой бандл с соответствующим названием.
  6. Советуем добавить файл MRServiceKit.h в проект, и заменить все вхождения #import <MRGService/MRGService.h> на #import "MRServiceKit.h" или @import MRGServiceKit;

Также в данной версии произошли некоторые нововведения и изменения:

  • У нас появилась документация на английском языке, для доступа смените язык на сайте MRGS, и перейдите в "Documentation - iOS/MacOS Documentation"
  • Улучшен вид слайдера в кросс-промо для девайсов с безрамочными экранами
  • Улучшена логика запросов наличия рекламы
  • Появилась поддержка Firebase (платежи, запуски, пользователи). Находится в MRGSFirebase.framework.
  • Обновлены сторонние SDK
  • Добавлена автоматическая линковка системный библиотек, теперь достаточно просто добавить наши фреймворки в проект, и он сразу соберется, залинковав необходимые каждому модулю библиотеки.
  • Добавлена поддержка модулей (конструкция вида @import MRGServiceKit;) для каждой из наших библиотек, а также универсальный модуль, импортирующий все добавленные в проект фреймворки. Такой подход может ускорить сборку приложения.
  • Изменена структура фреймворка, теперь в нем нет симлинков, что позволит легче работать с ними пользователям Windows и Unity.

Последнее обновление: 2023-02-03
Дата создания: 2022-06-28