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

Что нового в версии плагина для Unity🔗

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

Версии нативных SDK: Android 6.19.0, iOS 6.19.0

В данной версии:

Модуль MRGService:

  • Улучшена работа SDK во Вьетнаме.
  • [android] Добавлены логи для параметров MRGSTracker#trackEvent(String name, Map params).
  • Исправлена ошибка 'NotNullAttribute' is inaccessible

Модуль Advertising:

  • Улучшена загрузка рекламы для URL не содержащих расширения файла

Модуль Appsflyer:

  • [android] Исправлена ошибка, когда некорректная сумма платежа могла быть отправлена в AppsFlyer для Huawei платежей.

Модуль Authentication:

  • [android] Исправлена ошибка java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern для MyGames авторизации.
  • Исправлена ошибка из-за которой MyGames авторизация не работала с GDK из UPM.

Модуль Billing-catappult:

  • [android] Добавлена поддержка Catappult.

Модуль Bank:

  • [android] Исправлена возможная потеря deviceId в http запросах валидации платежа.
  • Исправлено неверное значение поля PriceMicros для продуктов в WebGL (при цене более 2147)

Модуль Ironsource-Adapter:

  • Обновлен Apptimism SDK (Android 0.0.9, iOS 0.0.6)

Модуль Notifications:

  • [android] Исправлен сбой при нажатии на уведомление, если developerPayload содержит лишние кавычки

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.18.0, iOS 6.18.0

В данной версии:

Модуль MRGService:

  • [android] Добавлен новый класс MRGSProductInfo для отправки информации о продукте нового формата
  • [android] Обновлен androidx.core:core:1.9.0 до androidx.core:core-ktx:1.13.1
  • [android] Обновлен com.google.android.gms:play-services-ads-identifier с 18.0.1 до 18.1.0.
  • [android] Обновлен com.google.android.gms:play-services-appset с 16.0.2 до 16.1.0.
  • [android] Обновлен androidx.appcompat:appcompat с 1.6.1 до 1.7.0
  • [android] Обновлен kotlin с 1.8.22 до 1.9.23
  • [android] Улучшена работа очереди потоков, исправлена ошибка Thread pool blocking queue is full
  • Исправлен warning о пустых параметрах при отправке событий в MRGSTracker
  • [ios] Исправлена работа logger, теперь сообщения в консоли не будут обрезаться до 1024 символов

Модуль Authentication:

  • Добавлена поддержка MyGames авторизации для Microsoft Store через deeplink GDK SDK.
  • [android] Добавлена возможность открывать другой браузер с CustomTabs, если браузер использующийся по умолчанию не поддерживает CustomTabs. Если на устройстве нет браузера с CustomTabs, то будет открываться обычный браузер.
  • [android] Удалена зависимость androidx.localbroadcastmanager:localbroadcastmanager.
  • [android] Обновлен com.google.android.gms:play-services-games-v2 с 20.1.0 до 20.1.2

Модуль Advertising:

  • [android] Удалена зависимость androidx.localbroadcastmanager:localbroadcastmanager.
  • [android] Обновлен androidx.recyclerview:recyclerview c 1.2.1 до 1.3.2.
  • [android] Обновлен androidx.vectordrawable:vectordrawable с 1.1.0 до 1.2.0
  • [android] Исправлено получение имени видео файла из значения creative_video_file в MRGSAdvertisingCampaign.

Модуль Bank:

  • Добавлена поддержка Microsoft Store платежей через "GDK SDK".
  • [ios] Добавлены новые функции для открытия нового системного окна с интерфейсом для выбора и покупки подписок. Окно можно открыть передав groupId для показа группы подписок или передать массив id продуктов которые необходимо показать.
  • [android] Обновлен com.android.billingclient:billing c 6.0.1 до 7.1.1.
  • [android] Обновлен com.facebook.android:facebook-gamingservices с 16.0.1 до 17.0.2

Модуль GDPR:

  • [android] Обновлен com.bigossp:bigo-ads c 4.7.0 до 5.0.2.
  • [android] Обновлен com.moloco.sdk.adapters:moloco:2.1.1.0 до com.moloco.sdk:moloco-sdk:3.2.0
  • [android] Обновлен com.tappx.sdk.android:tappx-sdk c 4.0.6 до 4.1.6
  • [android] Обновлен com.unity3d.ads:unity-ads c 4.4.1 до 4.12.3
  • [android] Обновлен com.tapjoy:tapjoy-android-sdk c 12.11.0 до 14.1.0
  • [android] Обновлен com.my.target:mytarget-sdk c 5.16.2 до 5.22.1
  • [android] Обновлен com.vungle:publisher-sdk-android:6.12.0 до com.vungle:vungle-ads:7.4.1
  • [android] Обновлен com.fyber:fairbid-sdk c 3.33.1 до 3.55.0
  • [android] Обновлен com.facebook.android:facebook-core c 15.1.0 до 17.0.2
  • [android] Обновлен com.chartboost:chartboost-sdk c 9.1.1 до 9.7.0
  • [android] Обновлен com.applovin:applovin-sdk c 11.6.0 до 13.0.0
  • [android] Исправлена утечка Activity в CCPA.

Модуль Ironsource-Adapter:

  • Обновлен Apptimism SDK (Android 0.0.8, iOS 0.0.5)
  • [ios] Добавлены новые SKAD идентификаторы рекламных сетей для Apptimism

Модуль Notifications:

  • [android] Обновлен com.google.firebase:firebase-messaging с 24.0.0 до 24.0.3.
  • [android] Добавлены intent-фильтры для broadcast receivers.

Модуль Recommendations:

  • Добавлен новый тип события для Recsys - geo pricing.

Модуль Showcase:

  • [android] Удалена зависимость androidx.localbroadcastmanager:localbroadcastmanager.
  • [android] Обновлен androidx.browser:browser c 1.5.0 до 1.8.0.
  • [android] Обновлен androidx.recyclerview:recyclerview c 1.2.1 до 1.3.2.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.17.4, iOS 6.17.3

В данной версии:

Модуль MRGService:

  • Улучшено получение серверного времени для Standalone, Console, и WebGL платформ. Теперь поведение будет похоже на поведение мобильных платформ.
  • [android] Исправлена ошибка, когда терялись события MRGSMetrics если события были добавлены до инициализации MRGService и это был самый первый запуск приложения (при этом на последующих запусках приложения события не терялись)
  • [android] Исправлен сброс счетчика общего времени, проведенного в игре (allSession) при смене дня во время игры
  • Исправлена отправка данных о платежах в AppsFlyer при использовании ручной передачи данных о платежах

Модуль Bank:

  • Теперь MRGSBankEditor#RestorePurchases будет возвращать только последние купленные товары для NonCons и Subs, а также неуспешные Cons из кэша (RAM) для UnityEditor.

Модуль Advertising:

  • [android] Исправлены некоторые ошибки ANR
  • [ios] Исправлена ошибка отображения рекламы в случае, если с сервера был получен URL с параметрами

Модуль Didomi:

  • [android] Исправлены ошибки ANR

Модуль GDPR:

  • [android] Обновлены зависимости CCPA Mintegral

Модуль Notifications:

  • [android] Добавлена проверка данных на null в PostPermissionActivity.

Модуль Support:

  • Исправлена ошибка когда 'callbacks' не вызывались, если MRGSMyGamesSupport#CancelAccountDeletionRequest метод был вызван несколько раз с одним и тем же ticketId.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.17.3, iOS 6.17.2

В данной версии:

Модуль MRGService:

  • [ios] Минимальная версия XCode, необходимая для сборки повышена до 15.2
  • [ios] Добавлен сбор информации о версии XCode, которым было собрано приложение
  • [android] Добавлен сбор GAID, ASID, OA ID, ODID и Amazon advertising id и отправка их на сервер в виде отдельных параметров.
  • [android] Добавлена обработка всех ошибок в методе MRGSReflection.isClassExists().

Модуль Analytics:

  • [ios] Обновлен AppsflyerSDK с 6.15.1 до 6.15.3.

Модуль Bank:

  • [android] Изменен максимальный размер developerPayload в OnestoreBilling - уменьшен до 200 символов.
  • [ios] Исправлен краш MRGSBankProduct.init (мог возникать при попытке купить товар с включенным запретом на платежи)
  • [android] Исправлено исчезновение developerPayload при возобновлении работы приложения после onPause.
  • [android] Исправлена ошибка когда transactionId от Samsung Galaxy Store мог быть не отправлен в Appsflyer.
  • [android] Исправлен thread race condition, которое могло приводить к потере developerPayload при валидации платежа.

Модуль Didomi:

  • [ios] Обновлен Didomi SDK c 2.11.1 до 2.13.0.
  • [android] Обновлен io.didomi.sdk:android c 2.10.1 до 2.13.0

Модуль Firebase:

  • [ios] Обновлен Firebase SDK c 10.29.0 до 11.2.0.
  • [android] Обновлен com.google.firebase:firebase-analytics с 22.1.0 до 22.1.2

Модуль Ironsource-Adapter:

  • Обновлен Apptimism SDK (Android 0.0.7, iOS 0.0.4)
  • [ios] Исправлена версия зависимости Ironsource в pod файле для поддержки версий Ironsource 8+

Модуль MyTracker:

  • [android] Обновлен com.my.tracker:mytracker-sdk c 3.0.12 до 3.3.2
  • [android] Изменена minSdkVersion с 19 to 21.

Модуль Notifications:

  • [android] Добавлены блоки try/catch в методах создания уведомлений и добавлено отправка логов на сервер.

Модуль Support:

  • [android] Добавлена проверка доступности сети при отображении окна поддержки.

Подробнее о новых функциях и их использовании читайте в документации.


v6.17.2 Release (12-09-2024)🔗

Версии нативных SDK: Android 6.17.2, iOS 6.17.1

В данной версии:

Модуль MRGService:

  • [android] Исправлена ошибка с версии 6.17.0, из-за которой нельзя было ставить другие приложения в которых используется MRGS SDK из-за ошибки INSTALL_FAILED_DUPLICATE_PERMISSION: Package to redeclare permission games.my.mrgs.permission.OPEN_UDID already owned
  • Исправлена ошибка WebException: Error: NameResolutionFailure во время сборки проекта с MRGS SDK, которая приводила к остановки компиляции проекта.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.17.1, iOS 6.17.1

В данной версии:

Модуль MRGService:

  • [iOS] Удалена зависимость от iAd SDK, из-за которой возникали проблемы со сборкой на XCode 16.

Модуль Authentication-VKID:

  • [iOS] Добавлена поддержка поля email при авторизации.

Модуль Analytics:

  • Добавлено новое значение waitForTCF для события mrgs_dma_start.

Модуль Ironsource-Adapter:

  • SKAN сети, необходимые для Apptimism, теперь будут автоматически добавлены в Info.plist.
  • [Android] Обновлена зависимость Apptimism SDK до 0.0.4.
  • [iOS] Обновлена зависимость Apptimism SDK до 0.0.3.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.17.0, iOS 6.17.0

В данной версии:

Модуль MRGService:

  • Добавлен define MRGS_DISABLE_CORE для отключения модуля
  • [ios] Улучшена работа с OpenUDID - отключена генерация до старта sdk, добавлено сохранение в Keychain для получения значения при установке заново
  • [android] Добавлена возможность делиться OpenUDID между приложениями.
  • [android] Добавлен новый способ для генерации устойчивого OpenUDID
  • Добавлен новый ключ MRGSTrackerMediationNetwork.ToponPte для кастомных логов.
  • [android] Исправлена ошибка дублирования значения при использовании MRGService#setHost, что приводило к поломке сетевых запросов.
  • Исправлена работа сборщика версий SDK для IronSource версии 8 и выше
  • Исправлено наличие example проекта в UPM

Модуль Analytics:

  • [android] Удалена зависимость com.appsflyer:adrevenue.
  • [android] Обновлен com.appsflyer:af-android-sdk с 6.14.2 до 6.15.0.
  • [ios] Обновлен AppsFlyer SDK c 6.14.3 до 6.15.1.

Модуль Advertising:

  • [ios] Исправлен crash при показе рекламы из Ironsource 8.x

Модуль Bank:

  • [android] Исправлена работа восстановления подписок в Amazon - теперь отмененные и неактивные подписки не будут приходить в делегат

Модуль Didomi:

  • [android] Обновлен io.didomi.sdk:android c 2.7.0 до 2.10.1
  • [ios] Обновлен Didomi SDK c 2.8.0 до 2.11.1.

Модуль Firebase:

  • [android] Обновлен com.google.firebase:firebase-analytics с 22.0.1 до 22.1.0
  • [ios] Обновлен Firebase SDK c 10.27.0 до 10.29.0.

Модуль GDPR:

  • Добавлены настройки для Unity (Services -> MRGS -> GDPR -> Settings) для GDPR.
  • Изменены шрифты для GDPRUi/PIPAUi с кастомных на Unity default для Unity Standalone, Consoles, и WebGL.
  • Кастомные шрифты больше не будут добавляться в мобильные сборки, но они будут добавляться для Unity платформ: Standalone, Consoles, WebGL. Отключить добавление шрифтов для последних можно через настройки Services -> MRGS -> GDPR -> Settings: IncludeSdkFonts(true/false).
  • Добавлена возможность предоставить свои шрифты для GDPR (только для Standalone, Consoles, и WebGL платформ) через Services -> MRGS -> GDPR -> Settings: CustomFont(Font)

Модуль Ironsource-Adapter:

  • Добавлено автоматическое подключение Apptimism SDK. Для iOS SDK будет добавлено только для проектов с target версией 13 и выше. Возможно отключить с помощью define MRGS_DISABLE_APPTIMISM_SDK

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.16.1, iOS 6.16.1

В данной версии:

Модуль MRGService:

  • Добавлена внутренняя поддержка переключения хостов, на случай если некоторые страны блокируют доступы к MRGS ресурсам.
  • [android] Отключена проверка безопасности SSL соединения для всех сетевых запросов к MRGS серверу для Android 7.0 и ниже.
  • Изменен код чтобы поддержать Unity 2019 c netframework 2.0.

Модуль Authentication:

  • Добавлено автоматическое выставление MyGamesUserId при использовании авторизации в WebGL или на PC с использованием браузера
  • [android] Изменена минимальная требуемая версия Android c 4.4 (19 api) до 5.0 (21 api) для модуля MRGSGoogleSignIn
  • [android] Обновлен com.google.android.gms:play-services-games с 23.1.0 до 23.2.0.
  • [android] Обновлен com.google.android.gms:play-services-auth с 20.6.0 до 21.2.0.
  • [android] Изменена минимальная требуемая версия Android c 4.4 (19 api) до 5.0 (21 api) для модуля MRGSGooglePlay
  • [android] Обновлен com.google.android.gms:play-services-games-v2 с 17.0.0 до 20.1.0

Модуль Appsflyer:

  • [android] Обновлен com.appsflyer:af-android-sdk с 6.14.0 до 6.14.2.

Модуль Bank:

  • [android] Исправлена ошибка когда MRGSBillingDelegate#onReceiveFailedPurchase возвращал результат без ошибки для новой приватной реализации Google платежей.
  • Исправлена ошибка NullReferenceException: Object reference not set to an instance of an object at MRGS.Android.BankUtils.ToBankTransaction.

Модуль Didomi:

  • [android] Обновлен io.didomi.sdk:android c 2.5.1 до 2.7.0.
  • Исправлена сборка проекта на Linux системах

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.16.0, iOS 6.16.0

В данной версии:

Модуль MRGService:

  • Исправлена ошибка из-за которой MRGSUsers не восстанавливал данные из кеша.
  • Исправлена ошибка, когда MRGSDevice#Languange всегда возвращал null для PC и консолей.

Модуль Authentication:

  • Добавлен асинхронный метод isLoggedIn для более точной проверки состояния.
  • Добавлена поддержка MyGames авторизации на Windows через браузер.

Модуль GDPR:

  • Добавлена поддержка некоторого функционала MRGSGDPR для показа кастомного GDPR на PC и консолях.

Модуль Support:

  • Добавлена поддержка MyGamesSupport для ПК и WebGL

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.15.1, iOS 6.15.1

В данной версии:

Модуль MRGService:

  • Добавлена поддержка callback о загрузке рекламы на стороне JavaScript (WebGL) для платформы store.my.games
  • Уменьшено количество символов в пути к библиотекам в готовом проекте XCode
  • [android] Исправлена ошибка java.util.ConcurrentModificationException в MRGSTracker.

Модуль Bank:

  • Добавлено автоматическое закрытие TopUp (WebView) при успешной покупке
  • [ios] Исправлен краш при восстановлении незавершенной покупки на следующем запуске

Модуль Didomi:

  • [ios] Обновлен Didomi SDK c 2.5.0 до 2.8.0.

Модуль Firebase:

  • [ios] Обновлен Firebase SDK c 10.24.0 до 10.27.0.
  • [android] Обновлен com.google.firebase:firebase-analytics с 22.0.0 до 22.0.1

Модуль GDPR:

  • Добавлена поддержка новых библиотек для CCPA - Moloco и BigoAds

Модуль Advertising:

  • [android] Некоторые улучшения для отправки DSP ссылок.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.15.0, iOS 6.15.0

В данной версии:

Модуль MRGService:

  • [android] Исправлено подключение к google сервисам для автотрекинга, добавлен таймер обратного отсчета для ограничения автоматического количества попыток подключения.
  • [ios] Исправлен краш Collection was mutated while being enumerated. в MRGSModulesManager
  • [android] Исправлена ошибка ANR. Вызов getHwMemoryUse() был перенесен в фоновый поток внутри метода updateHwMemoryUse().

Модуль Authentication (Facebook):

  • Используемая версия Graph Api поднята до 19

Модуль Analytics:

  • [android] Исправлена ошибка, когда терялись события отправленные во время активного waitForCustomerUserId режима.
  • [android] Исправлена ошибка, когда AppsFlyer начинал отправку аналитики после снятия waitForCustomerUserId режима, но при этом еще не было получено соглашение от пользователя (DMA). Проблема возникала только при использовании waitForCustomerUserId режима.

Модуль Bank:

  • Добавлены новые поля isSandbox (сделан ли платеж в тестовом окружении) и usd (сумма платежа в долларах)
  • [ios] Добавлена экспериментальная поддержка StoreKit 2
  • [android] Исправлена ошибка java.lang.NoClassDefFoundError: Failed resolution of: Lcom/amazon/device/drm/LicensingListener. Данная ошибка больше не будет приводить к падению приложения.

Модуль GDPR:

  • Исправлен показ окна PIPA на маленьких экранах

Подробнее о новых функциях и их использовании читайте в документации.


v6.14.3 Release (16-05-2024)🔗

Версии нативных SDK: Android 6.14.3, iOS 6.14.3

В данной версии:

  • Исправлена ошибка при проверки подписи сторонних библиотек, идущих в комплекте с SDK.
  • Изменен способ поставки PrivacyManifest для избежания проблем сборки на XCode 15.3

Модуль MRGService:

  • [Android] Исправлена ANR ошибка при вызове MRGSTracker#Flush().

Модуль Authentication:

  • [iOS] Исправлено отсутствие callback авторизации в MyGames и Facebook при блокировке устройства.
  • [iOS] Исправлена ошибка авторизации в Apple Game Center.
  • [iOS] Исправлена ошибка The bundle 'MRGSAuthenticationFacebook.framework' is missing plist key.

Модуль Analytics:

  • [iOS] Обновлен AppsFlyer AdRevenue SDK c 6.9.1 до 6.14.3.

Модуль Bank:

  • Улучшена работа валидации платежа для WebGL

Модуль Is-adapter:

  • [iOS] Исправлена ошибка Use of unimplemented initializer

Подробнее о новых функциях и их использовании читайте в документации.


v6.14.2 Release (07-05-2024)🔗

Версии нативных SDK: Android 6.14.2, iOS 6.14.2

В данной версии:

Модуль Analytics:

  • [iOS] Обновлен AppsFlyer SDK c 6.13.1 до 6.14.3.
  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.13.0 до 6.14.0.

Модуль Didomi:

  • [iOS] Обновлен Didomi SDK c 2.2.0 до 2.5.0.
  • [Android] Обновлен io.didomi.sdk:android c 2.4.0 до 2.5.1.

Модуль Firebase:

  • [iOS] Обновлен Firebase SDK c 10.23.0 до 10.24.0.
  • [Android] Обновлен com.google.firebase:firebase-analytics с 21.6.2 до 22.0.0.
  • [Android] Изменена минимальная требуемая версия Android c 4.4 (19 api) до 5.0 (21 api).

Модуль Notification:

  • [Android] Обновлен com.google.firebase:firebase-messaging с 23.1.2 до 24.0.0.
  • [Android] Изменена минимальная требуемая версия Android c 4.4 (19 api) до 5.0 (21 api).

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.14.1, iOS 6.14.1

В данной версии:

  • Минимальная версия iOS поднята до 12.0
  • [ios] Добавлена поддержкаApple Privacy Manifest

Модуль MRGService:

  • Добавлена отправка firebaseInstanceId в события MRGS
  • [android] Добавлен флаг для отключения автоматического трекинга платежей из удаленного конфига.
  • [android] Изменен способ генерации sessionId c MD5 на UUID v4 для уменьшения коллизий.

Модуль Authentication:

  • Исправлена ошибка InvalidOperationException: Steamworks is not initialized, когда вместо завершения операции, пытались получить токен от неинициализированного Steam в work-thread.

Модуль Bank:

  • [android] Изменено поведение метода restoreTransaction для Amazon. Теперь поведение метода будет похоже на поведение Google платежей, метод больше не будет пытаться грузить недостающие продукты, а будет обращаться к локальному кэшу с продуктами, который формируется при вызове requestProducts, и будет возвращаться ошибку в onReceiveFailedPurchase если не удалось найти продукт в локальном кэше.
  • [android] Исправлена ошибка, когда не проводилось восстановление транзакций если на устройстве отсутствовал кеш, что данный платеж проводился именно на этом устройстве. Теперь платеж будет восстанавливаться в не зависимости на каком устройстве пользователь делает восстановление.
  • [android] Исправлена ошибка, когда в редких случаях, после валидации платежа, вызывалось закрытие транзакция для всех не валидированных платежей для OneStore.

Модуль Didomi:

  • [ios] Обновлен Didomi SDK c 1.98.0 до 2.2.0.
  • Обновлен DidomiPostProcessorGradleAndroidProject. Теперь он будет заменять Unity activity на FragmentActivity вместо AppCompatActivity, не будет больше заменять дефолтные стили и перестанет модифицировать android manifest.
  • [android] Обновлен io.didomi.sdk:android c 1.90.0 до 2.4.0.
  • [ios] Исправлена работа с DMA, если пользователь не попадает под действие TCF

Модуль Firebase:

  • [android] Обновлен com.google.firebase:firebase-analytics с 21.6.1 до 21.6.2.

Модуль Ironsource:

  • Добавлена поддержка Unity.LevelPlay asmdef

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.14.0, iOS 6.14.0

В данной версии:

Модуль MRGService:

  • [iOS] Исправлена работа метода запроса разрешения на трекинг (ATT) на iOS 17.4 - теперь метод работает корректно, несмотря на баг в iOS.
  • [Android] Исправлен возможный ANR из-за записи отладочных журналов для удаленной отладки.
  • [Android] Исправлены ошибки NullPointerException и ANR в TransferManager.
  • [Android] Исправлены некоторые ошибки которые могли приводить к падениям MRGService.
  • [Android] Исправлен сбой при подключения к Google Billing при автоматическом трекинге платежей.

Модуль Authentication:

  • Добавлена поддержка авторизации на платформе store.my.games для Unity WebGl сборок.

Модуль Bank:

  • Добавлена поддержка платежей на платформе store.my.games для Unity WebGl сборок.

  • [Android] Исправлена ошибка ForegroundTaskPipeline: No UI visible to execute task из-за которой не запускалось платежное окно в Amazon IAP SDK в Unity сборках.

Модуль Didomi:

  • [iOS] Добавлен новый метод OnSkippedDueToAtt, который необходимо вызывать, если TCF был пропущен, так как пользователь не согласился с передачей IDFA.

  • Изменено поведение для вызова FirebaseAnalytics#setAnalyticsCollectionEnabled. Теперь данный метод будет вызываться даже если пользователь не попадает под показ TCF, чтобы избежать блокировки для сбора данных Firebase.

Модуль Firebase:

  • Добавлен новый метод FirebaseAnalytics#SetAnalyticsCollectionEnabled(bool)

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.13.3, iOS 6.13.3

В данной версии:

Модуль Analytics:

  • [iOS] Улучшена работа deeplink и работа с атрибуцией в AppsFlyer при запуске остановленного приложения

Модуль Advertising:

  • Добавлена поддержка дополнительных трекинговых ссылок (процент просмотра ролика) для AdTech
  • [Android] Отключено кэширование сетевых запросов для AdTech.

Модуль Bank:

  • [Android] Исправлена ошибка при сборке проекта, если проект использовал обфускацию с proguard-android-optimize.txt

Модуль Didomi:

  • MRGSDidomi будет также вызывать FirebaseAnalytics#setAnalyticsCollectionEnabled с true, после каждого вызова FirebaseAnalytics#setConsent.

Модуль Firebase:

  • [iOS] Обновлен Firebase SDK c 10.22.0 до 10.23.0.
  • [Android] Обновлен com.google.firebase:firebase-analytics с 21.5.1 до 21.6.1.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.13.2, iOS 6.13.2

В данной версии:

  • Исправлены ошибки JVM Verifier rejected class которые приводили к проблемам на некоторых версиях Android из-за того что kotlin в MRGS SDK компилировался старым компилятором.

Модуль MRGService:

  • Исправлена ошибка с копированием aar в сборки на android и добавлением их в gradle

Модуль Analytics:

  • [Android] Исправлен краш, когда MRGSAnalytics модуль добавляли в проект но не передавали MRGSAppsFlyerParams для инициализации AppsFlyer.
  • Исправлена ошибка при сборке use of '@import' when C++ modules are disabled

Модуль Advertising:

  • [Android] Обновлены правила обфускации.

Модуль Bank:

  • [Android] Обновлены правила обфускации.
  • [Android] Исправлена работа MyGames платежей (WebView).

Модуль Firebase:

  • [iOS] Обновлен Firebase SDK c 10.21.0 до 10.22.0.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.13.1, iOS 6.13.1

В данной версии:

Модуль MRGService:

  • Исправлена ошибка в MRGSSDKVersionsReporter, приводящая к падениям при сборке проекта.

Модуль Advertising:

  • [iOS] Исправлена работа окна магазина внутри приложения при воспроизведении рекламы.

Модуль Bank:

  • Исправлены ошибки в эмуляции работы банка в Editor.
  • [Android] Исправлена ошибка com.amazon.a.a.o.a.b: Executing thread must be thread: 2, was: N при попытке проинициализировать Amazon IAP не из Android main-thread.

Модуль Didomi:

  • [Android] Исправлена ошибка java.lang.ClassNotFoundException: games.my.mrgs.analytics.MRGSAnalytics.

Модуль Showcase:

  • [iOS] Исправлена работа окна магазина внутри приложения.

Подробнее о новых функциях и их использовании читайте в документации.


v6.13.0 Release (21-03-2024)🔗

Версии нативных SDK: Android 6.13.0, iOS 6.13.0

В данной версии:

  • Добавлена поддержка DMA для AppsFlyer и Firebase.
  • [Android] Минимальная требуемая версия kotlin 1.8.22.

Модуль MRGService:

  • Добавлен новый метод MRGSUsers#SetMyGamesUserId(string) для выставления MyGames UserId для PC сборок, для случаев работы с магазином не через MRGS.

  • Улучшена поддержка define, теперь Android библиотеки не будут попадать в сборку, если MRGS модуль был отключен при помощи MRGS_DISABLE_{Module}.

  • [iOS] Добавлен сбор признака запуска iOS приложения на Mac с процессором M серии.
  • [iOS] Улучшена проверка наличия jailbreak на устройстве.

  • Исправлен краш в MRGSDoOnMainThread при первом обращении к нему не из главного потока.

  • [Android] Исправлена ошибка когда автоматический трекинг платежей не отключался при использовании MRSRGBank модуля, из-за чего автоматический трекинг делал лишний сетевой запрос на валидацию платежей.

Модуль Advertising:

  • [Android] Улучшена проверка hash для скачанных креативов в AdTech.

  • [iOS] Исправлен сброс кеша при работе через IronSource adapter.

Модуль Analytics:

  • [iOS] Обновлен AppsFlyer SDK c 6.12.3 до 6.13.1.
  • [Android] Обновлен com.appsflyer:af-android-sdk c 6.12.1 до 6.13.0.

  • [Android] Исправлена ошибка когда MRGSAnalytics не принимал и не отправлял платежи в AppsFlyer, если использовался автоматический трекинг платежей.

Модуль Bank:

  • Добавлено новое свойство MRGServiceParams#BankVersionAtFirstRun для смены версии на первом запуске приложения. Для последующих запусков будет использоваться версия из remote config.

  • Исправлена работа оплаты через СБП в MyGames (WebView)

Модуль Firebase:

  • [iOS] Обновлен Firebase SDK c 10.13.0 до 10.21.0.
  • [Android] Обновлен com.google.firebase:firebase-analytics c 21.3.0 до 21.5.1.

Модуль Didomi:

  • Добавлен новый метод MRGSDidomi#Reset().

  • [Android] Обновлен io.didomi.sdk:android c 1.89.0 до 1.90.0.

Модуль GDPR:

  • [Android] Изменена ширина кнопки диалогового окна COPPA.

Модуль IronSource-Adapter:

  • Добавлена отправка данных о GDPR в AdTech.

Подробнее о новых функциях и их использовании читайте в документации.


v6.12.0 Release (27-02-2024)🔗

Версии нативных SDK: Android 6.12.0, iOS 6.12.0

В данной версии:

Модуль MRGService:

  • Добавлен сбор версий некоторых сторонних SDK.
  • Добавлен новый метод MRGSUsers#SetEmail(string) для передачи email пользователя в MRGS.
  • Добавлено свойство MRGSDevice#Language для получения языка устройства.
  • [Android] Добавлена поддержка автоматического трекинга платежей для Google Play. Данный функционал включен по умолчанию, и отправит исторические данные при первом старте на сервера MRGS.

Модуль Authentication:

  • [iOS] Добавлены методы для показа AccessPoint и Common Dashboard для Apple Game Center.

  • Исправлена проблема сборки, если проект использует .NET 2.0.

  • Исправлен краш из-за NullReferenceException, если вызывали MRGSAuthenticationMyGames#Login метод в приложении, которое не было запущено из под MyGames/Steam launcher.

Модуль Analytics:

  • Добавлена поддержка отправки платежей в AppsFlyer с сервера MRGS.
  • [iOS] Обновлен AppsFlyer SDK c 6.12.1 до 6.12.3.

Модуль Bank:

  • Добавлена поддержка эмуляции работы MRGSBank в UnityEditor.

  • [Android] Обновлен Samsung IAP SDK c 5.0.1 до 6.1.0.

  • [Android] Обновлен Amazon IAP SDK с 2.0.76 до 3.0.4.

  • [Android] Исправлена ошибка когда MRGSBank неправильно завершал операцию по работе с пустым чеком, из-за чего могло вызываться несколько callback у клиента.

  • [Android] Исправлена долгая валидация при наличии в истории транзакций с одинаковыми user и transaction id.

Модуль Didomi:

  • Добавлено новое свойство MRGSDidomi#ShouldUserStatusBeCollected.
  • [Android] Добавлена поддержка Android SDK Activity для работы с Didomi для проектов которые не используют Androidx функционал.

  • [iOS] Обновлен Didomi SDK c 1.95.1 до 1.98.0.

  • [Android] Обновлен io.didomi.sdk:android c 1.87.0 до 1.89.0.

Модуль GDPR:

  • [Android] Исправлено условие для показа кнопки CCPA, теперь поведение будет таким же как на iOS.

Модуль Notifications:

  • [Android] Добавлена поддержка различных стилей расширенных уведомлений и улучшена поддержка кастомных уведомлений.

  • [Android] Исправлено поведение включения уведомлений на Android 13 (при выключенном отложенном старте).

Модуль Support:

  • Добавлена поддержка MRGSMyGamesSupport#CustomUserID для PC и консолей.
  • Добавлена поддержка MRGSMyGamesSupport#RequestAccountDeletion для PC и консолей.
  • Добавлена поддержка MRGSMyGamesSupport#CancelAccountDeletionRequest для PC и консолей.

Подробнее о новых функциях и их использовании читайте в документации.


v6.11.2 Release (29-01-2024)🔗

Версии нативных SDK: Android 6.11.2, iOS 6.11.1

В данной версии:

Модуль MRGService:

  • Исправлена ошибка приводящая к падению приложения Couldn't parse token. Value was either too large or too small for a character.
  • [Android] Исправлена ошибка, когда в редких случаях не отправлялось событие applicationRun, из-за чего не отмечались установки в 1Link.
  • [Android] Исправлен ANR при вызове метода MRGSDevice#GetHwMemoryUse().
  • [Android] Исправлена редкая ошибка IndexOutOfBoundsException при вызове метода MRGSDevice#GetHwMemoryUse().

Модуль Advertising:

  • [Android] Исправлен ANR при загрузке рекламы.

Модуль Showcase:

  • [Android] Исправлен ANR при загрузке рекламы.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.11.1, iOS 6.11.1

В данной версии:

Модуль MRGService:

  • Исправлена ошибка с DownloadHandler.error для Unity 2019.4.+.

Модуль Advertising:

  • Улучшен алгоритм вычисления средней цены рекламы для AdTech.
  • Улучшен подход к проверке рекламы для AdTech.

Модуль Authentication:

  • Добавлена поддержка AccessToken для авторизации MyGames/Steam.

  • [Android] Исправлена проблема с "web-авторизацией" на платформе Google Play Games on PC.

Модуль Bank:

  • [Android] Добавлена обработка ошибки RESULT_NEED_LOGIN при инициализации OneStore IAP SDK.

  • [Android] Исправлена ошибка из-за которой отправлялся пустой developerPayload на сервер MRGS для OneStore платежей.

Модуль GDPR:

  • [iOS] Исправлена локализация для корейского языка.

Модуль IronSource-Adapter:

  • Улучшена загрузка рекламы для AdTech.

  • [iOS] Исправлен возможный краш.

Подробнее о новых функциях и их использовании читайте в документации.


v6.11.0 Release (17-01-2024)🔗

Версии нативных SDK: Android 6.11.0, iOS 6.11.0

В данной версии:

Модуль Bank:

  • Добавлена поддержка OneStore платежей.

Модуль GDPR:

  • Добавлена поддержка корейского закона PIPA.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.10.1, iOS 6.10.1

В данной версии:

  • Изменен namespace с Editor.MRGS на MRGS.Editor для избежания конфликтов.

Модуль MRGService:

  • Добавлена поддержка MRGService#SetHost(string) для PC и консолей.
  • Добавлена поддержка унифицированных логов для PC и консолей.

  • Переписана работа с сетью для PC, WebGl и консолей для устранения проблем приводящих к фризам.

  • Переписан приватный функционал для MRGSDevice#GetGeoIpInfo(Action<MRGSGeoIpInfo, MRGSError> метода для PC и консолей.

  • Исправлена ошибка, из-за которой MRGSDevice#GetCountry() возвращал код языка вместо кода страны. Теперь он возвращает код страны или null.

Модуль Advertising:

  • [iOS] Улучшено кеширование кампаний для AdTech.

Модуль Didomi:

  • Изменена работа DidomiEventListener - теперь события будут вызываться в главном потоке.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.10.1, iOS 6.10.0

В данной версии:

Модуль Didomi:

  • [Android] Обновлен io.didomi.sdk:android c 1.85.1 до 1.87.0.

  • [Android] Исправлена ошибка с отправкой метрик для MRGSDidomi.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.10.0, iOS 6.10.0

В данной версии:

  • Изменен формат поставки iOS библиотек - теперь они поставляются zip-архивом, что позволяет избежать ошибок при импорте.

Модуль MRGService:

  • Добавлен новый метод MRGService#SetHost(string) для смены сетевого адреса в MRGService.

  • [iOS] Исправлены возможные утечки памяти.

Модуль Advertising:

  • Улучшено кеширование роликов для AdTech - теперь коллизий при загрузке возникать не будет.
  • [iOS] Добавлена поддержка SKAdNetwork кампаний для AdTech.

  • [Android] Исправлена работа PlayableAds в Unity - добавлена PlayableAdsActivity для запуска PlayableAdsFragment.

Модуль Authentication:

  • Исправлено значение SocialID для MRGSAuthenticationGoogleGames.
  • [Android] Исправлена отправка событий socialLogin и socialUser когда используется GooglePlayGamesV2.

Модуль Didomi:

  • Добавлен новый модуль MRGSDidomi для поддержки TCF.

Модуль Firebase:

  • [Android] Изменено поведение для отправки событий mrgs_valid_inapp_N_dollars_plus. Теперь данные события будут также отсылаться и для тестовых платежей.

Модуль GDPR:

  • Метод MRGSGDPR#setUserChangedCCPAPrefrences(MRGSCCPAUserPreference) помечен как deprecated. Используйте MRGSGDPR#SetUserChangedCCPAPreference(MRGSCCPAUserPreference).
  • Метод MRGSGDPR#shouldShowCCPAButton() помечен как deprecated. Используйте MRGSGDPR#ShouldShowCCPAButton.
  • Метод MRGSGDPR#getCurrentCCPAUserPrefrences() помечен как deprecated. Используйте MRGSGDPR#CurrentCCPAUserPreference.
  • Метод MRGSGDPR#openLinkInWebView(string, string) помечен как deprecated. Используйте MRGSGDPR#OpenLinkInWebView(string, string).
  • Метод MRGSGDPR#resetModule() помечен как deprecated. Используйте MRGSGDPR#ResetModule().

Модуль GameCenter:

  • Модуль MRGSGameCenter помечен как deprecated и будет удален в ближайшем будущем.

Модуль IronSource-Adapter:

  • Добавлен механизм обновления plist приложения при сборке для включения в него skad идентификаторов сетей, необходимых для работы AdTech.
  • Добавлена дополнительная статистика по принятым соглашениям и настройкам при запросах на сервер.

Модуль Notifications:

  • [iOS] Добавлено свойство authorizationStatus в объект MRGSNotificationSettings - позволяет получить текущий статус разрешения на уведомления.

Модуль Showcase:

  • Изменен шрифт в заголовке витрины с gotham на open-sans.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.9.4, iOS 6.9.1

В данной версии:

Модуль GDPR:

  • Исправлена ошибка когда показывалось окно обновления соглашения вместо смены издателя если у пользователя была ранее принята версия 1591736400.
  • [Android] Исправлена ошибка когда callback не был вызван через MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>) если показывали COPPA через MRGSGDPR и COPPA вернула ошибку.
  • [Android] Исправлена ошибка когда методы показа соглашения могли пропустить показ обновления соглашения или смене издателя до следующего перезапуска приложения.

Подробнее о новых функциях и их использовании читайте в документации.


v6.9.4 Release (14-11-2023)🔗

Версии нативных SDK: Android 6.9.3, iOS 6.9.0

В данной версии:

Модуль GDPR:

  • [Android] Изменена логика работы MRGSGDPR#showDefaultAgreement(string) метода для показа дефолтного файла при смене издателя.

Подробнее о новых функциях и их использовании читайте в документации.


v6.9.3 Release (14-11-2023)🔗

Версии нативных SDK: Android 6.9.2, iOS 6.9.0

В данной версии:

Модуль GDPR:

  • [Android] Исправлена ошибка, когда MRGSGDPR#shouldShowGDPR(string, bool, Action<bool>) метод считывал isEUOnly флаг из MRGSGDPR#onlyForEU(bool) вместо переданного параметра. Теперь будет считывать только переданный параметр и игнорироваться MRGSGDPR#onlyForEU(bool).
  • [Android] Исправлен ClassCastException для MRGSGDPR#getAgreementTime() и MRGSGDPR#getAcceptedAgreement() методов.
  • [Android] Исправлена логика с некорректным выбором файла для случаев смены издателя и для случаев обновления версии соглашения с рекламой.

Подробнее о новых функциях и их использовании читайте в документации.


v6.9.2 Release (10-11-2023)🔗

Версии нативных SDK: Android 6.9.1, iOS 6.9.0

В данной версии:

Модуль GDPR:

  • [Android] Изменена логика для MRGSGDPR#setPublisherUpdateHTMLFilePath(string) для обработки null значений.

  • [Android] Исправлена ошибка из-за которой новый метод MRGSGDPR#ShowAgreement() не считывал значение MRGSGDPRShowParam#isAutomaticCOPPAFlowEnabled.

  • [Android] Исправлена проблема с выбором китайской локализации для GDPR на основе локализации устройства пользователя.
  • [Android] Исправлен краш в COPPA, когда не удавалось продолжить COPPA после принятия соглашения.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.9.0, iOS 6.9.0

В данной версии:

Модуль GDPR:

Исправлены ошибки сборки для Android и Desktop платформ

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.9.0, iOS 6.9.0

В данной версии:

Модуль MRGService:

  • [iOS] Исправлен возможный краш в -[MRGSServerMessage addRequiredFieldsToRequest]

Модуль GDPR:

  • Добавлена поддержка показа GDPR для случаев смены издателя.
  • Улучшено определение необходимости показа соглашения - теперь оно происходит до перезапуска приложения.
  • Добавлена поддержка чтения файлов из StreamingAssets (теперь достаточно передать в методы только его имя).
  • Улучшена локализация - теперь локализация соглашения будет автоматически выбираться на основе текущего языка пользователя

  • Добавлен новый метод MRGSGDPR#Setup(string, string) для инициализации MRGSGDPR и MRGSCOPPA.

  • Добавлен новый метод MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>) для показа GDPR окна.
  • Добавлен новый метод MRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>) для проверки возможности показать пользователю GDPR окна.
  • Добавлен новый метод MRGSGDPR#OnAgreementAccepted(bool) чтобы уведомить MRGS что пользователь принял соглашение в не MRGS GDPR окна. (Для случаев показа свои собственных окон).
  • Добавлен новый временный метод MRGSGDPR#setPublisherUpdateHTMLFilePath(string) для выставления пути к собственному html файлу для случаев смены издателя.
  • Добавлено новое свойство MRGSGDPR#Instance для получения экземпляра MRGSGDPR класса.
  • Добавлено новое свойство MRGSGDPR#OnlyEu выставления ограничения показа GDPR окна только для Евросоюза.
  • Добавлено новое свойство MRGSGDPR#ShowDelegate для выставления слушателя событий показа MRGS GDPR окна.
  • Добавлено новое свойство MRGSGDPR#AcceptedAgreement для получения информации по последнему принятому соглашению пользователем.
  • Добавлено новое свойство MRGSGDPR#SupportedLocalizations для получения списка доступных локализаций из SDK файла mrgsgdpr_langs.json.

  • Добавлен новый класс MRGSGDPRAgreement содержащий информацию по текущей версии GDPR в MRGS консоли.

  • Добавлен новый класс MRGSGDPRAcceptedAgreement содержащий информацию по принятому соглашению пользователем.
  • Добавлен новый класс MRGSGDPRLocalization содержащий разный набор свойств для локализации html страниц в MRGSGDPR SDK.
  • Добавлен новый класс MRGSGDPRShowParams содержащий разный набор свойств для изменения поведения показа MRGS GDPR окна.
  • Добавлен новый enum MRGSGDPRShowReason определяющий причины показа MRGS GDPR окна.
  • Добавлен новый класс MRGSGDPRShowResult содержащий результат показа MRGS GDPR окна.

  • Метод MRGSGDPR#getInstance помечен как устаревшим. Используйте MRGSGDPR#Instance.

  • Метод MRGSGDPR#onlyForEU(bool) помечен как устаревшим. Используйте MRGSGDPR#OnlyEu.
  • Метод MRGSGDPR#withAdvertising(bool) помечен как устаревшим. Используйте MRGSGDPRShowParams#WithAdvertising.
  • Метод MRGSGDPR#enableAutomaticCOPPAFlow(string, string) помечен как устаревшим. Используйте MRGSGDPRShowParams#AutomaticCoppaFlow.
  • Метод MRGSGDPR#setLocalizationLanguage(string) помечен как устаревшим. Используйте MRGSGDPRShowParams#Localization.
  • Метод MRGSGDPR#setUseWebViewForExternalLinks(bool) помечен как устаревшим. Используйте MRGSGDPRShowParams#UseWebViewForExternalLinks.
  • Метод MRGSGDPR#getAgreementTime() помечен как устаревшим. Используйте MRGSGDPR#AcceptedAgreement.
  • Метод MRGSGDPR#getAgreedVersion() помечен как устаревшим. Используйте MRGSGDPR#AcceptedAgreement.
  • Метод MRGSGDPR#getSupportedLocalizations() помечен как устаревшим. Используйте MRGSGDPR#SupportedLocalizations.
  • Метод MRGSGDPR#showDefaultAgreement(string) помечен как устаревшим. Используйте MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>).
  • Метод MRGSGDPR#showAgreementFromFile(string, string) помечен как устаревшим. Используйте MRGSGDPR#ShowAgreement(MRGSGDPRShowParams, Action<MRGSGDPRShowResult, MRGSError>).
  • Метод MRGSGDPR#checkIfUserGetsUnderGDPR(string, Action<bool>) помечен как устаревшим. Используйте MRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>).
  • Метод MRGSGDPR#shouldShowGDPR(string, bool, Action<bool>) помечен как устаревшим. Используйте MRGSGDPR#ShouldShowAgreement(Action<MRGSGDPRShowReason, MRGSGDPRAgreement>) и MRGSGDPR#OnlyEu.
  • Метод MRGSGDPR#setUserHasAcceptedAgreement(bool, bool, int) помечен как устаревшим. Используйте MRGSGDPR#OnAgreementAccepted(bool).
  • Интерфейс MRGSGDPR.IShowDelegate помечен как устаревшим. Используйте MRGSGDPR.IOnShowDelegate.

Модуль IronSource-Adapter:

  • [Android] Исправлена ошибка из-за которой, после просмотра рекламы, в редких случаях могло отправиться большое кол-во дублированных событий показа, завершения, кликов и прочих событий.

Модуль Notifications:

  • Исправлена работа свойства Authorization в объекте MRGSNotificationSettings для iOS - теперь оно будет возвращать актуальную для платформы информацию

Подробнее о новых функциях и их использовании читайте в документации.


v6.8.1 Release (17-10-2023)🔗

Версии нативных SDK: Android 6.8.1, iOS 6.8.0

В данной версии:

Модуль MRGService:

  • [Android] Исправлена ошибка когда MRGService мог некорректно отслеживать сессии в приложении. Также это могло влиять на поведение: рекламы (MRGSAdvertising), авторизации (MRGSAuthentication), уведомлений (MRGSNotifications), и платежей (MRGSBank). Обычно это приводило к невозможности отображать UI в редких случаях.

Модуль Notifications:

  • [Android] Исправлен NullPointerException при запросе разрешения на отправку уведомлений.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.8.0, iOS 6.8.0

В данной версии:

  • [Android] Добавлена поддержка Android 14.
  • [Android] Обновлен androidx.core:core c 1.7.0 до 1.9.0.
  • [Android] Обновлен androidx.appcompat:appcompat c 1.4.2 до 1.6.1.

Модуль MRGService:

  • Добавлено новое свойство MRGSGeoIpInfo#City для получения названия города.

  • [Android] Обновлен com.huawei.hms:ads-identifier c 3.4.58.301 до 3.4.62.300.

  • [Android] Обновлен com.huawei.hms:opendevice c 6.9.0.300 до 6.11.0.300.
  • [Android] Исправлена ошибка, когда свойство MRGService#ServerTime в некоторых случаях возвращало 0. Улучшена работа по трекингу серверного времени, теперь оно всегда будет актуальным с запуска приложения и до перезагрузки устройства.

  • Исправлена ошибка с неправильным определением типа и качества интернет-соединения.

Модуль Advertising:

  • Расширена поддержка click-ссылок для AdTech

  • [Android] Исправлена ошибка Not attached to Activity для VideoAdsFragment.

  • [Android] Исправлена ошибка когда onSaveInstanceState был вызван перед закрытием VideoAdFragment.
  • [iOS] Исправлена ошибка с двойным вызовом трекинг ссылок в AdTech.

Модуль Analytics:

  • [iOS] Добавлено поле quantity при отправке платежа в AppsFlyer.

Модуль Authentication:

  • [Android] Обновлен com.google.android.gms:play-services-auth с 20.4.0 до 20.6.0.
  • [Android] Обновлен androidx.browser:browser с 1.3.0 до 1.5.0.

  • [Android] Исправлена ошибка когда onSaveInstanceState был вызван перед закрытием диалога MyGamesLoginFragment.

Модуль Bank:

  • [Android] Обновлен com.huawei.hms:iap с 6.1.0.300 до 6.4.0.301.

  • [Android] Исправлена ошибка Too many bind requests 999+ из-за проблем установки соединения с Google Service.

Модуль Firebase:

  • [iOS] Добавлено поле quantity при отправке платежа в Firebase.

Модуль IronSource-Adapter:

  • Добавлена поддержка дополнительных параметров в запросах к серверу.

  • [Android] Исправлен NullPointerException при попытке высвободить ресурсы.

  • [Android] Исправлена ошибка когда случайно удалялся приготовленный для показа контент.
  • [Android] Исправлена ошибка когда IronSource не мог создать MRGSCustomAdapter, если использовалась старая версия IronSource SDK.

Модуль IronSource:

  • Добавлена проверка интеграции для модуля MRGSIronSource.

Модуль Notifications:

  • [Android] Обновлен com.huawei.hms:push с 6.7.0.300 до 6.11.0.300.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.7.2, iOS 6.7.2

В данной версии:

Модуль MRGService:

  • [Android] Исправлена ошибка некорректной отправки данных через метод MRGSTracker#TrackEvent(String, IDictionary<string, object>).

Модуль Analytics:

  • Исправлена ошибка, когда MRGSAppsFlyerDeepLink возвращался с незаполненными свойствами для Android платформы.
  • [Android] Исправлен регресс, с момента выхода релиза 6.7.1, из-за которого перестали отправляться события по платежам в AppsFlyer.

Модуль Advertising:

Модуль GDPR:

  • Добавлена поддержка CCPA для новых библиотек: Tappx и Ogury.

  • [Android] Исправлена редкая ошибка NullPointerException при попытке показать GDPR при помощи FragmentDialog(WebView).

  • [Android] Исправлена ошибка ActivityNotFoundException при попытке перейти в браузер по ссылке, если на устройстве нет браузера.
  • [iOS] Исправлено количество запросов к GeoIp

Модуль IronSource-Adapter:

  • Исправлена версия зависимости MRGSAdvertising (ранее всегда была 6.3.0) для Unity Package Manager.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.7.1, iOS 6.7.1

В данной версии:

Модуль MRGService:

  • Добавлена поддержка метода MRGService#ConfirmBonus(string) для PC и консолей.
  • Добавлена поддержка метода MRGService#LoadServerData() для PC и консолей.

  • [Android] Обновлены правила proguard для агрессивного obfuscation (android.enableR8.fullMode=true).

  • Исправлен NullPointerException если вызывали функции MRGSMetrics до инициализации MRGService.

  • [iOS] Исправлена ошибка при проверке приложения в AppStore Connect - ITMS-90338: Non-public API usage (restoreState).

Модуль Authentication:

  • [iOS] Исправлена работа метода login в авторизации MyGames - теперь он будет вызывать окно входа даже при существующей сессии.
  • [Android] Исправлена ошибка при попытке авторизоваться в MyGames через браузер, когда система уничтожала данные нужные для авторизации.

Модуль Firebase:

  • Исправлена ошибка из-за которой метод MRGSFirebase#GetAppInstanceId() не мог вернуть данные для платформы Android.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.7.0, iOS 6.7.0

В данной версии:

  • Добавлен новый модуль ISMRGSCustomAdapter - адаптер кросс-промо в связке с DSP для IronSource.

Модуль MRGService:

  • Исправлена работа менеджера потоков, которая в редких случаях могла приводить к падениям.
  • [Android] Исправлена ошибка приводящая к дублированию MRGS логов в Logcat.

Модуль Bank:

  • [Android] Обновлен com.android.billingclient:billing с 4.1.0 до 6.0.1.

Модуль GDPR:

  • Добавлен новый метод MRGSGDPR#SetBackgroundColor(float, float, float, float) для выставления background для WebView.

  • [iOS] Исправлена ошибка с белым фоном в WebView.

Модуль Analytics:

  • [iOS] Обновлен AppsFlyer SDK с 6.12.0 до 6.12.1.

Модуль Firebase:

  • [iOS] Обновлен Firebase SDK с 10.12.0 до 10.13.0.

Модуль Authentication:

  • [iOS] Обновлен VKId SDK с 0.102.0 до 0.103.0.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.6.0, iOS 6.6.0

В данной версии:

  • Добавлена поддержка отключение модулей при помощи MRGS_DISABLE_<MODULE> define.

Модуль MRGService:

  • Добавлено новое MRGServiceParams#UserAnonymization свойство для анонимизации пользователя в сетевых запросах на сервер.

  • [Android] Исправлена ошибка когда MRGSDevice#GetAdvertisingId мог вернуть null в callback.

Модуль Analytics:

  • [iOS] Обновлен AppsFlyer SDK с 6.11.1 до 6.12.0.
  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.11.1 до 6.12.1.

Модуль Authentication:

  • [iOS] Обновлен VKId SDK с 0.101.1 до 0.102.0.
  • [iOS] Обновлен LoginWithAmazon SDK с 3.1.2 до 3.1.3.

Модуль Firebase:

  • [iOS] Обновлен Firebase SDK с 10.10.0 до 10.12.0.
  • [Android] Обновлен com.google.firebase:firebase-analytics с 21.2.2 до 21.3.0.

Модуль GDPR:

  • Расширен список штатов для поддержи CCPA: Коннектикут(CTDPA) и Колорадо(CPA).

Модуль MyTracker:

  • [Android] Обновлен com.my.tracker:mytracker-sdk с 3.0.11 до 3.0.12.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.5.1, iOS 6.5.1

В данной версии:

Модуль Advertising:

  • Исправлена работа внутренних алгоритмов по оценке стоимости кросс-промо.

Модуль Analytics:

  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.11.0 до 6.11.1.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.5.0, iOS 6.5.0

В данной версии:

  • [IOS] Минимальная поддерживаемая версия iOS поднята до 11.
  • [IOS] Выключена поддержка bitcode
  • [IOS] Для сборки теперь необходим XCode 14.1+.

Модуль MRGService:

  • Добавлена поддержка MRGSDevice#GetGeoIpInfo для ПК и консолей.
  • [Android] Добавлена поддержка удаленной сборки логов.

  • [Android] Исправлена некорректная отправка унифицированных логов через @deprecated MRGSTracker#TrackEvent(MRGSTrackerEvent) метод.

Модуль Analytics:

  • [IOS] Обновлен AppsFlyer с 6.10.0 до 6.11.1

Модуль Authentication:

  • [IOS] Обновлен VKId с 0.70.7822777 до 0.101.1
  • [IOS] Обновлен VK с 1.6.1 до 1.6.4

  • [Android] Исправлена ошибка когда callback вызывался два раз при авторизации в Facebook.

Модуль Firebase:

  • [IOS] Обновлен Firebase с 9.6.0 до 10.10.0

Модуль MyTracker:

  • [IOS] Обновлен MyTracker с 3.0.7 до 3.0.8

Модуль Notifications:

  • [Android] Добавлено новое MRGSExtraOptionsAndroid#ShouldClearNotificationsTray свойства для управления очисткой push-notifications при запуске приложения.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.4.0, iOS 6.4.0

В данной версии:

  • [Android] Обновлен com.facebook.android:facebook-gamingservices с 11.2.0 до 16.0.1.

Модуль MRGService:

  • Улучшено определение геопозиции по IP.

  • [Android] Исправлена приватная ошибка на входные параметры метода MRGSTracker#TrackAdRevenue.

Модуль GDPR:

  • [Android] Исправлена ошибка с UI в MRGSCOPPA.

Модуль Analytics:

  • Добавлена отправка тестовых платежей в AppsFlyer. Такие платежи будут отправляться с revenue 0.
  • [Android] Добавлена поддержка отправки платежей Amazon в AppsFlyer.

  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.10.2 до 6.11.0.

  • [Android] Исправлена потенциальная ошибка, приводящая к падению приложения.

Модуль Firebase:

  • Добавлена отправка тестовых платежей в Firebase. Такие платежи будут отправляться с revenue 0.

Модуль Recommendations:

  • Добавлен новый метод MRGSRecSysEvent#AddCustomParams(Dictionary<string, object>) для отправки дополнительных данных с событиями.

Модуль IronSource:

  • Добавлена поддержка автоматической установки сегментов в IronSource в соответствии с правилами, настроенными в консоли MRGS.

  • [Android] Исправлена ошибка приводящая к крашу при попытке привести ImpressionData.revenue к double, когда revenue отсутствовал в ImpressionData.

Подробнее о новых функциях и их использовании читайте в документации.


v6.3.2 Release (12-05-2023)🔗

Версии нативных SDK: Android 6.3.1, iOS 6.3.0

В данной версии:

Модуль MRGService:

  • Исправлены падения при загрузке продуктов на iOS.

Модуль Firebase:

  • Исправлена ошибка возврата null из метода MRGSFirebase#GetAppInstanceId() для Android платформы.

Модуль MyTracker:

  • Добавлен MRGS_DISABLE_MYTRACKER define для отключения модуля.

Подробнее о новых функциях и их использовании читайте в документации.


v6.3.1 Release (02-05-2023)🔗

Версии нативных SDK: Android 6.3.1, iOS 6.3.0

В данной версии:

Модуль MRGService:

  • [Android] Исправлена ошибка с множественной отправкой событий applicationExit.
  • [Android] Исправлена ошибка с подсчетом сессии, если юзер продолжил играть с одного дня по другой в пределах одной игровой сессии.

Модуль IronSource:

  • Добавлен MRGS_DISABLE_IRONSOURCE define для отключения модуля.
  • Расширен список имен ссылок на зависимость IronSource для упрощения интеграции.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.3.0, iOS 6.3.0

В данной версии:

  • Добавлен новый модуль MRGSIronSource для автоматического сбора и отправки impression-level данных о выручке с рекламы, а также данных о загрузке рекламы (результаты аукционов) в MRGS и в AppsFlyer.

Модуль MRGService:

  • Добавлен новый метод MRGSTracker#TrackAdRevenue(string, string, double, string, IDictionary<string, string>) для отправки impression-level данных о выручке с рекламы в MRGS.

  • [Android] Обновлен com.huawei.hms:opendevice с 6.7.0.300 до 6.9.0.300.

Модуль Analytics:

  • Добавлена поддержка отправки impression-level данных о выручке с рекламы в AppsFlyer. Включение/выключение отправки осуществляется в консоли MRGS в разделе проекта.

  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.9.3 до 6.10.2.

Модуль Authentication:

  • Добавлено новое MRGSAuthenticationMyGames#IgnoreCachedSession свойство для принудительного игнорирования текущей сессии в MyGames - при повторном входе пользователю не будет доступна опция продолжить как, только чистый вход.

  • Исправлена ошибка сборка проекта под iOS при использовании Dependency Resolver (cocoapods) с модулями VK и VKId.

Модуль Firebase:

  • [Android] Обновлен com.google.firebase:firebase-analytics с 21.2.0 до 21.2.2.

Модуль Notifications:

  • [Android] Обновлен com.google.firebase:firebase-messaging с 23.1.1 до 23.1.2.
  • [Android] Обновлен com.huawei.hms:push с 6.7.0.300 до 6.9.0.300.

Модуль MyTracker:

  • [Android] Обновлен com.my.tracker:mytracker-sdk с 3.0.10 до 3.0.11.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.2.0, iOS 6.2.0

В данной версии:

Модуль MRGService:

  • [Android] Добавлено логирование сетевых запросов для нового MRGS API.

Модуль Analytics:

  • [Android] Исправлена отправка MRGS метрик в AppsFlyer - теперь они будут доходить быстрее.

Модуль Authentication:

  • Добавлены MRGSAuthenticationMyGames#PrimaryNetwork и MRGSAuthenticationMyGames#ExcludedNetworks свойства для смены или сокрытия основной кнопки авторизации и для сокрытия маленьких кнопок авторизации в MyGames.

  • Исправлена работа авторизации в VKPlay.

  • [Android] Исправлено падение приложения при попытке вызвать метод MRGSGooglePlayGames#IsLoggedIn().
  • [Android] Убрана лишняя страница с переходом по ссылке в авторизации MRGSMyGames, если использовался Firefox.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.1.1, iOS 6.1.1

В данной версии:

Модуль MRGService:

  • Добавлена поддержка автоматического отслеживания событий AppDelegate при помощи swizzle - теперь можно не вызывать одноименные методы у класса MRGService. Для включения добавьте ключ MRGSShouldSwizzle со значением true в Info.plist приложения.

  • Исправлена ошибка сборки iOS из-за неверного define.

  • [IOS] Исправлена ошибка сохранения буфера отправки.
  • [Android] Исправлена ошибка, при которой MRGService#GetServerTime() возвращал 0 из-за проблемы с кэшированием между потоками.

Модуль Firebase:

  • Исправлен warning о CRLF переносах строк. Добавлена автоматическая проверка для таких случаев.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.1.0, iOS 6.1.0

В данной версии:

Модуль MRGService:

  • Добавлен MRGSPurchaseEvent#CustomEvent(Revenue) метод для создания и отправки информации по любым платежам в MRGS - от разных платежных систем и сервисов. Данные платежи не будут валидироваться в MRGS
  • [IOS] Добавлена поддержка нового метода выставления SKAD conversionValue в iOS 15.4 - updatePostbackConversionValue.

  • [IOS] Теперь для работы модуля ядра необходим Swift.

  • Улучшена логика работы со Swift - теперь standard libs не будут добавляться в приложение при target меньше iOS 12.2.

  • [Android] Исправлен краш при попытке получить OpenUDID, когда через JNI приходил null.

  • [Android] Исправлена ошибка при попытке инициализировать MRGS SDK из рабочего потока.

Модуль Analytics:

  • Добавлена возможность информирования о подписках через S2S вместо клиента (данная опция включается на сервере MRGS).

  • [IOS] Обновлен AppsFlyer SDK с 6.9.1 до 6.10.0.

  • Исправлено дублирование событий при покупке подписки (для подписки отсылались оба события af_purchase и af_subscribe).

Модуль Authentication:

  • [IOS] Добавлена поддержка альтернативных bundleId при авторизации в MyGames - теперь можно указать список проверенных bundleId на сайте MRGS, и использовать необходимый в тестовом приложении без создания еще одного приложения в MRGS.
  • Добавлено автоматическое исправление ошибки неверной подписи bundle с ресурсами (при использовании модуля VK авторизации на XCode 14+ и Cocoapods меньше 1.12.0) путем патча Pod файла

Модуль Firebase:

  • Добавлен новый метод MRGSFirebase#GetAppInstanceId(Action<string>) для получения appInstanceId от Firebase SDK.

  • [IOS] Обновлен Firebase SDK с 8.15.0 до 9.6.0.

Модуль MyTracker:

  • [IOS] Обновлен MyTracker SDK с 3.0.6 до 3.0.7.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.0.0, iOS 6.0.0

В данной версии:

Модуль MRGService:

  • Добавлена поддержка метода для отправки нового формата унифицированных логов - принимает в себя имя события и словарь с любыми ключами и значениями
  • Добавлен метод для выставления значений по умолчанию, которыми будут обогащаться все логи, отправленные через новый метод в MRGSTracker
  • Добавлена поддержка события принятия соглашения в MRGSTracker (например, при принятии пользователем соглашения на подписку в Калифорнии)
  • Добавлена поддержка нового класса MRGSTrackerProfile для отправки профилей нового формата в унифицированные логи
  • [Android] Исправлены редкие ошибки с гонкой потоков в MRGSTracker, из-за которых события могли уходить раздельными запросами
  • Исправлена работа метода MRGSMetrics.AddPurchase для отправки данных о платежах на iOS для UnityIAP

Модуль Bank:

  • Добавлена отправка appsflyerId для платежей на Market|MyGames

Модуль GDPR:

  • [Android] Исправлено перекрытие клавиатурой для ввода email в COPPA

Модуль Notifications:

  • [Android] Исправлена ошибка запроса разрешения на пока пуш уведомлений при старте приложения на Android 13.

Модуль Support:

  • Добавлена поддержка уведомлений для виджета поддержки - теперь при нажатии на уведомление, пользователь сможет попасть сразу в виджет поддержки

Модуль Analytics:

  • Добавлена поддержка UDL (Universal Deep Linking) в AppsFlyer
  • [Android] Добавлена поддержка событий покупки подписок af_start_trial и af_subscribe в AppsFlyer
  • [Android] Исправлена отправка данных о подписках в Firebase - теперь будет учитываться стоимость со скидкой

Модуль Showcase:

  • [IOS] Исправлены потенциальные ошибки при отображении окна магазина внутри приложения

Модуль Authentication:

  • [IOS] Изменен код ошибки при отмене входа в Sign In With Apple - теперь он равен стандартному коду ошибки отмены MRGS (-101)
  • [Android] Исправлен ошибка из-за которой не обновлялся токен авторизации для MRGSGooglePlayGames.
  • [Android] Исправлен ошибка из-за которой не удавалось восстановить токен авторизации из кеша для MRGSMyGames авторизации, из-за чего переставала работать авторизация.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.0.0-b02, iOS 6.0.0-b02

В данной версии:

Модуль MRGService:

  • [Android] MRGSShareOptions.Url теперь доступен на Android, значение будет добавляться в конец MRGSShareOptions.Text.
  • [IOS] Исправлена работа share-диалога на iPad

Модуль Analytics:

  • [IOS] Исправлена ошибка с невозможностью получить параметры инициализации для AppsFlyer из Unity - что приводило к невозможности запустить AppsFlyer

Модуль Showcase:

  • [Android] Исправлен ANR при попытке получить User Agent.

Модуль Authentication:

  • [IOS] Исправлена ошибка сборки на iOS - Undefined symbols for architecture arm64: mrgs_authentication_get_auth_info

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.0.0-b, iOS 6.0.0-b

В данной версии:

Основное:

  • Добавлена поддержка нативного окна "поделиться". Подробнее здесь
  • Добавлена поддержка Android 13
  • Полностью переработан API MyGamesSupport
  • Добавлена поддержка авторизации GooglePlayGamesV2.
  • Модуль авторизации был разбит на подмодули - Facebook,Amazon,GoogleSignIn,GoogleGames
  • Изменено поведение по умолчанию для флага automaticPaymentTracking и отправки userId в AppsFlyer.
  • Параметры для модулей были вынесены в соответствующие модули
  • SDK теперь требует минимальную версию Android 4.4 (19 API).
  • Исправлены ошибки

Модуль MRGService:

  • Добавлена поддержка нативного окна "поделиться". Подробнее здесь
  • Добавлена проверка корректности bundleId в IntegrationCheck
  • [IOS] Изменен поведение флага automaticPaymentTracking - теперь по умолчанию он true
  • [Android] MRGService SDK теперь требует минимальную версию Android 4.4 (19 API).
  • Удален deprecated функционал.
  • [Android] Добавлено сокрытие секретов в логах IntegrationCheck
  • [Android] Исправлены правила для R8/ProGuard.
  • Удален класс MRGSExternalSDKParams.
  • Возвращено свойство BankSubstitution, теперь это String. Методы UseAsMainBank() удалены.
  • [Desktop] Исправлено получение статистики по текущей потребляемой памяти, а также работа этого метода на Unity 2021.3.14+
  • [IOS] Исправлены ошибки .pcm: No such file or directory при сборке приложения

Модуль Bank:

  • Конфиг MRGSSamsungBillingParams был перемещен в MRGSBank модуль.
  • Обновлен com.huawei.agconnect:agcp с 1.6.0.300 до 1.7.3.300
  • Обновлен com.huawei.hms:ads-identifier с 3.4.39.302 до 3.4.58.301
  • Обновлен com.huawei.hms:opendevice с 5.1.1.307 до 6.7.0.300
  • Обновлен com.huawei.hms:push с 6.1.0.300 до 6.7.0.300
  • Обновлен com.huawei.hms:iap с 6.1.0.300 до 6.4.0.301
  • [Android] Исправлена ошибка получения micros для Huawei подписок.
  • Исправлена работа свойства LoadedProducts.

Модуль Notifications:

  • [Android] Добавлена поддержка Android 13 - запрос разрешения на отправку уведомлений.
  • [Android] Обновлен com.google.firebase:firebase-messaging с 23.1.0 до 23.1.1.
  • [Android] Обновлен com.google.firebase:firebase-messaging с 23.0.6 до 23.1.0.

Модуль Support:

  • Добавлен новый класс MRGSMyGamesSupport с новым полностью переработанным интерфейсом для работы с службой поддержки(добавились классы страниц, конфига, новые методы для открытия окна), старые классы помечены как Deprecated

Модуль Analytics:

  • Во все события теперь будут добавляться дополнительные значения mrgs userId и deviceId.
  • Изменено дефолтное поведение по отправке userId и deviceId - по умолчанию в CUID AppsFlyer теперь отправляется userId, а с помощью флага UseDeviceIdAsUserId можно включить старое поведение для отправки deviceId. Подробнее здесь
  • Конфиг MRGSAppsFlyerParams был перемещен в MRGSAnalytics модуль.
  • [IOS] Обновлен Appsflyer SDK с 6.8.0 до 6.9.1.
  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.8.2 до 6.9.3.

Модуль Firebase:

  • Добавлен метод setUserProperties
  • [Android] Обновлен com.google.firebase:firebase-analytics с 21.1.0 до 21.2.0.

Модуль Authentication:

  • [Android] Добавлена поддержка авторизации GooglePlayGamesV2.
  • Авторизация MRGSAuthenticationFacebook была перенесена в свой собственный модуль MRGSAuthenticationFacebookModule.
  • Авторизация MRGSAuthenticationAmazon была перенесена в свой собственный модуль MRGSAuthenticationAmazonModule.
  • Авторизация MRGSGooglePlayGames была разбита на два модуля MRGSGoogleSignIn и MRGSGooglePlayGames.
  • Конфиг MRGSAmazonParams был перемещен в MRGSAuthenticationAmazon модуль.
  • Конфиг MRGSAppleGameCenterParams был перемещен в MRGSAuthentication модуль.
  • Конфиг MRGSGooglePlayGamesParams был перемещен в MRGSAuthenticationGooglePlayGames модуль.
  • Конфиг MRGSMyGamesParams был перемещен в MRGSAuthentication модуль.
  • [Android] Обновлен com.google.android.gms:play-services-auth с 20.3.0 до 20.4.0.
  • [Android] Обновлен com.google.android.gms:play-services-games с 22.0.1 до 23.1.0.

Модуль MyTracker:

  • [Android] Обновлен com.my.tracker:mytracker-sdk с 3.0.9 до 3.0.10.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.0.0-a04, iOS 6.0.0-a03

В данной версии:

Модуль GDPR:

  • Добавлена поддержка закона VCDPA Вирджинии в функционал CCPA

Модуль Bank:

  • MRGSMyGamesBank#Instance теперь возвращает MRGSMyGamesBank вместо MRGSBank.
  • [Android] Исправлена ошибка 60001: too many query items for Huawei billing when try to request product
  • [Android] Исправлена ошибка в работе метода #useAsMainbilling()

Модуль Analytics:

  • При проксировании метрик MRGS в AppsFlyer добавлено поле af_level

Модуль MyTracker:

  • [iOS] Исправлена ошибка сборки проекта на iOS 11.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.0.0-a03, iOS 6.0.0-a02

В данной версии:

Модуль MRGService:

  • [Android] Исправлены ошибки с проверкой интеграции.

Модуль Bank:

Модуль Showcase:

  • Изменен текст попапа об установке всех игр из списка.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 6.0.0-a02, iOS 6.0.0-a01

В данной версии:

Модуль MRGService:

  • В событии запуска теперь будет уходить признак первого запуска на устройстве для отслеживания метрик реатрибуции
  • Исправлены warning'и в проекте из-за директории iOS_Extra
  • Настройки прокси для MyTracker теперь получаются только при подключении данного модуля
  • [Android] Исправлена проверка интеграции для модулей авторизации и MyTracker
  • [Android] Исправлена ошибка не корректного перевода Dictionary в Json в методе TrackEvent.

Модуль Support:

  • [Android] Исправлена работа MyGames Support

Модуль MyTracker:

  • [iOS] Исправлена проблема при архивировании проектов на iOS при подключенном модуле MyTracker

Подробнее о новых функциях и их использовании читайте в документации.


v6.0.0-a Release (03-11-2022)🔗

Версии нативных SDK: Android 6.0.0-a, iOS 6.0.0-a

Данная версия включает себя обратно несовместимые изменения. Для миграции на новую версию обратитесь к документации по Миграции.

В данной версии:

  • MyTracker теперь не является обязательной зависимостью. Работа с ним вынесена в отдельный модуль MRGSMyTracker. Класс MRGSMyTrackerParams перемещен в модуль MRGSMyTracker.
  • Работа с VK авторизацией вынесена в отдельный модуль MRGSAuthenticaitonVK. Класс MRGSVKontakteParams перемещен в модуль MRGSAuthenticationVK.
  • Изменены имена всех пакетов с ru.mail.mrgs.. на games.my.mrgs..
  • Из модулей удалены упоминания VK/MyTracker и перенесены в соответствующие новые модули

Модуль MRGService:

  • Изменен способ инициализации MRGS для модулей MRGSMyTracker/MRGSAuthenticaitonVK/MRGSAuthenticaitonVKId
  • Класс MRGSVKIdParams перемещен в модуль MRGSAuthenticationVKId.
  • Свойство MRGSMyGamesParams#VKPlayMode удалено. Используйте MRGSMyGamesParams#CustomHost.

Модуль Support:

  • Enum MRGSMyGamesSupportCredential.SocialNetwork#Vkontakte удален.

Модуль Authentication:

  • Enum MRGSAuthenticationNetwork удален, теперь используются строковые константы в соответствующих классах
  • Enum MRGSAuthenticationScope удален, теперь используются строковые константы в соответствующих классах

Важно

  • После обновления из сборки пропадет MyTracker SDK, VK SDK, так как они теперь являются отдельными модулями. Соответственно, атрибуция и аналитика проекта в MyTracker остановится.
  • В случае, если вам необходимо оставить данные SDK в проекте, достаточно просто подключить новые модули к проекту и перейти на новый метод инициализации.
  • Из-за смены имен пакетов некоторые локальные уведомления могут быть потеряны (доставленные с момента обновления приложения и до его первого открытия после обновления).
  • Для того чтобы продолжать пользоваться 1link и MyUA, необходимо, чтобы 1link переключил сбор данных проекта на AppsFlyer + MRGS SDK.

Подробнее о новых функциях и их использовании читайте в документации.


v4.3.3 Release (02-11-2022)🔗

Версии нативных SDK: Android 5.3.3, iOS 5.3.1

В данной версии:

Модуль Analytics:

  • Изменен хост для AppsFlyer на appsflyersdk.com для обхода блокировок в России

Модуль Showcase:

  • Добавлена поддержка удаленного выставления заголовка для витрины Showcase

Модуль Bank:

  • [Android] Улучшена обработка ошибок покупок в Samsung billing

Подробнее о новых функциях и их использовании читайте в документации.


v4.3.2 Release (17-10-2022)🔗

Версии нативных SDK: Android 5.3.2, iOS 5.3.1

В данной версии:

Модуль MRGService:

  • Добавлена поддержка обогащения событий MRGS параметром appsflyerId даже если не подключен модуль MRGSAnalytics, то есть AppsFlyer SDK интегрирован отдельно.

Подробнее о новых функциях и их использовании читайте в документации.


v4.3.1 Release (15-10-2022)🔗

Версии нативных SDK: Android 5.3.1, iOS 5.3.0

В данной версии:

Модуль Analytics:

  • [Android] Исправлена ошибка с отправкой AppsFlyer id в событиях MRGS.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 5.3.0, iOS 5.3.0

В данной версии:

Модуль Analytics:

Подробнее о новых функциях и их использовании читайте в документации.


v4.2.2 Release (05-10-2022)🔗

Версии нативных SDK: Android 5.2.1, iOS 5.2.0

В данной версии:

Модуль Bank:

  • [iOS] Исправлены проблемы сборки проектов, зависящих от swift-библиотек

Подробнее о новых функциях и их использовании читайте в документации.


v4.2.1 Release (03-10-2022)🔗

Версии нативных SDK: Android 5.2.1, iOS 5.2.0

В данной версии:

Модуль MRGService:

  • [Android] Исправлена ошибка из-за которой неправильно разбирался MRGService.xml конфиг, в результате чего MRGSGoogleGames возвращал серверный код вместо токена авторизации. Теперь по дефолту снова возвращается токен авторизации, если не выставили иное значение в MRGService.xml конфиг.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 5.2.0, iOS 5.2.0

В данной версии:

  • [iOS] Теперь библиотеки распространяются в виде xcframework.

Модуль MRGService:

  • Свойство MRGServiceParams#ForceMyGamesBankOnly помечено как @Deprecated, используйте MRGServiceParams#BankSubstitution вместо него.

Модуль Authentication:

  • Добавлено новое свойство MRGSMyGamesParams#UseDevEnvironment для включения/выключения DEV окружения для авторизации MyGames/VKPlay. Подробнее смотрите в разделе DEV окружение.

  • Добавлена поддержка нового способа авторизации через VKID (superappkit SDK). Подробнее смотрите в разделе VKID.

Модуль Bank:

  • Добавлена новая функция MRGSBank#OpenSubscriptionManager() для открытия Менеджера управления подписками. Подробнее смотрите в разделе Открытие Менеджера по управлению подписками.

  • [Android] Добавлена поддержка нового способа оплаты через VKPay (superappkit SDK). Подробнее смотрите в разделе VKPay.

Подробнее о новых функциях и их использовании читайте в документации.


v4.1.2 Release (14-09-2022)🔗

Версии нативных SDK: Android 5.1.1, iOS 5.1.1

В данной версии:

Модуль MRGService:

  • Добавлена возможность передавать чек в формате base64 при оповещении о платежах через MRGSMetrics на iOS

Подробнее о новых функциях и их использовании читайте в документации.


v4.1.1 Release (05-09-2022)🔗

Версии нативных SDK: Android 5.1.1, iOS 5.1.0

В данной версии:

Модуль MRGService:

  • [Android] Обновлен com.my.tracker:mytracker-sdk с 3.0.8 до 3.0.9.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 5.1.0, iOS 5.1.0

В данной версии:

Модуль MRGService:

  • Добавлено новое свойство MRGSApplication#InstallTime для получения времени установки приложения в формате unixTime в секундах. Смотри Время установки приложения.
  • [Android] Добавлено новое свойство MRGSExternalSDKParams.MRGSMyTrackerParams#TrackingLocationEnabled для включения/отключения сбора данных местоположения девайса в MyTracker SDK. Трекинг местоположения в MyTracker SDK теперь будет выключен по умолчанию. Смотри Отслеживание местоположения.

  • [Android] Обновлен com.my.tracker:mytracker-sdk с 3.0.7 до 3.0.8.

Модуль Analytics:

  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.8.0 до 6.8.2.

Модуль Authentication:

  • Добавлено новое свойство IMRGSAuthenticationMyGames#ShouldHideBrandOccurrences для того чтобы скрыть все упоминания бренда MY.GAMES при авторизации через IMRGSAuthenticationMyGames. Смотри Сокрытие упоминания бренда MY.GAMES
  • Добавлено новое свойство MRGSExternalSDKParams.MRGSMyGamesParams#VKPlayMode для смены способа авторизации с MyGames на VKPlay. Смотри Авторизация через VKPlay.

  • [Android] Убрали проверку на наличие приложения Play Games при попытке авторизоваться через MRGSGoogleGames.

  • [Android] Исправлено падение приложения при попытке авторизоваться через MRGSGoogleGames на некоторых устройствах Samsung.

Модуль Bank:

  • [IOS] Добавлена поддержка покупки нескольких товаров в одной транзакции.

  • [Android] Обновлен com.android.billingclient:billing с 3.0.3 до 4.1.0.

  • Исправлена ошибка из-за которой MRGSMyGamesBank записывал данные в MRGSBank вместо того чтобы хранить их у себя.

Подробнее о новых функциях и их использовании читайте в документации.


v4.0.5 Release (12-08-2022)🔗

Версии нативных SDK: Android 5.0.4, iOS 5.0.1

В данной версии:

Модуль MRGService:

  • [Desktop] Обновлен FBCloud SDK с версии 1.0.5 до версии 1.0.10

Модуль Bank:

  • [Desktop] Исправлено поведение колбека OnReceivePendingPurchase в MyGames/Steam, теперь он не вызывается после просмотра рекламы или закрытия любого оверлея пользователем
  • [Desktop] Исправлена работа полей LoadedProducts и LoadedProductsIds, теперь они возвращают загруженные ранее продукты, вместо null

Подробнее о новых функциях и их использовании читайте в документации.


v4.0.4 Release (05-08-2022)🔗

Версии нативных SDK: Android 5.0.4, iOS 5.0.1

В данной версии:

Модуль Bank:

  • [Android] Исправлена ошибка из-за которой информация по Google платежу не отправлялась в AppsFlyer, Firebase и MyTracker с версии 4.0.0 - MRGS Unity SDK.

Подробнее о новых функциях и их использовании читайте в документации.


v4.0.3 Release (02-08-2022)🔗

Версии нативных SDK: Android 5.0.3, iOS 5.0.1

В данной версии:

  • Добавлена поддержка Unity 2022

  • [Android] Понижена версия androidx.appcompat:appcompat с 1.4.2 до 1.3.1, так как она требовала compileSdkVersion не ниже 31.

Модуль MRGService:

  • [Android] Исправлена ошибка, когда MRGSDevice#getOpenUDID(Callback) возвращал OpenUDID в виде "0000-0000".

Модуль Authentication:

  • [Android] Понижена версия com.vk:android-sdk-core с 3.5.2 до 3.4.1, так как она не совместима с android gradle plugin/gradle 4.0/6.1.1 и ниже.
  • [Android] Понижена версию androidx.browser:browser с 1.4.0 до 1.3.0, так как она требует compileSdkVersion не ниже 31.

Подробнее о новых функциях и их использовании читайте в документации.


v4.0.2 Release (27-07-2022)🔗

Версии нативных SDK: Android 5.0.2, iOS 5.0.1

В данной версии:

  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.4.2.

Модуль MRGService:

  • Исправлен код для поддержки C# 4.0.
  • [Android] Обновлен com.my.tracker:mytracker-sdk с 3.0.4 до 3.0.7

Модуль Bank:

  • Добавлена поддержка удаленного изменения заголовка витрины Market|MyGames.
  • Исправлены ошибки сборки MyGamesBank в iOS

Модуль Notifications:

  • [Android] Обновлен com.google.firebase:firebase-messaging с 22.0.0 до 23.0.6.

Модуль Analytics:

  • [Android] Обновлен com.appsflyer:af-android-sdk с 6.5.2 до 6.8.0
  • [IOS] Обновлен AppsFlyer SDK до версии 6.8.0

Модуль Firebase:

  • [Android] Обновлен com.google.firebase:firebase-analytics с 19.0.2 до 21.1.0.
  • [IOS] Обновлен Firebase SDK до версии 8.15.0

Модуль Authentication:

  • [Android] Добавлена отправка информации о пользователе при логине через соцсеть Vk.
  • [Android] Обновлен com.vk:android-sdk-core с 3.3.0 до 3.5.2
  • [Android] Обновлен com.google.android.gms:play-services-auth с 19.2.0 до 20.2.0.
  • [Android] Обновлен com.google.android.gms:play-services-games с 21.0.0 до 22.0.1.
  • [Android] Обновлен androidx.browser:browser с 1.3.0 до 1.4.0.

Подробнее о новых функциях и их использовании читайте в документации.


v4.0.1 Release (05-07-2022)🔗

Версии нативных SDK: Android 5.0.1, iOS 5.0.0

В данной версии:

Модуль Notifications:

  • [Android] Исправлена ошибка java.lang.RuntimeException: Unable to start receiver.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 5.0.0, iOS 5.0.0

Данная версия включает себя обратно несовместимые изменения. Для миграции на новую версию обратитесь к документации по Миграции.

В данной версии:

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

Модуль MRGService:

  • Добавлены новые методы Initialize для инициализации MRGService. Старые были помечены как Obsolete.
  • Теперь для новой инициализации MRGService#Initialize под Android требуется указывать MRGSPlatform аналогично платформе из MRGS админки вашего проекта.
  • Добавлен новый async/await метод MRGSDevice#GetGeoIpInfoAsync().
  • Добавлен новый async/await метод MRGSDevice#GetOpenUDIDAsync().
  • Добавлен новый async/await метод MRGSDevice#GetIdentifierForAdvertisingAsync().
  • Добавлен новый async/await метод MRGSDevice#GetIdentifierForVendorAsync().
  • Проверка интеграции теперь возвращает объект нового класса MRGSIntegrationCheckResult
  • Улучшено определение MRGS DeviceId на Windows, больше коллизий быть не должно

  • Класс MRGSFlurryParams удален.

  • Класс MRGSChartboostParams удален.
  • Класс MRGSGoogleConversionTrackingParams удален.

  • Интерфейс MRGSServerDataDelegate переименован в IMRGSServerDataDelegate.

  • Свойство MRGSExtraOptionsiOS#MRGSNotificationCenterSupported удалено.

  • Свойство MRGSExtraOptionsiOS#DefferedMRGSNotificationCenterStart переименовано в MRGSExtraOptionsiOS#DeferredMRGSNotificationCenterStart.
  • Свойство MRGSExternalSDKParams#FlurryParams удалено.
  • Свойство MRGSExternalSDKParams#ChartboostParams удалено.
  • Свойство MRGSExternalSDKParams#GoogleConversionTrackingParams удалено.

  • Метод MRGSLog#addPaymentLog(string) удален.

Модуль Advertising:

  • Интерфейс MRGSAdvertising.MRGSAdvertisingLoadDelegate переименован в MRGSAdvertising.ILoadDelegate.
  • Метод интерфейса ILoadDelegate#onAdvertisingLoaded переименован в ILoadDelegate#OnAdvertisingLoaded.
  • Метод интерфейса ILoadDelegate#onAdvertisingLoadingError переименован в ILoadDelegate#OnAdvertisingLoadingError.

  • Интерфейс MRGSAdvertising.MRGSAdvertisingShowDelegate переименован в MRGSAdvertising.IShowDelegate.

  • Метод интерфейса IShowDelegate#onAdvertisingFinished(bool) переименован в IShowDelegate#OnAdvertisingFinished(bool).

Модуль Analytics:

  • Интерфейс MRGSAppsFlyerDelegate переименован в IMRGSAppsFlyerDelegate.
  • Метод интерфейса IMRGSAppsFlyerDelegate#onConversionDataSuccess переименован в IMRGSAppsFlyerDelegate#OnConversionDataSuccess.
  • Метод интерфейса IMRGSAppsFlyerDelegate#onAppOpenAttribution переименован в IMRGSAppsFlyerDelegate#OnAppOpenAttribution.

Модуль Authentication

  • Добавлены коды и домены ошибок: MRGSAuthenticationErrorCode и MRGSAuthenticationErrorDomain и приведены к единому соответствию между Android/iOS/Unity.

  • Методы .Instance/getInstance() класса MRGSAuthenticationAmazon теперь возвращают интерфейс IMRGSAuthenticationAmazon.

  • Методы .Instance/getInstance() класса RGSAuthenticationAppleGameCenter теперь возвращают интерфейс IMRGSAuthenticationAppleGameCenter.
  • Методы .Instance/getInstance() класса MRGSAuthenticationFacebook теперь возвращают интерфейс IMRGSAuthenticationFacebook.
  • Методы .Instance/getInstance() класса MRGSAuthenticationGoogleGames теперь возвращают интерфейс IMRGSAuthenticationGoogleGames.
  • Методы .Instance/getInstance() класса MRGSAuthenticationMyGames теперь возвращают интерфейс IMRGSAuthenticationMyGames.
  • Методы .Instance/getInstance() класса MRGSAuthenticationPlarium теперь возвращают интерфейс IMRGSAuthenticationPlarium.
  • Методы .Instance/getInstance() класса MRGSAuthenticationSignInWithApple теперь возвращают интерфейс IMRGSAuthenticationSignInWithApple.
  • Методы .Instance/getInstance() класса MRGSAuthenticationVKontakte теперь возвращают интерфейс IMRGSAuthenticationVKontakte.

  • Метод интерфейса IMRGSAuthenticationDelegate#onAuthenticationProviderDidLogoutUser переименован в IMRGSAuthenticationDelegate#OnAuthenticationProviderDidLogoutUser.

  • Enum MRGSAuthenticationScope.SIWAFullName переименован в MRGSAuthenticationScope.SignInWithAppleFullName.

  • Enum MRGSAuthenticationScope.SIWAEmail переименован в MRGSAuthenticationScope.SignInWithAppleEmail.

  • Enum MRGSAuthenticationAchievementState удален. Используйте MRGSAuthenticationAchievement.State.

Модуль Bank:

  • Класс MRGSBankProductsResponce переименован в MRGSBankProductsResponse.
  • Интерфейс MRGSBankDelegateEx отмечен как Obsolete. Используйте IMRGSBankDelegate.
  • Свойство MRGSBank#DelegateExtended отмечено как Obsolete. Используйте MRGSBank#Delegate.

  • Enum MRGSSubscriptionPeriod.MRGSSubscriptionPeriodUnit переименован в MRGSSubscriptionPeriod.PeriodUnit.

  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitDay переименован в PeriodUnit.Day.
  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitWeek переименован в PeriodUnit.Week.
  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitMonth переименован в PeriodUnit.Month.
  • Enum PeriodUnit.kMRGSSubscriptionPeriodUnitYear переименован в PeriodUnit.Year.

  • Enum MRGSBankProductDiscount.MRGSDiscountPaymentMode переименован в MRGSBankProductDiscount.DiscountPaymentMode.

  • Enum DiscountPaymentMode.kMRGSBankProductDiscountPaymentModeFreeTrial переименован в DiscountPaymentMode.FreeTrial.
  • Enum DiscountPaymentMode.kMRGSBankProductDiscountPaymentModePayAsYouGo переименован в DiscountPaymentMode.PayAsYouGo.
  • Enum DiscountPaymentMode.kMRGSBankProductDiscountPaymentModePayUpFront переименован в DiscountPaymentMode.PayUpFront.

  • Enum MRGSBankProductDiscount.MRGSDiscountType переименован в MRGSBankProductDiscount.DiscountType.

  • Enum MRGSDiscountType.kMRGSDiscountTypeSubscription переименован в MRGSDiscountType.Subscription.
  • Enum MRGSDiscountType.kMRGSDiscountTypeIntroductory переименован в MRGSDiscountType.Introductory.

Модуль GameCenter:

  • Интерфейс MRGSGameCenterClientDelegate удален. Используйте IMRGSGameCenterClientDelegate.

Модуль GDPR:

  • Интерфейс MRGSCOPPA.IMRGSCOPPADelegate переименован в MRGSCOPPA.IShowDelegate.
  • Интерфейс MRGSCOPPA.IMRGSGDPRDelegate переименован в MRGSCOPPA.IShowDelegate.
  • Enum MRGSCCPAUserPreference.MRGSCCPAUserPreferenceShare переименован в MRGSCCPAUserPreference.Share.
  • Enum MRGSCCPAUserPreference.MRGSCCPAUserPreferenceNotSharing переименован в MRGSCCPAUserPreference.NotSharing.

Модуль Showcase:

  • Метод интерфейса IMRGSShowcaseDelegate#didReceiveNewShowcaseContent(int) переименован в IMRGSShowcaseDelegate#OnReceiveNewShowcaseContent(int).

Модуль Notifications:

  • [iOS] Исправлен краш с циклическим вызовом при использовании нативного делегата сторонними SDK

  • Enum LockScreenVisibility.VISIBILITY_PUBLIC переименован в LockScreenVisibility.Public.

  • Enum LockScreenVisibility.VISIBILITY_PRIVATE переименован в LockScreenVisibility.Private.
  • Enum LockScreenVisibility.VISIBILITY_SECRET переименован в LockScreenVisibility.Secret.
  • Enum LockScreenVisibility.VISIBILITY_NO_OVERRIDE переименован в LockScreenVisibility.NoOverride.

  • Enum MRGSNotificationTriggerType удален. Используйте MRGSNotificationTrigger.Type.

  • Enum Type.kMRGSTimeIntervalTrigger переименован в Type.TimeInterval.
  • Enum Type.kMRGSDateComponentsTrigger переименован в Type.DateComponents.
  • Enum Type.kMRGSLocationTrigger переименован в Type.Location.
  • Enum Type.kMRGSRemoteTrigger переименован в Type.Remote.

Подробнее о новых функциях и их использовании читайте в документации.


v3.12.5 Release (06-06-2022)🔗

Версии нативных SDK: Android 4.18.5, iOS 4.11.3

В данной версии:

Модуль MRGService:

  • Добавлена поддержка удаленного выставления proxy-сервера для запросов MyTracker

Модуль Bank:

  • Исправлена ошибка из-за которой нельзя было добавить Amazon in-app библиотеку в проект через Unity меню.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.12.4 Release (23-05-2022)🔗

Версии нативных SDK: Android 4.18.4, iOS 4.11.2

В данной версии:

Модуль Notifications:

  • [Android] Исправлен краш в предыдущем релизе, при попытке восстановить локальные пуши из кэша при перезапуске приложения.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.12.3 Release (17-05-2022)🔗

Версии нативных SDK: Android 4.18.3, iOS 4.11.2

В данной версии:

  • [IOS] iOS SDK было пересобрано версией XCode ниже 13.3.

Модуль Notifications:

  • [Android] Исправлен краш в предыдущем релизе при попытке создать локальный кастомный пуш, если не удалось найти ресурсы.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.12.2 Release (04-05-2022)🔗

Версии нативных SDK: Android 4.18.2, iOS 4.11.2

В данной версии:

Модуль Advertising:

  • [Android] Изменен размер кнопок с 30dp до 35dp.
  • [IOS] Улучшен парсинг кампаний

Модуль Notifications:

  • [Android] Исправлены ошибки при отображении уведомлений после обновления приложения из-за смены ids ресурсов после перекомпиляции.

Модуль Showcase:

  • Добавлена возможность скрыть заголовок витрины удаленно
  • [IOS] Улучшен парсинг кампаний

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.12.1 Release (08-04-2022)🔗

Версии нативных SDK: Android 4.18.1, iOS 4.11.1

В данной версии:

Модуль MRGService:

  • [Android] Изменено поведения MRGService#ServerTime. Теперь serverTime не будет сбрасываться на 0 при сворачивании приложения. Подробней об изменениях.

  • [Android] Исправлена ошибка с бесконечной отправкой сетевых запросов при проблемах с сетью.

Модуль Authentication:

  • [Android] Исправлена ошибка Class not found when unmarshalling для Vk авторизации.

Модуль Bank:

  • Добавлена передача номера версии и сборки в платежах VKPay на сервер MRGS.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.12.0 Release (24-03-2022)🔗

Версии нативных SDK: Android 4.18.0, iOS 4.11.0

В данной версии:

Модуль MRGService:

  • Добавлен новый метод MRGSDevice#GetGeoIpInfo(Action<MRGSGeoIpInfo, MRGSError>) для определения географическое положение устройства с доступом в Интернет по его IP-адресу. Подробней смотрите Географическое положение по IP.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.11.1 Release (22-03-2022)🔗

Версии нативных SDK: Android 4.17.0, iOS 4.10.1

В данной версии:

Модуль Bank:

  • Улучшена обработка ошибок в MyGamesBank
  • Исправлены возможные ошибки сборки для iOS

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.11.0 Release (18-03-2022)🔗

Версии нативных SDK: Android 4.16.0, iOS 4.10.0

В данной версии:

Модуль MRGService:

  • [Desktop] Исправлены ошибки в логировании (из за них мог происходить краш в FBCloud)

Модуль Bank:

  • Добавлена поддержка VKPay (Market|MyGames) платежей - альтернативный способ оплаты покупок при размещении вне магазинов приложений. Подробнее смотрите на странице описания системы

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.10.0 Release (28-02-2022)🔗

Версии нативных SDK: Android 4.15.0, iOS 4.9.1

В данной версии:

Модуль MRGService:

  • Добавлен новый метод MRGSDevice#GetIdentifierForAdvertising(Action<string, MRGSError>) для асинхронного получения IDFA. Подробней в документации.
  • [Desktop] Добавлена поддержка FacebookCloud для Desktop - модули Core, Bank, Notifications, Authentication

  • [Android] Исправлена ошибка из-за которой не отправлялись метрики из MRGSMetrics в AppsFlyer при включенном forwardMetrics.

Модуль Support:

  • [IOS] Добавлена поддержка просмотра файлов(а также возможностью поделиться ими), скачанных из поддержки. В случае, если файл не поддерживает просмотр, будет показан ShareView как раньше.

  • [Android] Удален android.permission.READ_EXTERNAL_STORAGE из манифеста.

  • [Android] android.permission.WRITE_EXTERNAL_STORAGE теперь используется только для андроид 8 и ниже.

  • [IOS] Исправлена ошибка с показом загруженного файла уже после закрытия виджета поддержки.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.9.1 Release (08-02-2022)🔗

Версии нативных SDK: Android 4.14.0, iOS 4.9.0

В данной версии:

Модуль Authentication:

  • [Desktop] Исправлены ошибки компиляции в Plarium и MyGames для desktop сборок

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 4.14.0, iOS 4.9.0

В данной версии:

Модуль MRGService:

  • [IOS] Добавлена поддержка выставления интервала [0;X1): converisonValue=1 в SKAD при установке прибыли по шагам на сайте. Подробнее читайте здесь.

  • [IOS] Обновлен MyTracker SDK с 3.0.5 до 3.0.6. Подробней об изменениях.

  • [IOS] Добавлено частичное сокрытие всех секретов и ключей в логах IntegrationCheck.
  • [Android] Обновлен MyTracker SDK с 3.0.2 до 3.0.4. Подробней об изменениях.
  • [Android] Теперь, в результате проверки интеграции, будет выводиться часть секретного ключа MRGS SDK.

  • [Android] Исправлена ошибка, из-за которой в лог выводилась проблема о парсинге JSONArray при включенном MRGService debug. Данная ошибка никак не влияла на функциональность SDK.

Модуль Analytics:

  • [IOS] Обновлен AppsFlyer SDK с 6.4.2 до 6.5.2. Подробней об изменениях.
  • [Android] Обновлен AppsFlyer SDK с 6.5.0 до 6.5.2. Подробней об изменениях.

  • Добавлена дополнительная отправка данных по платежу таких как: af_content_id (sku товара) и af_order_id (orderId из чека).

Модуль Authentication:

  • Добавлен новый метод MRGSAuthentication#getAccessToken(Action<MRGSAuthenticationAccessToken, MRGSError>) для получения AccessToken асинхронно, это позволит всегда получать актуальный и валидный токен.

  • Метод MRGSAuthentication#getAuthInfo() был помечен как deprecated.

  • Улучшения и оптимизации в работе.

  • [Android] Исправлена ошибка с указанием неправильного времени срока действия токена для авторизации MRGSAuthenticationVKontakte, теперь будет возвращаться 0 вместо времени создания токен.

  • [Android] Исправлена ошибка когда разлогинивался пользователь в MRGSAuthenticationVKontakte при инициализации MRGService SDK при отсутствии интернета.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 4.13.0, iOS 4.8.0

В данной версии:

Модуль MRGService:

  • Добавлен новый метод MRGSTracker#TrackUserProfile(MRGSTrackerUserProfile) для отправки профиля пользователя в систему кастомных логов (событий). Подробней смотрите в документации.
  • [Android] Понижена версия библиотеки appcompat с 1.3.1 до 1.2.0, поскольку новая версия требует обновления проекта до targetSdkVersion 31.

Модуль Advertising:

  • Исправлен приватный метод открытия ссылки в PlayableAds в формате mraid.

Модуль Authentication:

  • [Android] Исправлена ошибка, из-за которой система могла создать другой экземпляр CustomTabActivity для Facebook или MyGames при передаче результата, и это могло привести к сбою.
  • [Android] Исправлена ошибка с неправильным сохранением состояния Activity.

Модуль GDPR:

  • Добавлен новый метод MRGSGDPR#resetModule() для сброса факта принятия соглашения и всех данных в GDPR, COPPA. Также сбрасывает настройки по CCPA и выставляет их в статус разрешено отслеживание третьими лицами в случае, если ранее отслеживание было выключено. То есть полный сброс модуля GDPR к состоянию заново установленного приложения. Данный метод нужно вызывать ТОЛЬКО в случае, когда пользователь потребовал удалить свой аккаунт по закону GDPR, его удалили, и нужно сбросить факт его принятия соглашения на клиенте, чтобы снова было показано окно GDPR/COPPA для нового аккаунта пользователя.

Модуль Support:

  • Добавлена возможность создания запроса на удаление всех своих данных пользователем (GDPR). Подробней смотрите в документации.

Модуль Showcase:

  • Изменен дизайн витрины.
  • Изменено поведение для расчета уведомления. Теперь если заново придет реклама, которую юзер уже видел, то уведомления больше не будет передаваться в делегат.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.7.3 Release (18-12-2021)🔗

Версии нативных SDK: Android 4.12.2, iOS 4.7.1

В данной версии:

Модуль MRGService:

  • [Desktop] Исправлена сборка на Unity 2019.2 и ниже

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.7.2 Release (16-12-2021)🔗

Версии нативных SDK: Android 4.12.2, iOS 4.7.1

В данной версии:

Модуль MRGService:

  • [Desktop] Добавлен сбор большего числа параметров устройства на Windows.

  • [Android] Обновлен MyTracker SDK с 3.0.1 до 3.0.2, который включает поддержку Appset id. Подробней об изменениях.

  • [Android] Обновлен Appset SDK с 16.0.0 до 16.0.1.

  • [Desktop] Исправлен возможный краш при удалении файла

Модуль Analytics:

  • [Android] Обновлен AppsFlyer SDK с 6.3.2 до 6.5.0. Подробней об изменениях.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 4.12.1, iOS 4.7.1

В данной версии:

Модуль MRGService:

  • [IOS] Исправлено обрезание логов в некоторых случаях
  • Временно убран подсчет сессии в WebGL

Модуль Bank:

  • [Android] Исправлено неправильное поведение, когда в разные методы callback'а мог возвращаться developerPayload с разной структурой. Теперь будет возвращаться только тот вариант, который изначально передавался в момент покупки.

Модуль GDPR:

  • [Android] Исправлена ошибка с долгим возвращением ответа при вызове MRGSCOPPA#showCOPPAFlowIfNeeded, если нет интернета.
  • Исправлена ошибка с неправильной обработкой MRGSCOPPAShowResult.Reason.OutsideTheScopeOfCOPPA от Android, из-за чего возвращалось MRGSCOPPAShowResult.Reason.Unknown.

Модуль Support:

  • [IOS] Исправлен краш в MyGames Support при проверке тикетов

Модуль Showcase:

  • [IOS] Исправлено отображение AppClips для первого баннера в витрине (в редких случаях раньше AppClip мог не показаться)

Модуль Authentication:

  • Исправлен редкий краш при попытке авторизоваться через Facebook на мобильном устройстве.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


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

Версии нативных SDK: Android 4.12.0, iOS 4.7.0

В данной версии:

Модуль MRGService:

  • Добавлена поддержка установки стороннего userId в MyTracker через MRGSMyTracker#ForceCustomUserId(String). Подробней смотрите в документации.
  • Добавлен новый метод MRGSDevice#GetIdentifierForVendor(Action<string, MRGSError>) который вернет IDFV для Apple store, AppSet id для Google store, ODID для Huawei store или null для остальных магазинов приложений.
  • [Android] Добавлена поддержка App set ID.

  • [IOS] Обновлен MyTracker SDK с версии 3.0.2 до версии 3.0.5.

  • [Android] Удалена отправка уникальных идентификаторов по сети таких как Build.SERIAL и Wi-Fi MAC address, по причине предупреждений со стороны Google.
  • [Android] Изменена работа метода MRGSDevice#getOpenUDID(IMRGSUDIDDelegate), по причине что данный метод не мог правильно сгенерировать openUDID до инициализации MRGService. Теперь данный метод может вернуть null, если его вызвать на самом первом запуске приложения до инициализации MRGService.

  • Исправлены некоторые участки кода для совместимости с C# 4.0.

  • [IOS] Исправлен вывод данных в лог.

Модуль Advertising:

  • [Android] Исправлена долгая загрузка рекламы, которая могла занимать от 0 до 5 секунд.
  • [Android] Исправлена ошибка, при которой могла заблокироваться кнопка "закрыть", при показе видео.
  • [Android] Исправлена рассинхронизация между счетчиком времени в кнопке и видеоплеером.

Модуль Analytics:

  • Добавлена поддержка выставления customerUserId в AppsFlyer через метод MRGSAppsFlyer#ForceCustomerUserId(String) до старта MRGS, а также выключение автоматического выставления этого параметра. Подробней смотрите в документации.
  • [IOS] Обновлен AppsFlyer SDK с версии 6.3.5 до версии 6.4.2.

Модуль Bank:

  • [Android] Исправлена ошибка с разбором json, когда JSONObject.optString мог вернуть "null" вместо "" для Facebook Cloud биллинга.

Модуль GDPR:

  • [Android] Добавлен метод MRGSGDPR#openLinkInWebView для открытия внешних ссылок GDPR в WebView для Facebook Cloud.
  • [Android] Исправлена ошибка, когда два события об открытии и принятии GDPR имели разные хэши.

Модуль Support:

  • Убрана поддержка старого виджета саппорта.
  • Удален метод MRGSMyComSupport#Secret, который использовался для старого виджета.
  • Улучшена проверка тикетов в виджете поддержки - теперь проверка будет работать быстрее и меньше нагружать сервер поддержки.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.6.1 Release (09-11-2021)🔗

Версии нативных SDK: Android 4.11.0, iOS 4.6.1

В данной версии:

  • Исправлена ошибка из-за которой в версии 3.6.0 в сборку попали зависимости от Android 4.10.0 вместо Android 4.11.0.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.6.0 Release (03-11-2021)🔗

Версии нативных SDK: Android 4.11.0, iOS 4.6.1

В данной версии:

Модуль MRGService:

  • [Android] Добавлена поддержка Android 12.
  • [Android] Обновлен MyTracker SDK с 3.0.0 до 3.0.1.
  • [Android] Обновлен com.google.gms:google-services с 4.3.5 до 4.3.10.
  • [Android] Обновлен com.huawei.agconnect:agcp с 1.4.1.300 до 1.6.0.300.
  • [Android] Обновлен com.huawei.hms:ads-identifier с 3.4.34.301 до 3.4.39.302.
  • [Android] Обновлен com.huawei.hms:opendevice с 5.0.4.300 до 5.1.1.307.
  • [Android] Исправлена редкая ошибка из-за которой MRGSMetrics#addPurchase терял события, которые не успели уйти во время игровой сессии, после перезапуска приложения.
  • [Android] Исправлена ошибка с неправильным чтением MRGSError#Domain из нативного объекта, из-за чего MRGSError#Domain всегда содержал одно и то же значение.
  • [Desktop] Исправлено сохранение буфера отправки в WebGL.
  • [Desktop] Исправлено отслеживание сессии в WebGL.
  • [Desktop] Исправлен PostBuild для сборок на Windows - ненужные dll будут удалены.
  • [Desktop] Исправлен краш при получении языка.

Модуль Advertising

  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Обновлен androidx.recyclerview:recyclerview с 1.0.0 до 1.2.1.

Модуль Analytics

  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.

Модуль Authentication:

  • [Android] Увеличено количество доступных браузеров для авторизации. Раньше использовался только Chrome.
  • [Android] Удален WebView как один из способов авторизоваться в Facebook, так как данный способ больше не поддерживается. Так же в колбек будет приходить ошибка с кодом -110 и описанием Browser not found если на девайсе нет браузера. В таком случае рекомендуем показать пользователям алерт о том, что нужно установить браузер для авторизации в Facebook.
  • [Android] Исключены возможности авторизоваться при помощи Facebook или Google в MyGames если используется WebView, так данные соцсети больше не поддерживают WebView.
  • [Android] Обновлен Facebook graph api версия с 6.0 до 11.0.
  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Обновлен androidx.browser:browser с 1.0.0 до 1.3.0.
  • [Android] Обновлен com.google.android.gms:play-services-auth с 18.0.0 до 21.0.0.
  • [Android] Обновлен com.google.android.gms:play-services-games с 19.0.0 до 19.2.0.
  • [Android] Обновлен с com.vk:androidsdk:2.7.0 до com.vk:android-sdk-core:3.3.0. ВНИМАНИЕ!!! Теперь для работы VK авторизации требуется minSdkVersion="21" (Андроид 5.0+).
  • [Android] Исправлен NullPointerException в CustomTabMainActivity при попытке авторизоваться через MyGames.

Модуль Bank:

  • [Android] Добавлена поддержка AppTouch. Данная возможность включается автоматически и не требует дополнительных настроек.
  • [Android] Добавлена проверка на размер developerPayload, если он больше 255 байт то будет возвращена ошибка при попытке совершить платеж.
  • [Android] Добавлена видимость пакета для Samsung биллинга, под андроид 11.
  • [Desktop] Улучшено определение платежей Steam в статистике MRGS при выкладке через Игровой центр MyGames
  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Обновлен com.huawei.hms:iap с 5.1.0.300 до 6.1.0.300.
  • [Android] Исправлена ошибка по сбору типа валюты для платежей Samsung для модуля MRGSBilling. Раньше забирали код из "79.99$", но данный код может быть использован у разных валют из-за чего статистика была не правильной. Теперь будет отсылаться код валюты RUB, EUR, etc. Данной ошибки нет, если платежи слались через MRGSMetrics#addPurchase(MRGSPurchaseEvent).

Модуль Firebase:

  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Обновлен com.google.firebase:firebase-analytics с 18.0.2 до 19.0.2.

Модуль GameCenter:

  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Обновлен androidx.recyclerview:recyclerview с 1.0.0 до 1.2.1.

Модуль GDPR:

  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [IOS] Исправлена работа с памятью в COPPA

Модуль Notifications:

  • [Desktop] Добавлена поддержка уведомлений в Plarium, как при обычном выходе в магазины, так и при работе через MyGames ИЦ.
  • [Desktop] Добавлена поддержка уведомлений в MyGames ИЦ.
  • [Android] Теперь MRGSPushNotification#setCustomViewImage будет искать изображение не только в drawable но и в mipmap, если изображения не оказалось в drawable.
  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Обновлен com.google.firebase:firebase-messaging с 21.0.1 до 22.0.0.
  • [Android] Обновлен com.huawei.hms:push с 5.0.4.302 до 6.1.0.300.

Модуль Recommendations:

  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.

Модуль Showcase:

  • [IOS] Исправлена работа AppClips, улучшена анимация прокрутки
  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Обновлен androidx.recyclerview:recyclerview с 1.0.0 до 1.2.1.
  • [Android] Исправлены потенциальные утечки памяти.

Модуль Support:

  • Добавлена поддержка авторизации VK при открытии виджета поддержки.
  • [Android] Обновлен androidx.appcompat:appcompat с 1.2.0 до 1.3.1.
  • [Android] Исправлены потенциальные утечки памяти.

Переход на новый виджет сапорта

В следующем релизе мы уберем поддержку старого виджета сапорта. На клиенте теперь не нужно будет выставлять секрет и идентификатор проекта - секрет хранится на сервере, а projectId будет равен mrgsAppId. Для того, чтобы подготовиться, проверьте работу нового виджета в своем проекте(обычно проблемы возникают с тестовым приложением, т.к. projectId равен mrgsAppId. Это значит, что тестового проекта в сапорте может не быть, в таком случае нужно запросить его создание)

VK авторизация

Теперь для работы VK авторизации требуется Android 5.0+ (Api level 21+)

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.5.0 Release (01-10-2021)🔗

Версии нативных SDK: Android 4.10.0, iOS 4.6.0

В данной версии:

Модуль MRGService:

  • Добавлена поддержка событий отправки сообщений в чате и переписках в игре с помощью MRGSTracker (передача логов чатов по закону Яровой)
  • [Android] Добавлена возможность проверить правильно ли указали client id для MyGames авторизации, через проверку интеграции.
  • [Desktop] Исправлено получение страны и языка

Модуль Support:

  • Добавлена поддержка авторизации в виджете поддержки - теперь виджет стал безопаснее, и позволит связывать запросы пользователей с аккаунтами в соцсетях. При использовании модуля MRGSAuthentication авторизация подтянется автоматически.

Модуль GDPR:

  • Добавлена поддержка частных ссылок на Privacy policy в GDPR при показе дефолтного/кастомного HTML с локализацией. Достаточно прописать ссылку на policy в админке MRGS.
  • [Android] Исправлен краш java.lang.NullPointerException в COPPA.

Модуль Bank:

  • [Android] Исправлена ошибка INVALID_PARAMETER, errorMessage: This operation duplicates an unresolved request при множественном вызове метода isBillingAvailable для FacebookCloud.

Модуль Authentication:

  • [Android] Теперь в авторизацию MyGames будет передаваться локаль девайса, для того чтобы сменить язык интерфейса. Локаль будет передаваться если будет выставлен флаг в MRGS remote конфиге.
  • [Desktop] Убрана зависимость от unitywebrequesttexture - раньше при отсутствии этого пакета могла выдаваться ошибка компиляции
  • Исправлено обновление токена в MyGames авторизации внутри одной игровой сессии (раньше токен обновлялся только на старте приложения)
  • Исправлен возможный показ окна "перейдите по ссылке" в авторизации MyGames, если использовался WebView.

Модуль Notifications:

  • Улучшена передача путей файлов вложений в уведомлениях на iOS - теперь мы распознаем больше форматов, в которых можно передать путь

Модуль Showcase:

  • [IOS] Исправлен фон витрины при сборке с iOS 15 SDK
  • [IOS] Исправлена ошибка при проверке хеш-суммы, если от сервера пришел не валидный md5 хеш.

Модуль Advertising:

  • [IOS] Исправлена ошибка при проверке хеш-суммы, если от сервера пришел не валидный md5 хеш.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.4.3 Release (21-09-2021)🔗

Версии нативных SDK: Android 4.9.3, iOS 4.5.1

В данной версии:

Модуль MRGService:

  • [Android] Обновлен facebook-gamingservices SDK с 11.0.0 до 11.2.0.
  • Добавлено ограничение на размер отсылаемых унифицированных логов в размере 128кб.
  • [Desktop] Изменено определение магазина при работе через MyGames обратно на синхронное

Модуль Advertising:

  • [Android] Исправлена ошибка при проверке хеш-суммы, если от сервера пришел не валидный md5 хеш.

Модуль Authentication:

  • [Desktop] Исправлено сохранение данных авторизации для Plarium и MyGames - теперь OptionalParams будут восстанавливаться корректно и не будут равны null
  • [IOS] Исправлена работа авторизации MyGames - теперь если userId равен пустой строке, авторизация вернет ошибку

Модуль GDPR:

  • [Android] Исправлена поддержка андроид "челки" для COPPA диалогового окна.
  • Изменен текст в окне с показом ограничения на игру в COPPA

Модуль Notifications:

  • [Android] Исправлена ошибка с отправкой локальных пуш-уведомлений для Facebook Cloud.

Модуль Showcase:

  • [Android] Исправлена ошибка при проверке хеш-суммы, если от сервера пришел не валидный md5 хеш.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.4.2 Release (17-09-2021)🔗

Версии нативных SDK: Android 4.9.2, iOS 4.5.0

В данной версии:

Модуль MRGService:

  • [Desktop] Исправлена работа флага debug на версии для Unity - теперь при выключенном флаге логи не пишутся
  • [Desktop] Исправлено логирование в Plarium
  • [Desktop] Исправлены warning'и

Модуль GDPR:

  • [Android] Исправлен краш IllegalStateException: Can not perform this action after onSaveInstanceState при попытке показать окно COPPA, если пользователь свернул приложение в момент запуска окна.

Модуль Notifications:

  • [Android] Исправлен краш при попытке отправить метрики о получении пуш-уведомления или попытке открыть приложение через пуш.
  • [Android] Исправлен краш при попытке открыть приложение по локальному пуш-уведомлению.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.4.1 Release (16-09-2021)🔗

Версии нативных SDK: Android 4.9.1, iOS 4.5.0

В данной версии:

Модуль MRGService:

  • [Android] Исправлена ошибка при получении application context.
  • [Android] Исправлена ошибка при попытке получить токен для нового сетевого api.
  • Исправлено значение по умолчанию флага forwardMetrics в MyTrackerParams при инициализации из кода - теперь оно по умолчанию true

Модуль GDPR:

  • Добавлено свойство для проверки поддержки COPPA на платформе
  • Исправлено поведение MRGSCOPPA в Editor - теперь делегат возвращает успех показа, чтобы можно было писать универсальный код
  • [Android] Изменилось поведение проверки страны юзера для COPPA. Теперь если не удалось определить страну пользователя по ip адресу, то будет возвращен результат что пользователь не попадает под COPPA.
  • [Android] Изменилось поведение проверки страны юзера для COPPA. Теперь страна проверяется только по ip адресу.

Модуль Support:

  • [Android] Исправлена ошибка Class not found when unmarshalling: MyComSupportParams при попытке открыть MyGames Support на старых устройствах Samsung.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.4.0 Release (03-09-2021)🔗

Версии нативных SDK: Android 4.9.0, iOS 4.5.0

В данной версии:

Главные изменения:

  • Добавлена поддержка закона COPPA. Подробнее смотрите в документации.
  • [Desktop] Добавлена поддержка магазина Plarium Play. Подробнее смотрите в документации.
    • Возможности: платежи, авторизация, трекинг событий
    • Сборка/Выпуск: можно выпускать как сразу в Plarium, так и через игровой центр MyGames
  • [Android] Добавлена поддержка Facebook Cloud - платежи, авторизация. Подробнее смотрите в документации.
  • [Desktop] Добавлена поддержка магазина Steam - можно выпускать как сразу в Steam, так и через игровой центр MyGames. Подробнее смотрите в документации.
  • [Desktop] Добавлена поддержка платформы WebGL.
  • [IOS] Поднята минимально поддерживаемая версия iOS до 9.0.

Модуль MRGService (базовый):

  • [Desktop] Добавлена защита от двойного вызова старта SDK.
  • [Android] Исправлена ошибка при использовании дефолтного биллинга в настройках конфига через код. Теперь будет использоваться биллинг google вместо пустой строки, согласно документации.
  • [Desktop] Исправлена ошибка с не отправкой applicationExit на некоторых проектах - из-за этого могла неверно считаться статистика по запускам.
  • [Desktop] Исправлена работа версии на Nintendo Switch
  • [IOS] Исправлены warning'и для non-arc проектов.

Модуль Bank:

  • [IOS] Исправлен краш в iOS 15 beta из-за пустой локали в возвращаемых продуктах от Apple.

Модуль Showcase:

  • [IOS] Улучшена анимация прокручивания в витрине.
  • [IOS] Исправлена анимация поворота витрины.

Модуль Authentication:

  • Добавлена поддержка авторизации Facebook Login For Gaming.
  • [Android] Добавлена поддержка авторизации в Facebook Cloud. Подробнее смотрите в документации.
  • [IOS] Обновлен FB graph api до версии v11.0.

Пуш-уведомления

Была добавлена основа для будущих пуш-уведомлений в Facebook Cloud. Теперь данный MRGSNotifications модуль нельзя использовать до инициализации MRGService.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.3.1 Release (25-08-2021)🔗

Версии нативных SDK: Android 4.8.1, iOS 4.4.0

В данной версии:

Модуль MRGService (базовый):

  • [Android] Исправлена ошибка выставления дополнительных параметров для метрик в методе класса MRGSMetrics#addMetric.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.3.0 Release (24-08-2021)🔗

Версии нативных SDK: Android 4.8.0, iOS 4.4.0

В данной версии:

Модуль MRGService (базовый):

  • Добавлена поддержка новой системы для сбора внутриигровых логов(событий). Подробнее смотрите в документации.
  • [Android] Изменен способ отправки метрик
  • [Android] Исправлена ошибка java.lang.ClassCastException: java.lang.String cannot be cast to ru.mail.mrgservice.MRGSMap в MRGSIntegrationCheck.
  • [Android] Обновлен MyTracker SDK с 2.1.2 до 3.0.0
  • [IOS] Обновлен MyTracker с версии 2.2.1 до 3.0.2

Модуль Analytics:

  • Улучшен трекинг платежей. Теперь информация по новым платежам отправляется лишь единожды, что позволяет избежать дубликатов в статистике.
  • [IOS] Добавлена поддержка отправки событий покупки подписки(af_subscribe) или trial-подписки(af_start_trial) в AppsFlyer
  • [Android] Обновлен AppsFlyer SDK с 6.2.3 до 6.3.2
  • [IOS] Обновлен AppsFlyer с версии 6.2.5 до версии 6.3.5

Модуль Firebase:

  • Улучшен трекинг платежей. Теперь информация по новым платежам отправляется лишь единожды, что позволяет избежать дубликатов в статистике.
  • [IOS] Обновлен Firebase с версии 7.4.0 до версии 8.6.0

Модуль Showcase:

  • [Android] Исправлена ошибка при проверке хеш-сумм баннеров, что влияло на показ баннера в витрине.

Модуль Recommendations:

  • Добавлена поддержка отправки новых типов событий для рекомендательной системы (RecSys). Подробнее смотрите в документации.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.2.4 Release (06-08-2021)🔗

Версии нативных SDK: Android 4.7.0, iOS 4.3.8

В данной версии:

Модуль MRGService (базовый):

  • [iOS] Улучшена проверка интеграции - теперь будет валидироваться MyGames ClientId при его наличии.
  • [Android] Исправлена проблема с idfa состоящим из одних нулей для Huawei стора. Теперь для более точной статистики требуется подключить com.huawei.hms:opendevice:<version> библиотеку.
  • [Android] Исправлена точность версии MyTracker SDK с <version> на [<version>] в конфиг файле, так как PlayServiceResolver мог завысить версию до обратно несовместимой.

Модуль Analytics:

Модуль Support:

  • [iOS] Исправлена ошибка с показом виджета поддержки с помощью кода авторизации из Unity плагина (метод showWithAuthenticationCode())
  • [Android] Исправлена ошибка для нового виджета, из-за которой поле extra_params передавалось в поле locale и не обрабатывался на сервере.

Модуль Notifications:

  • [iOS] Исправлена ошибка с developerPayload в уведомлениях, полученных с сервера, теперь он находится не в поле params, а в корне словаря (в поле params также оставлены данные для совместимости).

Модуль Advertising:

  • [iOS] Добавлена поддержка открытия AppStore внутри приложения и поддержка AppClips (системный попап, через который можно загрузить/открыть приложение не выходя из игры). Подробнее смотрите на странице модуля рекламы

Модуль Authentication:

  • Google

    • Исправлена ошибка логина для таргета 30+ (Android 11+) из-за отсутствия записи <package android:name="com.google.android.play.games" /> в manifest файле SDK.
    • Исправлена ошибка из-за которой, в момент логина, всегда писалась ошибка в лог MRGSGoogleGames getSignInClient no activity attached!!!
  • MyGames

    • [Android] Исправлена проблема авторизации, если у пользователя включена двухфакторная аутентификация.

Модуль Billing:

  • Samsung
    • Исправлена ошибка выставления developerPayload при вызове функции - восстановление транзакций.

Модуль Firebase:

  • [Android] Исправлен NullPointerException если был подключен модуль но не было подключено Firebase SDK, то в некоторых случаях модуль мог бросить ошибку.

Модуль GDPR:

  • [Android] Изменено время отправки события принятие GDPR, так как для его отправки требуется знать MRGS платформу. Теперь данное событие отсылается после инициализации MRGService.
  • [Android] Исправлена проблема с обновлением версии GDPR отдельно для каждого приложения. Теперь для каждого приложения можно указать версию GDPR в конфиге на сервере MRGS

Модуль Showcase:

  • [iOS] Добавлена поддержка открытия AppStore внутри приложения и поддержка AppClips (системный попап, через который можно загрузить/открыть приложение не выходя из игры). Подробнее смотрите на странице модуля витрины
  • [Android] Удален таймер который блокировал нажатие баннеров если с сервера присылали click_time больше 0.
  • [Android] Изменено поведение отправки кол-во событий клика по баннерам за одни показ витрины. Раньше, за один показ витрины, можно было отправить не больше одного события клика по каждому баннеру, теперь данного ограничения нет.
  • [Android] Исправлена ошибка с инициализацией MRGSShowcase из-за чего любое первое обращение к функционалу класса ничего не выполняло. Проблема была только при первом обращении к классу, все последующие обращения работали корректно.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.2.3 Release (28-06-2021)🔗

Версии нативных SDK: Android 4.6.2, iOS 4.3.7

В данной версии:

Модуль MRGService (базовый):

  • [iOS] Исправлено предупреждение для метода MRGSMetrics.AddPurchase(Product) из-за использования в нем устаревшего внутреннего метода.
  • [Desktop] Исправлен краш при сохранении/развороте очереди сообщений, краш при получении невалидных данных с сервера (base64Decode)
  • [Desktop] Исправлена работа SDK на Nintendo Switch - сохранения данных на файловую систему теперь нет.

Модуль Billing:

  • [iOS] Исправлена ошибка когда MRGSBankPurchaseResult.ProductIdentifier всегда возвращал null.
  • [Android] Исправлена ошибка когда MRGSBank.LoadedProducts всегда возвращал null.
  • [Android] Исправлена ошибка когда MRGSBank.LoadedProductsIdentifiers всегда возвращал null.

Модуль GDPR:

  • Исправлена ошибка в тексте локализации для японского языка.
  • Исправлена ошибка с переносом текста для корейского языка в WebView.
  • Добавлена анимация "нажатия" на кнопку принятия GDPR в WebView.
  • Изменено поведение показа GDPR в WebView. Теперь по умолчанию показывается GDPR без Разрешение на рекламу.
  • Исправлена ошибка позволяющая серверу понижать версию GDPR на клиенте. Теперь версию можно только повышать.
  • [iOS] Улучшен механизм получения версии GDPR с сервера - через конфиг

Модуль MyGamesSupport:

  • [Android] Исправлена ошибка отправки события закрытия окна саппорта, если вернуться в приложение по иконке, а в манифесте для этого события выставлен не стандартный launchMode.
  • [Android] Исправлена ошибка с запросом версии виджета. Теперь версия виджета запрашивается лишь раз во время сессии, чтобы избежать блокировки со стороны сервера.

Модуль Showcase:

  • [iOS] Исправлена ошибка с невозможностью повернуть экран в некоторых случаях.
  • [Android] Теперь можно выставить желаемую ориентацию экрана через manifest. Узнать больше.
  • [Android] Исправлена ошибка отправки события закрытия витрины, если вернуться в приложение по иконке, а в манифесте для этого события выставлен не стандартный launchMode. Узнать больше.
  • [Android] Исправлена ошибка с неправильной версткой при перевороте экрана.

Модуль Authentication:

  • [iOS] Улучшена обработка ошибок при логине в MyGames
  • [iOS] Добавлена поддержка локализации окна MyGames в соответствии с языком устройства (настраивается на сервере, по умолчанию данная функция включена)

Модуль Firebase:

  • [iOS] Изменена логика отправки платежей - "восстановленные" платежи больше не попадают в Firebase.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.2.2 Release (03-06-2021)🔗

Версии нативных SDK: Android 4.6.1, iOS 4.3.6

В данной версии:

Модуль MRGService (базовый):

  • [Android] Обновлены все правила обфускации для ProGuard/R8. Все правила обфускации поставляются .aar библиотеками.
  • [Android] Добавлена поддержка targetSdkVersion 30 (Android 11).
  • Исправлена ошибка, когда в UnityAppController.mm добавлялся неполный метод continueUserActivity при сборке под iOS
  • Убрано добавление метода openUrl:sourceApplication в UnityAppController.mm для Unity 2019.3+ при сборке под iOS, т.к. он устарел.
  • [iOS] Внутренние подготовки к переходу на iOS 9 в качестве минимально поддерживаемой. Убрано использование deprecated api для iOS 8.

Модуль Authentication:

  • [Android] Исправлены некоторые ошибки с неправильным переключением потоков при возврате результата из Android.main потока в Unity.main поток.

  • Facebook

    • [Android] Исправлена ошибка при попытке пригласить друзей.

Модуль Billing:

  • Amazon

    • Обновлен In-app purchases SDK с 2.0.61 до 2.0.76.
    • Добавлена поддержка нового MRGSBilling API, которое было ранее добавлено для Google, Huawei и Samsung но не было добавлено для Amazon.
  • [iOS] Теперь в случае ошибок платежа на наш сервер будет отправляться developerPayload

Модуль Showcase:

  • [Android] Исправлена проблема с версткой для экранов с шириной sw320dp.

Модуль Notifications:

  • [iOS] Исправлена ошибка в отправке статистики об открытии приложения с push-уведомления на сервер в случае, если проект не выставляет делегат.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.2.1 Release (18-05-2021)🔗

В данной версии:

Модуль MRGService (базовый):

  • [iOS] Добавлена поддержка получения точного серверного времени (сбрасывается только при перезагрузке устройства или смене системного времени). Подробнее смотрите здесь.
  • [iOS] Добавлен принудительный краш в случае, если файл MRGService.plist не найден, но необходим для инициализации.
  • [Android] Исправлена ошибка из-за которой при проверке интеграции неверно определялась платформа, теперь если не удалось определить платформу, то будет считаться что платформа Android. Платформа определяется по выставленному типу биллинга см. Настройка параметров.
  • [iOS] Улучшена проверка интеграции - проверки на неверные версии/параметры модулей и корректности использования модуля уведомлений.
  • [iOS] Улучшено логирование - теперь все строки нашего лога будут начинаться с "[MRGS]".
  • Исправлена ошибка "Platform name 'Stadia' not supported."

Модуль Billing:

  • Google
    • Добавлено новое свойство MRGSBankPurchaseRequest.Android.ObfuscatedAccountId для поддержки Karaganda Fraud Prevention API. Узнать больше.
    • Добавлено новое свойство MRGSBankPurchaseRequest.Android.ObfuscatedProfileId для поддержки Karaganda Fraud Prevention API. Узнать больше.
    • Исправлена редкая ошибка из-за преждевременного кэширования подписки до фактического ее закрытия(потребления): Покупка подписки на клиенте -> Валидация на сервере -> Кеширования результата на клиенте -> Закрытие подписки(потребление) на клиенте. Если в момент закрытия подписки Google Billing выбрасывал ошибку, то это могло привести к зависанию подписки, что приводило к возврату средств пользователю. Теперь подписка будет кэшироваться лишь после успешного ее закрытия(потребления): Покупка подписки -> Валидация -> Закрытие подписки(потребление) -> Кеширования результата.

Модуль Firebase:

  • Добавлены новые события о суммарном времяпровождении пользователя в приложении: 30 минут (mrgs_cumulative_session_time_30min), 1 час (mrgs_cumulative_session_time_60min), 2 часа (mrgs_cumulative_session_time_120min) и 3 часа (mrgs_cumulative_session_time_180min). События придут лишь раз, при достижении пользователем соответствующего времени. Подробней см. Отправка событий

Модуль Showcase:

  • [Android] Добавлена поддержка прямых ссылок на Google Play Store. Теперь если для баннера будет приходить прямая ссылка на Google Play Store, то переход в Google Play Store будет осуществлен без посредничества браузера.

Модуль Notifications:

  • [iOS] Добавлена поддержка Trial notifications - отправка уведомлений без предварительного согласия пользователя. Подробнее смотрите в документации по уведомлениям
  • [iOS] Изменена работа метода isNotificationsEnabledWithCompletion - теперь он вернет true, когда включены хотя бы баннеры/показ в центре уведомлений/цифры на иконке/включен trial режим.

Модуль Authentication:

  • [iOS] Исправлен повторный логин в Apple Game Center после ошибки - в таких случаях при вызове метода логина мы сразу вернем Вам в результат ошибку с кодом '-102'. Лучше всего при получении такой ошибки показать пользователю окно с призывом открыть раздел "Game Center" в системных настройках и выполнить вход в учетную запись там, и после этого вернуться в приложение.
  • [iOS] Добавлена поддержка смены userID в Sign In With Apple при трансфере приложения с одного паблишера на другого

Определение платформы - Android

Если вы планируете использовать другой магазин (не Google play), то вы также должны указать billing, даже если вы не используете MRGSBilling модуль. Если вы не укажите billing это может привести к неправильной работе всего SDK. Как указать billing смотри в документации.

Удаление deprecated методов и свойств

Мы планируем удалить методы и свойства, которые были отмечены как deprecated/obsolete. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):

  • Старый API MRGSBank (loadProductsInfo, addPayment(string sku, string type), MRGSBankDelegate, hasPendingPayment и др.) - конец 2021 года.
  • Старый API MRGSNotifications (класс MRGSNotificationManager, MRGService.registerForRemoteNotifications()) - конец 2021 года.
  • MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature) - конец 2021 года.
  • GDPR - методы, включающие в себя agreementVersion (showAgreementFromFile(string appId, string filePath, int agreementVersion) и др) - до осени.
  • MRGSMyGamesParams.ClientSecret, MRGSAuthenticationAccessToken.UserID, MRGService.onStart(), MRGService.onStop() и другие отмеченные как deprecated - до осени.

Подробнее о новых функциях и их использовании читайте в документации.


v3.2.0 Release (12-05-2021)🔗

В данной версии:

Важное изменение:

  • [Desktop] Теперь ядро MRGS поддерживает все платформы на Unity, например PlayStation, Switch, XBOX, OSX и др.
  • [Desktop] Для включения работы с магазином MyGames Store теперь необходимо проставить дефайн MRGS_MYGAMES_STORE (раньше наоборот нужно было ставить DISABLESTEAMWORKS для отключения магазина).
  • [Desktop] Steamworks, идущий в составе MRGS теперь находится в нашем namespace и не будет конфликтовать с имеющимся в проекте.
  • [Desktop] Добавлена возможность информирования о покупках на любой поддерживаемой платформе с помощью объекта MRGSPurchaseEvent.Standalone(<transaction_id>, <product>)

Breaking change - Поддержка Игрового центра MyGames

Теперь, чтобы собрать приложение для работы с игровым центром MyGames нужно проставить дефайн MRGS_MYGAMES_STORE. Без него авторизация и платежи работать не будут.

Подробнее о новых функциях и их использовании читайте в документации.


v3.1.4 Release (30-04-2021)🔗

В данной версии:

Важное изменение:

  • Добавлена поддержка выставления conversionValue в SKAdNetwork через MRGS с большим количеством правил расчёта этого значения, которые вы можете задать. На клиенте дополнительных вызовов делать не требуется, данная функция включается удаленно.

Модуль MRGService (базовый):

  • [Android] Исправлена ошибка из-за которой при проверке интеграции, на сервер передавалась неправильная платформа для Amazon, Huawei и Samsung, что приводило к некорректным рекомендация по проверки платформы.
  • [Android] Исправлена ошибка из-за которой проверка интеграции не выводила информацию по настройкам MRGS SDK если SDK настраивалось через код вместо xml конфига.
  • [Android] Улучшена проверка интеграции. Теперь проверка интеграции будет выводить информацию по подключенным модулям.
  • [Android] Улучшена проверка интеграции. Теперь проверка интеграции будет выводить больше информации об ошибках, возникшие во время инициализации модулей.

Модуль Authentication:

  • MyGames
    • [Android] Исправлена ошибка из-за которой MRGSAuthentication.getCurrentUser() мог вернуть данные по пользователю без MRGSAuthenticationNetwork.

Модуль Billing:

  • Google
    • [Android] Обновлен Google Billing SDK с 2.0.3 до 3.0.3.

Модуль MyGamesSupport:

  • Добавлено новое свойство MRGSMyComSupport.getInstance().CustomUserID, на случай когда нужно открыть саппорт с другим userId отличным от MRGSUsers.getInstance().setUserId(string).

Модуль Notifications:

  • [Android] Исправлена ошибка из-за которой не отображалась иконка уведомления которую поставили в момент инициализации MRGS SDK, если ее проставили через код вместо xml конфига.

Модуль Analytics:

  • [iOS] Исправлена работа флага dontForwardReportedPayments - теперь при включении данного флага платежи, проведенные через MRGS тоже не будут отправляться в AppsFlyer.

Подробнее о новых функциях и их использовании читайте в документации.


v3.1.3 Release (22-04-2021)🔗

В данной версии:

Модуль MRGService (базовый):

  • [Android] Исправлена ошибка из-за которой могло существовать два экземпляра класса MRGSMyTracker вместо одного.

Модуль Analytics:

  • [iOS] Исправлен баг AppsFlyer при работе с флагом waitForATTUserAuthorization - теперь он корректно работает
  • [iOS] Исправлен баг AppsFlyer - теперь работа с SkAdNetwork через AppsFlyer будет корректной (раньше постбеки могли приходить с conversionValue == 0)
  • [iOS] Обновлен AppsFlyer SDK с 6.2.4 до 6.2.5.

Модуль Billing:

  • [Android] Удален <uses-permission android:name="com.farsitel.bazaar.permission.PAY_THROUGH_BAZAAR" /> из манифеста, так как биллинг bazaar давно не поддерживается.
  • [Android] Исправлена ошибка неправильного перевода sku в json если sku содержал только одни числа.

Модуль MyGamesSupport:

  • [Android] Исправлена ошибка с переводом в полноэкранный режим.
  • [Android] Исправлена ошибка позволяющая включить темную тему через настройки разработчика для нового виджета.

Модуль Showcase:

  • [Android] Исправлена ошибка с мигающей кнопкой закрытия витрины.
  • [Android] Улучшена скорость загрузки баннеров при открытии витрины.
  • [Android] Улучшено качество баннеров при рендере.
  • [iOS] Исправлена работа при нажатии на баннер во время прокрутки витрины.
  • Улучшен трекинг рекламы.

Важное обновление

Если вы используете настройку SKAdNetwork через AppsFlyer, то необходимо обновиться до данной версии.

Подробнее о новых функциях и их использовании читайте в документации.


v3.1.2 Release (26-03-2021)🔗

В данной версии:

Модуль Analytics:

  • Добавлен новый флаг WaitForATTUserAuthorization для AppsFlyer. Позволяет выставить время в секундах, которое Appsflyer SDK должен подождать перед тем, как отправить событие установки/запуска. Необходимо для того, чтобы успеть получить IDFA пользователя на iOS 14+ при первой установке для последующей атрибуции. Подробнее смотрите в документации

Модуль MyGamesSupport:

  • [Android] Исправлена ошибка IllegalStateException при попытке отобразить Fragment после onSaveInstanceState.
  • [Android] Исправлена ошибка NullPointerException при попытке открыть саппорт в то время когда MyGamesSupport модуль еще не проинициализирован.
  • [iOS] Исправлена поддержка нового виджета на iOS 10.

Подробнее о новых функциях и их использовании читайте в документации.


v3.1.1 Release (25-03-2021)🔗

В данной версии:

Модуль MRGService (базовый):

  • [Android] Обновлен MyTracker SDK с 2.1.0 до 2.1.2. Подробней смотрите в документации.
  • Добавлен новый метод MRGSMyTracker.getInstance().GetInstanceId(Action<string>) для получения уникального идентификатора для S2S отправки событий.

Gradle error: Failed to resolve: com.my.tracker:mytracker-sdk:2.1.2

Если вы столкнулись с данной ошибкой, то добавьте новый репозиторий в вашем gradle файле:

allprojects {
    repositories {
        // other repositories
        mavenCentral()
    }
}

Модуль Advertising:

  • [Android] Исправлено неправильное поведение. Если в момент загрузки контента происходила ошибка, то MRGSAdvertisingLoadDelegate.onAdvertisingLoadingError никогда не вызвался.

Модуль Billing:

  • Google

    • Исправлена проблема с кэшированием подписок. Это приводило к проблемам с синхронизацией с сервером и сервер не мог правильно автоматически продлять подписки. После обновления на новую версию SDK, все текущие/действующие подписки отправятся на сервер (если только будет сделано восстановления транзакций или у вас выставлен флаг на автоматическое восстановление транзакций). Затем действующие подписки будут синхронизироваться с сервером раз в 10 дней(если только будет сделано восстановления транзакций или у вас выставлен фланг на автоматическое восстановление транзакций).
    • Исправлена проблема с логированием ошибок от Google Billing. Так как у ошибок не всегда есть описание причины, в место причины будет отправляться код ошибок. Это должно помочь лучше понять проблемы, случающиеся во время платежей. Так же ошибки логируются в MRGS в разделе Падения.
  • Добавлен новый define MRGS_FORCE_UNITY_IAP для принудительного включения доступности методов трекинга платежей из Unity IAP.

Модуль MyGamesSupport:

  • [Android] Исправлена ошибка NetworkOnMainThreadException при попытке запросить кол-во непрочитанных сообщений из старого виджета. Из-за данной ошибки всегда возвращался false для MRGSMyComSupport.checkTickets() и 0 для MRGSMyComSupport.checkTickets(Action<int, MRGSError>)
  • Добавлено логирование ошибок виджета в MRGSMetrics (метрика -18)

Подробнее о новых функциях и их использовании читайте в документации.


v3.1.0 Release (22-03-2021)🔗

В данной версии:

Самые важные изменения:

  • Добавлен новый модуль MRGSShowcase - новый формат кросс-промо рекламы - витрина приложений.
  • Добавлена поддержка обновленного виджета поддержки - с полностью новым интерфейсом, возможностями и настройками для кастомизации. Добавлены новые методы.
  • iOS пакеты теперь дополнительно распространяются в формате xcframework - новый формат библиотек от Apple, ускоряющих сборку и поддерживающих симуляторы на процессорах M1.

А также:

Модуль MRGService (базовый):

  • Добавлена возможность отправлять метрики по платежам для магазинов Amazon, Huawei и Samsung через MRGSMetrics.addPurchase(MRGSPurchaseEvent). Подробней смотрите в документации.
  • Метод MRGSMetrics.addPurchase(skuDetails, purchaseData, dataSignature) помечен как устаревший.
  • [iOS] Добавлен новый флаг showTrackingAuthorizationDialogOnAlliOSVersions для настройки показа запроса на отслеживание пользователя ATT. Необходим для включения/отключения показа на всех версиях iOS, или только на 14.5+.
  • [iOS] Добавлен новый метод MRGSDevice.getInstance().hasUserAgreedToBeTracked() - для проверки, согласился ли пользователь на отслеживание с учетом iOS 14-14.5, то есть доступен ли IDFA.
  • Добавлены поля MRGSDevice.getInstance().AdvertisingIdentifier; MRGSDevice.getInstance().IdentifierForVendor; для получения IDFA/IDFV.
  • Добавлен новый метод MRGSMyTracker.getInstance().setLaunchTimeout(long seconds). Подробней смотрите в документации
  • [Desktop] Идентификатор пользователя в системе MyGames добавлен во все запросы для корректной связки событий в 1link.

  • [iOS] Исправлена отправка дублей метрик принятия соглашения на отслеживание ATT.

  • [Android] Исправлена редкая ошибка NoSuchElementException в MRGSUsers.setUserId() при одновременном вызове MRGSUsers.setUserId() и MRGSUsers.logoutCurrentUser().
  • [Desktop] Исправлен PostBuild с копированием dll файлов на Unity 2017.
  • [Desktop] Исправлена ошибка при включении дефайна DISABLESTEAMWORKS.
  • [Desktop] Исправлена работа поля applicationVersion - теперь события будут уходить на сервер с верной версией приложения.
  • [Desktop] Исправлено сохранение данных, исправлено сохранение очереди отправки сообщений на сервер.
  • [Desktop] [Важно] Исправлена работа загрузки продуктов. Теперь будут возвращаться только запрошенные продукты (раньше возвращались все), а также будет верно заполняться поле InvalidProductsIds с недоступными продуктами.

Модуль Advertising:

  • Улучшен трекинг рекламы для A/B тестов.
  • Удалена поддержка Карусели баннеров (роллер).
  • [Android] Исправлена редкая ошибка IllegalStateException при попытке посмотреть рекламу.
  • [Android] Исправлена редкая ошибка MissingWebViewPackageException при попытке посмотреть рекламу.

Модуль Analytics:

  • Добавлена возможность отключить трекинг платежей добавленных из MRGSMetrics в AppsFlyer - флаг dontForwardReportedPayments. Подробней смотрите в документации.
  • Добавлена возможность дублировать отправку событий из MRGSMetrics(отправленные через MRGSMetrics.addMetric()), в AppsFlyer - флаг forwardMetrics. Подробней смотрите в документации.
  • [Android] Обновлен AppsFlyer SDK с 6.1.1 до 6.2.3.
  • [iOS] Обновлен AppsFlyer SDK с 6.1.4 до 6.2.4.

iOS платежи через MRGSMetrics

Теперь по умолчанию платежи, отправленные в MRGS через MRGSMetrics будут отправляться в AppsFlyer. Для отключения такого поведения воспользуйтесь флагом dontForwardReportedPayments.

Модуль Billing:

  • Samsung
    • Исправлена ошибка NullPointerException когда пользователь отменял совершение платежа.

Модуль Support:

  • Добавлена поддержка нового виджета поддержки с новым интерфейсом и большим спектром возможностей, улучшенным взаимодействием с клиентом. Внешнее API виджета не поменялось, только добавлены новые методы и настройки. Подробнее смотрите в документации.
  • Добавлен новый метод для проверки непрочитанных сообщений с получением их количества (а не просто наличия) - MRGSMyComSupport.getInstance().checkTickets(Action<int, MRGSError> completionHandler). Он работает без делегата, данные или ошибка сразу придут в блок.
  • Добавлена возможность выставлять тему оформления виджета с помощью поля WidgetTheme. Доступные темы - светлая/темная/темно-оранжевая/как на устройстве.
  • Добавлена возможность выставлять язык локализации нового виджета с помощью поля LocalizationLanguge.
  • Добавлена возможность загрузки файлов из виджета поддержки на iOS в новом виджете.
  • Добавлена возможность безопасного открытия нового виджета поддержки с кодом.
  • [Android] Исправлена дефолтная локализация для диалогового окна при запросе разрешений на доступ к хранилищу.

Модуль Showcase:

  • Добавлен новый модуль Showcase - новый формат кросс-промо витрины. Подробней смотрите в документации.

Модуль Notifications:

  • [iOS] Исправлен краш, когда создавалось уведомление с временем отправки == текущему времени.

Модуль Authentication:

  • [Desktop] Исправлена ошибка с socialID == "Unknown" в авторизации MyGames

Подробнее о новых функциях и их использовании читайте в документации.


v3.0.5🔗

В данной версии:

Модуль Analytics:

  • [Android] Исправлена ошибка с неправильной инициализацией Appsflyer версии 6+, что приводило к некорректной отправки событий об установках, в момент запуска приложения.
  • [Android] Передача в AppsFlyer параметра customerUserID (мы ставим в это поле IDFA устройства) теперь происходит до отправки события установки, поэтому в сырых данных и в событиях установки появится данный параметр (на iOS мы делаем так же).

Подробнее о новых функциях и их использовании читайте в документации.


v3.0.4🔗

В данной версии:

Модуль MRGService (базовый):

  • [Desktop] Добавлена поддержка привязки internal_uid в ИЦ MyGames для дальнейшей связки в 1link. Все работает автоматически (из метода SetUserID)

Модуль Advertising:

  • Добавлены дополнительные логи для выявления потенциальных проблем.

Модуль Authentication:

  • Исправлен SupportsTextureFormatNative в методе getAvatarForPlayerWithId при попытке создать Texture2D не в Unity main потоке, из-за чего метод возвращает null вместо аватарки.

  • [Desktop] Добавлена поддержка авторизации MyGames (валидация пользователя ИЦ MyGames и получение данных пользователя). Подробнее про специфику работы на PC читайте в документации авторизации MyGames

Модуль MyGamesSupport:

  • [Android] Исправлен NullPointerException при вызове метода checkTickets, если модуль не был проинициализирован.

Подробнее о новых функциях и их использовании читайте в документации.


v3.0.3🔗

В данной версии:

Модуль MRGService (базовый):

  • Исправлена несовместимость с Scripting Runtime версии 3.5 для скрипта миграции MRGSMigrationScript.cs.
  • [Android] Исправлен краш java.util.ConcurrentModificationException при проверке интеграции.

Модуль Billing:

  • Исправлена несовместимость с Scripting Runtime версии 3.5 кода взаимодействия с нативной частью Android.

Модуль Authentication:

  • Исправлен warning в классе MRGSSocialBaseAndroid.
  • [iOS] Исправлен Info.plist внутри VKSdkResources.bundle, из-за которого могли быть ошибки при экспорте ipa из архива xcarchive.

Подробнее о новых функциях и их использовании читайте в документации.


v3.0.2🔗

В данной версии:

Модуль MRGService (базовый):

  • Исправлена работа флага debug при инициализации из кода в Unity (раньше не работал и всегда был true)
  • Все логи в Unity сделаны более "читаемыми". Убрали Unicode из логов, теперь русские буквы в логе будут видны.
  • [Android] Исправлена ошибка NullPointerException когда Activity приходил как null.
  • [Android] Исправлена ошибка org.json.JSONException: End of input at character 1 of.
  • [iOS] Исправлен конфликт с SDK Ironsource (duplicate symbol '_SignalHandler')
  • [iOS] Исправлен краш, когда передавался nil в application: openURL:sourceApplication:sourceApplication:annotation:
  • [iOS] Добавлен трекинг событий(показ/принятие/отказ), связанных с новым запросом IDFA на iOS 14+.
  • [iOS] Обновлен MyTracker SDK с 2.1.2 до 2.2.1.
  • [Desktop] Исправлена ошибка с пустым sessionID при отправке событий на сервер MRGS.
  • [Desktop] Исправлена ошибка с отсутствием namespace у класса MD5.
  • [Desktop] Исправлена ошибка с namespace Org.BouncyCastle.Crypto, перенесли код под наш namespace.

Модуль Authentication:

  • [iOS] Обновлен VK SDK с 1.4.6 до 1.6.1.
  • [iOS] Обновлен Amazon SDK до 3.1.1.

  • GoogleGames

    • [Android] Исправлена проблема с показом окна всех достижений пользователя.
    • [Android] Исправлена проблема с получением аватарки пользователя.
    • [Android] Исправлена проблема с получением Scores пользователя.
    • [Android] Исправлена проблема с установлением прогресса.
    • [Android] Исправлена проблема с java.lang.NoSuchMethodError: no non-static method with name='saveAvatarToFile'.
    • [Android] Исправлена проблема с java.lang.NoSuchMethodError: no non-static method with name='setSteps'.

Модуль Analytics:

  • Добавлено свойство CustomerUserID для AppsFlyer для установки собственного customerUserID вместо дефолтного, устанавливаемого MRGS (мы ставим этот параметр по дефолту равным IDFA или Device ID).
  • [Android] Обновлен AppsFlyer SDK с 5.4.1 до 6.1.1.
  • [iOS] Обновлен AppsFlyer SDK с 6.0.7 до 6.1.4.

Модуль Billing:

  • [iOS] Исправлена ошибка с потерей developerPayload при использовании нового делегата. Добавлены логи.
  • [Android] Исправлена проблема с сохранением developerPayload. Когда совершалась покупка одного и того же товар с пейлоадом и без, вторая покупка получала пейлоад от первого товара.
  • [Android] Исправлена проблема с двойной валидацией, когда при покупке товара и затем вызов восстановления транзакций, отправляли один и тот же товар на валидацию. Это приводило к двойному вызову колбека о совершении платежа пользователем.
  • [Desktop] Исправлена ошибка работы банка с дефайном DESABLESTEAMWORKS.
  • [Desktop] Исправлена ошибка с пустым полем Currency в результате покупки.

  • Google

    • Исправлен краш ConcurrentModificationException при восстановлении транзакций.
    • Исправлен краш JNI table overflow, при попытке передать большой список продуктов из Unity в Android.
  • Samsung

    • MRGSSamsungBillingParams.GroupID помечен как устаревший и больше не используется.
  • Huawei

    • Исправлен краш ConcurrentModificationException при восстановлении транзакций.
    • Исправлена проблема, когда ошибка при восстановлении транзакций уходила в колбек по получению информации о продуктах.
    • Исправлена проблема с показом окна магазина при попытке купить товар.

Модуль Firebase:

  • Новая структура событий. Теперь будут приходить дополнительные параметры такие как: "currency_local" и "price_local" - местная сумма и валюта, в которой совершался платеж. "is_first_payment" - является ли этот платеж первым. "value" и "currency" - теперь всегда будут в USD.
  • [Android] Обновлен FirebaseAnalytics SDK с 17.2.1 до 18.0.1.
  • [iOS] Обновлен FirebaseAnalytics SDK с 6.9.0 до 7.4.0. Важно - теперь модуль Firebase будет работать только с XCode 12+.

Модуль GDPR:

  • Важное исправление GDPR для проектов, которые ставят флаг onlyEU = true. Больше не проставляем автоматическое принятие GDPR, если пользователь не попадает под него, теперь будем показывать соглашение только после того, как пользователь попадет в EU.
  • [Android] Исправлена проблема с отправкой метрики показа GDPR при использовании кастомного окна GDPR.

Модуль Notifications:

  • Добавлено свойство ApplicationIconBadgeNumber для работы с номером на иконке приложения (только для iOS).
  • [Android] Обновлен FirebaseMessaging SDK с 20.0.0 до 21.0.1.

Google service plugin(com.google.gms:google-services) обновлен с 3.2.1 до 4.3.4

Если у вас возникнут проблемы с google-service.json, обновите его из Firebase console, так как в нем поменялся формат.

Подробнее о новых функциях и их использовании читайте в документации.


v3.0.1🔗

В данной версии:

Улучшения в Unity плагине:

  • Добавлена возможность принудительного включения/выключения имитации работы с резолвером и без для каждого модуля с помощью define вида MRGS_ENABLE_RESOLVER_<MODULE_NAME_WITHOUT_MRGS>.
  • Исправлена работа PostBuild при сборке iOS проекта с типом сборки "Append".

Модуль MRGService (базовый):

  • Исправлена работа с UnityIAP (в asmdef не было зависимости от UnityPurchasing)

Модуль Authentication:

  • Поле UserId в классе MRGSAuthenticationAccessToken помечено как Obsolete

Подробнее о новых функциях и их использовании читайте в документации.


v3.0.0🔗

В данной версии:

Самые важные изменения:

  • Добавлена поддержка Unity Package Manager - теперь MRGS распространяется в виде пакетов, вы можете добавить наше SDK в проект либо с помощью scopedRegistry, или напрямую через tarball (но также мы оставили поддержку unitypackage варианта интеграции для более старых версий Unity, изменив структуру на модульную с добавлением всех новых возможностей)
  • Добавлена поддержка Desktop сборки (модули MRGService и MRGSBank(работает с Игровым центром MyGames))
  • Добавлена поддержка Huawei (модули MRGService(трекинг), MRGSBank(платежи), MRGSNotifications(уведомления))

Улучшения в Unity плагине:

  • Весь platform-specific код убран под define - теперь ненужный код не попадает в сборки
  • Добавлены asmdef файлы для каждого модуля (отдельно для Editor и для кода), что позволит ускорить сборку проекта
  • Добавлено меню Window/MRGS для удобного добавления внешних iap SDK для Samsung/Amazon в проект
  • Теперь MRGS автоматом определяет использование PlayServicesResolver, и при необходимости (если не используется резолвер, или отключен в настройках) сам добавит нужные SDK в проект как для Android, так и для iOS. Также есть возможность принудительно назначить поведение с помощью дефайнов (подробнее в разделе интеграции Unity SDK).

А также:

Модуль MRGService (базовый):

  • [Android] Исправлена ошибка при инициализации MRGService, когда вместо Activity передавался null от ActivityLifecycleCallbacks.
  • [Android] Добавлена поддержка Huawei Identity Kit. Подробней.
  • [Android] Исправлена ошибка в IntegrationCheck при проверки наличия биллинга.
  • [Desktop] Исправлены краши в MRGSMetrics и TimeZone, а также совместимость со старым .NET.
  • [Desktop] Улучшена работа с reflection.

Модуль Authentication:

  • Facebook

    • [Android] Исправлен редкий краш Class not found when unmarshalling: LoginResultReceiver при попытке авторизоваться.
  • MyGames

    • [Android] Исправлена 403 ошибка при попытке авторизоваться через Google.
  • VK

    • [iOS] Добавлена проверка наличия схемы в Info.plist приложения, т.к. VKSdk этого не проверяет.
    • [Android] Исправлена проблема, когда в callback приходили данные без scopes.
  • AppleGameCenter

    • [iOS] Исправлена ошибка двойного прихода колбека логина при разворачивании приложения в первую сессию после авторизации.

Модуль Billing:

  • [iOS] Исправлен редкий краш при совершении платежа и сворачивании приложения.
  • Добавлен новый асинхронный метод MRGSBank.isBankAvailable(). Данный метод будет полезен для таких биллингов как Google и Huawei, так как они не всегда позволяют узнать их состояние в синхронном запросе.

  • Google

    • Исправлено неправильное поведение, при котором все ошибки, при запросе продуктов, передавались в MRGSBankDelegateEx.onReceiveProductsResponce(). Теперь ошибки передаются в MRGSBankDelegateEx.onReceiveProductsError().
    • Исправлена утечка памяти, когда запросы добавлялись в очередь на выполнение, если billing был недоступен, и не удалялись после их выполнения.
  • Huawei

Модуль MyGamesSupport:

  • [Android] Исправлена проблема с отсутствием дефолтного текста в диалоговом окне при запросе разрешений.
  • [Android] Исправлена проблема с установкой текста через метод setRequestSettingsDialogParams().
  • Изменен метод setRequestSettingsDialogParams(). Теперь параметр toastMessage необязателен.

Модуль Notifications:

  • [iOS] Улучшена работа с reflection для методов работы с локацией, теперь Apple не присылает warning на ревью про использование локации
  • [Android] Исправлен краш ConcurrentModificationException.
  • [Android] Добавлена поддержка Huawei Push Kit. Смотрите Настройка окружения и Интеграция SDK.

Huawei Store

Обратите внимание, что для модуля Аналитики также потребуется внести некоторые изменения.

Миграция со старых версий

Мигрировать на новую просто - сначала переместите файл 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 формата, она так же лежит в архиве.

Подробнее о новых функциях и их использовании читайте в документации.


v2.3.4🔗

В данной версии:

Модуль Billing:

  • Google
    • Исправлена ошибка NoSuchElementException при отмене покупки, если не был передан developerPayload.

Подробнее о новых функциях и их использовании читайте в документации.


v2.3.4🔗

В данной версии:

Модуль MRGService (базовый):

  • Улучшена схема обмена сообщениями с сервером MRGS, теперь отправка и получение будут требовать меньше времени.
  • [Android] Обновлен MyTracker до 2.1.0.
  • [Android] Исправлена проблема со старым шифрованием, из-за которой Google при ревью мог присылать warning.
  • Исправлен PostBuild для корректной работы на Unity 2017.

Модуль Advertising:

  • [Android] Исправлен краш ActivityNotFoundException при попытке перейти по рекламе если на устройстве отсутствует браузер.

Модуль GDPR:

  • [Android] Исправлена ошибка NoSuchMethodError при вызове метода getSupportedLocalizations().

Модуль Authentication:

  • MyGames

    • Исправлено отображение имени приложения в окне авторизации (раньше показывался ClientID, теперь показывается видимое пользователю имя приложения).
    • [Android] Исправлена ошибка с белым экраном при ошибке с ssl. Теперь в callback будет приходить ответ с ошибкой с последующим закрытием окна авторизации.
  • [Android] Исправлена ошибка, когда MRGSAuthenticationCredential.SocialId всегда возвращал Unknown.

Подробнее о новых функциях и их использовании читайте в документации.


v2.3.3🔗

В данной версии:

Модуль Advertising:

  • [iOS] Улучшена работа с памятью. Память теперь лучше освобождается и выделяется только в необходимых местах.
  • [iOS] Исправлен редкий баг с таймером при просмотре видео.

Модуль Billing:

  • Google
    • Исправлен ANR при подключении к google billing сервису.

Подробнее о новых функциях и их использовании читайте в документации.


v2.3.2🔗

В данной версии:

Модуль MRGService (базовый):

  • Поведение метода CurrentTrackingAuthorizationStatus на Android теперь имитирует поведение на iOS, возвращая статус Authorized.
  • Исправлены Warning'и, появляющиеся при импорте MRGS в проект.
  • [iOS] Обновлен AppsFlyer до версии 6.0.7

Модуль Billing:

  • Добавлено поле ProductIdentifier в объект MRGSBankPurchaseResult нового делегата банка. Данное поле содержит идентификатор покупаемого/купленного продукта, и всегда будет непустым, в отличие от поля Product, которое может быть null, если продукт, например, не был загружен.

  • Google

    • [Android] Исправлена ошибка с возвратом пустого productId/sku, если пользователь отменял платеж (передумал покупать и покидал экран покупки).
    • [Android] Исправлена ошибка с переподключением платежного сервиса во время игры, что приводило к блокировке запроса продуктов и совершению платежей.

Модуль Authentication:

  • Переработана работа авторизации MyGames. Теперь не используется ClientSecret и RedirectURL, что делает авторизацию более безопасной, а также позволяет получить большее количество информации о пользователе, например имя, фамилия, дата рождения, и др. Добавлена возможность создавать приложение MyGames через сайт MRGS (раньше нужно было ставить задачу на проект SWA).
  • Колбеки логина на Android теперь приходят в главном потоке Unity.

Важно

Поскольку работа с MyGames авторизацией теперь происходит через MRGS, то старые настройки работать не будут, Вам необходимо заново создать приложение MyGames через MRGS, прописать на клиентах новый ClientID, а также на iOS изменить redirectURL, прописанный в Info.plist. Подробнее про новый подход к работе с MyGames авторизацией смотрите в документации по MyGames

Модуль Firebase:

  • [iOS] Обновлен Firebase до версии 6.34.0 (FirebaseAnalytics 6.9.0) (готов к iOS 14)

Модуль GDPR:

  • Изменено поведение метода showAgreement в Editor'е, теперь он автоматом вызывает делегат. Это необходимо для того, чтобы в Editor'e проекты могли реализовать такой же подход, как на платформах, без проверки среды.

Подробнее о новых функциях и их использовании читайте в документации.


v2.3.1🔗

В данной версии:

Модуль MRGService (базовый):

  • Методы onStart() и onStop() помечены как устаревшие и больше не используются.
  • [Android] Исправлена ошибка при вызове вспомогательных функций, связанная отсутствием Context, до инициализации MRGService.
  • [Android] Удален наш кастомный launcherTemplate.gradle из SDK.
  • [Android] Обновлена зависимость MyTracker SDK до 2.0.10 версии.
  • [Android] Улучшена проверка интеграции.

Модуль Billing:

  • Samsung
    • Исправлена проблема с вызовом MRGSBillingDelegateEx когда пользователь отменял совершение платежа.

Модуль MRGSFirebaseModule

  • [Android] Исправлена ошибка при попытке привести paymentAmount к double когда на самом деле это integer.

Модуль GDPR/CCPA:

  • [Android] Добавлены логи для CCPA.
  • [Android] Обновлена зависимость androidx.appcompat:appcompat с 1.1.0 до 1.2.0 так как старая версия содержит критическую ошибку по работе с WebView.

Модуль MRGSNotifications

  • [Android] Исправлено неправильное отображение заголовка серверного пуш уведомления.
  • [Android] Исправлена ошибка создания дефолтного канала и группы для локальных пуш уведомлений.

Подробнее о новых функциях и их использовании читайте в документации.


v2.3.0🔗

В данной версии:

Модуль MRGService (базовый):

  • Новые методы и функциональность:

    • Добавлены методы и флаги для работы с запросом трекинга пользователя на iOS 14+, а именно проверка необходимости показа, показ, получение статуса, автоматический запрос. Подробнее про все методы, флаги, и интеграцию можете прочитать здесь
    • Добавлен метод открытия системного окна настроек приложения (iOS, Android). Будет полезен при работе с уведомлениями и запросом на IDFA. Подробнее здесь
    • Добавлен метод getAppsFlyerID для получения уникального идентификатора AppsFlyer
    • [Android] Улучшена система отслеживания длительности сессий.
  • Улучшения и исправления:

    • Расширен метод проверки интеграции. Теперь мы будем также проверять все параметры, флаги и ключи на сервере MRGS, и об ошибках настройки приложения вы узнаете сразу в логах клиента, а именно о корректных ключах MyTracker, актуальных настройках платежей, валидности сертификатов уведомлений и ключей проверки платежей.
    • Исправлена проблема в MRGSPostBuildProcess с добавлением AuthenticationServices.framework в проект без флага optional, что приводило к крашам на iOS 11 версии и ниже.
  • Обновления внешних SDK:

    • [iOS] Обновлен MyTracker до версии 2.1.2 (готов к iOS 14)
    • [iOS] Обновлен AppsFlyer до версии 6.0.3 (мажорное обновление, готово к iOS 14)

Модуль GDPR:

  • Новые методы и улучшения:

    • Убран метод getAgreementVersion для перехода проектов на правильный подход к работе с GDPR. Верный подход описан в документации
    • Все методы для работы с GDPR, которые принимают в себя версию соглашения помечены как deprecated. Добавлены новые методы, аналогичные старым, но без версии соглашения. Просим перевести работу на них.
    • Улучшена статистика в GDPR, добавлена статистика показа соглашений, для подсчета тех пользователей, которые не согласились с GDPR и ушли из приложения.
  • Исправления:

    • Исправлено поведение методов для CCPA - теперь получение региона не зависит от вызванных методов GDPR
    • Исправлены ссылки в GDPR для японского и корейского языка (раньше ссылки были нерабочими)
    • [iOS] Исправлен конфликт метода lookupConstant с методом в ISMintegralAdapter на iOS
    • [iOS] Исправлен вызов нативных SDK в CCPA, просим после обновления еще раз удостовериться, что в логе нет ошибок вызовов включения/отключения нативных SDK.
    • [Android] Исправлено расхождение поведения методов для CCPA между iOS и Android.

Модуль Notifications:

  • Добавлена возможность исключать некоторые пермишны при запросе разрешения на уведомления на iOS (например, оставить только баннеры, исключив звуки и бейджи). Подробнее здесь
  • Добавлено свойство MRGSNotificationExtraOptionsAndroid.Visibility для отображение уведомлений на LockScreen в Secure режиме на Android. Подробнее здесь

Модуль Advertising:

  • Улучшен трекинг истории показов, таким образом, ошибок с повторным показом уже просмотренной рекламы не будет.
  • Изменен подход к проверке хешей рекламы для снижения нагрузки на сервера MRGS.

Модуль Firebase:

  • Добавлены новые события в Firebase, отсылаемые при любой покупке более 5,10,50,100 долларов. Подробнее здесь
  • Добавлено поле VALUE в события покупок в Firebase, они необходимы для закупки рекламы
  • [iOS] Обновлен Firebase до версии 6.32.0 (FirebaseAnalytics 6.8.2)

Модуль Support:

  • Добавлен метод showFeedback для показа окна фидбека в MyGamesSupport (раньше можно было открыть при помощи категории, но с отдельным методом открывать будет проще и надежнее) Подробнее здесь

Модуль Authentication:

  • [Android] Исправлена ошибка авторизации в MyGames (раньше токен на некоторых девайсах получался невалидным).

Модуль Billing:

  • Samsung
    • Исправлена проблема с developerPayload.
    • Исправлена проблема с MRGSBillingDelegate и MRGSBillingDelegateEx на старте инициализации биллинга.

Модуль Analytics:

  • Удалена зависимость AppsFlyerSDK.aar, теперь данную зависимость следует подключать отдельно в gradle файле: com.appsflyer:af-android-sdk:5.4.3

Подробнее о новых функциях и их использовании читайте в документации.


v2.2.6🔗

В данной версии:

  • Поддержка CCPA (ККПА). Подробнее читайте в документации CCPA
  • При авторизации через VK, MRGS сообщит vkid в MyTracker

Android:

  • Исправлена ошибка при запросе списка продуктов, если один из типов, запрашиваемых продуктов, был null

iOS:

  • Исправлена ошибка некорректного добавления файлов в проект при использовании Unity 2019.3 и выше
  • Исправлена ошибка при указании длины периода буферизации (buffering period) для MyTracker

v2.2.5🔗

В данной версии:

  • Исправлена установка нативного делегата в Android
  • Убраны warning'и внутри нашей private-части
  • Исправлена ошибка при добавлении файла GoogleService-Info.plist в PostBuild.

v2.2.5🔗

В данной версии:

Мы поменяли API банка:

Теперь весь API нашего банка стандартизирован на всех трех платформах, и стал более удобным в использовании, а также более функционален.

Из основных изменений:

  • Появился новый класс MRGSBankProductsRequest в которой с помощью методов add можно добавить продукт или массив продуктов определенного типа (типы продуктов теперь стали enum'ом MRGSBankProductType). Затем этот запрос передается в новый метод requestProductsInfo.
  • Появился новый класс MRGSBankPurchaseRequest который позволяет более точно настроить параметры для начала платежа, такие как идентификатор скидки, количество (для iOS), параметр для симуляции "Ask To Buy" режима в Sandbox на iOS, и другое. Данный класс имеет удобные конструкторы для создания.
  • Изменили методы начала покупки, теперь они имеют сигнатуру purchaseProduct, и принимают в себя либо идентификатор продукта, либо идентификатор и payload, либо новый класс MRGSBankPurchaseRequest.
  • Поменяли названия методов для AppStore Promotion, просто добавив в них строку AppStorePromotionPayment, для большей понятности назначения методов.
  • Убрали параметр autoNotifyMRGSAboutConsume, т.к. это не очень правильно, нужно вызывать метод когда покупка была доставлена пользователю, а не автоматом после покупки (влияет только на игры без сервера)

Отдельно про делегат:

  • Добавили полностью новый делегат MRGSBankDelegateEx, теперь он возвращает максимум информации о покупке или о загрузке продуктов.
  • Для загрузки продуктов теперь два колбека - onReceiveProductsResponce и onReceiveProductsError, которые получают объект нового класса MRGSBankProductsResponce, содержащего в себе информацию о валидных продуктах типа MRGSBankProduct, а также массив идентификаторов невалидных продуктов, и объект ошибки в случае, если она произошла.
  • Добавили 4 типа колбеков для результатов транзакций, а именно - onReceiveSucessfullPurchase, onReceiveFailedPurchase, onReceivePendingPurchase, onReceiveCancelledPurchase. Каждый из них принимает объект класса MRGSBankPurchaseResult, описывающего результат покупки, а именно - транзакцию (MRGSBankTransaction), продукт (MRGSBankTransaction), payload и ошибку с кодом и описанием, если она произошла. MRGSBankTransaction подробно описывает транзакцию, включает в себя идентификатор, дополнительную информацию о транзакции для каждой платформы (восстановлена ли,дата, оригинальная транзакция, выбранная скидки, и другое).
  • onReceivePendingPurchase - Метод протокола, вызывается в случае зависшего платежа. Такое может произойти если при покупке ребенку нужно спросить разрешение на покупку у родителя, или другой вариант - при валидации пропал интернет, и повторная попытка валидации будет позже. Такие события не требуют дополнительных действий со стороны разработчиков, они служат только для оповещения пользователя.
  • onReceiveCancelledPurchase - Метод протокола, вызывается в случае отмены пользователем платежа.
  • Появился колбек onTransactionsRestoreCompleted, который вызывается, когда процесс восстановления ранее купленных непотребляемых покупок и активных подписок закончен.

Важно - старый API мы оставили, просто пометили его как deprecated. Еще какое-то время мы будем его поддерживать, но советуем переехать на новый интерфейс, тем более переезд должен быть простым, так как основная логика работы не поменялась. Внутри сам банк мы не меняли, изменился только внешний интерфейс.

Для Unity - класс MRGSBankProduct теперь используется для возврата информации о продукте, без информации о транзакции (старый API пока сохранен).

Подробнее про использование нового API читайте в документации по банку - https://mrgs.astrum.team/Doc/ru/payments/integration/base/

  • Также исправлена ошибка некорректной работы некоторых видов GDPR с кастомной версткой (в частности некорректное отображение combo-box) в Android

v2.2.4🔗

В данной версии:

  • Добавлено DeveloperPayload в объект продукта, возвращаемого при успешной покупке в MRGSBank, то есть теперь можно получить payload обратно при успешной покупке.
  • Исправлена работа метода notifyMRGSAboutConsume на iOS.

iOS:

  • Обновили MRGS iOS до версии 4.1.3
  • Обновлен MyTracker до версии 2.0.7

Подробнее о новых функциях и их использовании читайте в документации.


v2.2.3🔗

В данной версии:

Добавлена поддержка Play Services Resolver для работы с iOS зависимостями:

  • Важно отметить, что если вы не хотите использовать Play services resolver на iOS, то вы можете убрать раздел iosPods из файла MRGServiceDependencies, тогда MRGS сам добавит в проект все необходимые сторонние зависимости, хранящиеся также локально в пакете. Данное правило применимо для всех модулей MRGS.
  • Также хотим отметить, что у нас довольно сильно поменялся наш PostBuildProcess, теперь он использует настройки в среде Unity, а не обычное копирование библиотек. Проблем с этим быть не должно, а эффективность должна возрасти.

Также, произошли некоторые изменения:

  • Обновили MRGService.plist.template.
  • В MRGSAuthenticationGameCenter в credentials.accessToken.optionalParams теперь возвращается видоизмененный словарь
  • Теперь при отправке событий регистрации и логина в MyTracker в эти события автоматически добавляется установленный нам пользователь (сделано, так как MyTracker поменяли API отправки этих событий)
  • Файл GoogleService-Info.plist, лежащий в Assets/Plugins/iOS теперь будет автоматически добавляться в проект XCode, теперь не нужно добавлять собственный PostBuild

iOS:

  • Обновили MRGS iOS до версии 4.1.2
  • Обновлен MyTracker до версии 2.0.6
  • Обновлен AppsFlyer до версии 5.4.1
  • Исправлен краш в MRGSGameCenter, возникавший при получении ошибки от сервера.
  • Исправлен баг в нашей рекламе MRGSAdvertising, из-за которого при сворачивании на старте видео могло начать играть снова.
  • Исправлена работа делегата атрибуции MyTracker, теперь его можно выставлять до старта MRGS, а получать данные он будет более точно.

Android:

  • Обновили MRGS Android до версии 4.2.3
  • Обновлен MyTracker до версии 2.0.9

Подробнее о новых функциях и их использовании читайте в документации.


v2.2.2🔗

  • Исправлена ошибка в модуле авторизации Android. При логине в Google Games, иногда, при первом вызове функции login возвращалась ошибка, а при втором вызове логин проходил корректно
  • Убраны операторы ?. в коде для совместимости с .net 3.5
  • Обновили MRGS Android до версии 4.2.2

v2.2.1🔗

В данной версии:

Добавлен новый модуль:

Добавлен новый модуль MRGSRecommendations, для работы с внутренней системой RecSys для получения предсказаний о том, какой продукт скорее всего пользователь захочет купить. На данный момент функция работает в beta-режиме, а модуль позволяет только отправлять необходимые для системы события в MRGS. По результатам тестирования модуль будет расширяться и дополняться новыми функциями.

Произошли изменения работе с уведомлениями:

  • Добавили флаг defferedMRGSNotificationCenterStart для удобного отложенного включения уведомлений и появления попапа на iOS. Теперь достаточно в нужный момент, когда вы хотите показать пользователю попап в первый раз, вызвать метод enableMRGSNotifications, а после этого на всех последующих запусках мы сами будем стартовать наш сервис по работе с уведомлениями. (Раньше нужно было самим вызывать метод manuallyStartCenter при показе попапа, и на каждом последующем запуске, теперь мы это делаем сами, вам достаточно вызвать метод лишь один раз в нужных момент). Таким образом, работа с отложенным показом попапа стала очень простой в реализации. Важно отметить, что при переходе на работу с этим флагом нужно учесть, что если вы обновляетесь с версии iOS 4.0.3 и выше, то все пройдет бесшовно, в противном случае для уже играющих пользователей нужно будет вызвать метод enableMRGSNotifications хотя бы раз.
  • Добавили возможность включать и выключать разные типы уведомлений на устройстве пользователя. Так, вы можете отключить локальные, серверные уведомления, или все сразу. После отключения, уведомления конкретного типа перестанут приходить пользователю, например для push-уведомлений на сервере будет инвалидирован токен, а для локальных очищена очередь и запрещено добавление новых. Данный функционал полезен для проектов, где в настройках есть переключатель доступности уведомлений.

Кроме того, произошли некоторые нововведения и изменения:

  • Проброшен делегат MyTracker для получения данных по атрибуции (deeplink и deffered deeplink)
  • Исправлена работа метода checkIntegration, теперь внутри он стал асинхронным, и более точно определяет ошибки, связанные с неверной настройкой appId/Secret и сетевых запросов.
  • Добавлена автоматическая отправка данных о впервые совершенном пользователем платеже в Firebase
  • Добавлена возможность для передачи developerPayload в метод proceedPendingPayment для iOS (начало покупки продукта со страницы AppStore)
  • Метод checkIntegration снова возвращает void, а не string, но для проектов, которые хотят получить результаты проверки интеграции не только в логе, но и в виде строки, мы добавили еще одну вариацию метода с колбеком.
  • Улучшен алгоритм генерации идентификаторов сессий session_id для более точной статистики. Также сессия теперь "протухает" через 5 минут после сворачивания приложения
  • Увеличен номер версии соглашения GDPR

iOS:

  • Обновили MRGS iOS до версии 4.1.1
  • Убраны зависимости MRGS SDK от CoreLocation.framework
  • Улучшена работа автотрекинга платежей

Android:

  • Обновили MRGS Android до версии 4.2.1
  • Теперь при обращении в службу поддержки MyGames можно прикреплять к тикету видеофайл
  • Исправлено редкое падение в роллере "Пилигрим"
java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3555)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3707)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:83)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2220)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:8016)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1076)
Caused by: java.lang.NullPointerException: 
  at ru.mail.mrgservice.MRGSSharedPreferences.<init> (MRGSSharedPreferences.java:23)
  at ru.mail.mrgservice.MRGService.getSharedPreferences (MRGService.java:335)
  at ru.mail.mrgservice.MRGSIDCache.getOpenUDID (MRGSIDCache.java:28)
  at ru.mail.mrgservice.MRGSDevice.generateMrgsDeviceId (MRGSDevice.java:600)
  at ru.mail.mrgservice.MRGSDevice.getOpenUDID (MRGSDevice.java:592)
  at ru.mail.mrgservice.MRGSTransferManager.internalAddToSendingBuffer (MRGSTransferManager.java:457)
  at ru.mail.mrgservice.MRGSTransferManager.addToSendingBuffer (MRGSTransferManager.java:377)
  at ru.mail.mrgservice.advertising.MRGSAdvertisingSliderController.sendSliderShowAction (MRGSAdvertisingSliderController.java:82)
  at ru.mail.mrgservice.advertising.MRGSAdvertisingSliderController.<init> (MRGSAdvertisingSliderController.java:37)
  at ru.mail.mrgservice.advertising.MRGSAdvertisingSliderActivity.onCreate (MRGSAdvertisingSliderActivity.java:106)
  at android.app.Activity.performCreate (Activity.java:7957)
  at android.app.Activity.performCreate (Activity.java:7946)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1307)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3530)

Подробнее о новых функциях и их использовании читайте в документации.


v2.2.0🔗

В данной версии:

Расширен модуль MRGSAuthentication - мы расширили список поддерживаемых социальных сетей, добавив в него такие сети как:

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

Напоминаем, что модуль MRGSAuthentication поможет вам быстро внедрить авторизацию в популярных сервисах и социальных сетях. Основное преимущество - универсальный API - набор основных методов авторизации реализуют все наши классы. Таким образом, вы можете настроить процесс авторизации используя абстрактный объект социальной сети, без привязки к конкретному сервису.

Обращаем внимание, модуль фейсбука работает без зависимости от нативного SDK, но тем не менее умеет вытаскивать из него данные авторизации, на наш модуль можно перейти даже с проектов, использующих сейчас нативное SDK. Также стоит отметить, что в из-за добавления новых социальных сетей, добавились и новые зависимости от нативных VKSdk и AmazonSDK, которые будут добавлены автоматически.

Подробнее про внедрение каждого из модулей и их использование читайте в документации в соответствующем разделе.

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

  • Метод IntegrationCheck теперь возвращает строку, а не void, как раньше. (В остальном поведение не поменялось)
  • Добавлены новые автоматические метрики в Firebase - Purchase14D и Purchase90D в случае, если покупка была совершена в первые 14 и 90 дней соответственно.
  • Добавлен автоматический репорт MRGSBankNoUserError в раздел "Отчеты о падениях" на сайте в случае, когда на момент валидации платежа нет пользователя. (При условии, что платеж и валидация идет через наше SDK)
  • Обновлен MyTracker Android до версии 2.0.7

Также исправлены баги:

  • Исправлено отображение иконки награды в тексте кнопки в витрине MRGSGameCenter
  • Метод MRGSDevice.country() теперь возвращает пустую строку в случае отсутствия полученного от системы значения (раньше возвращалась строка "(null)")
  • Исправлена ошибка, при которой на Android 4.x/5.x мог приходить пустой developerPayload в нотификациях

Изменения в GDPR!

Теперь MRGS сам занимается отслеживанием версии соглашения и его обновлением. Поэтому начиная с этого релиза поле agreementVersion и все одноименные параметры, передаваемые в методы будут игнорироваться, а в последующих версиях и вовсе будут убраны.

Автоматическое обновлении версии позволит показать измененное соглашение всем пользователям без необходимости выпускать версию, таким образом, вам не нужно будет теперь следить за актуальной версией соглашения.

Также, был добавлен новый метод getAgreementTime, который вернет время публикации в сети актуального соглашения, которое принял пользователь. Необходимо, если Вы захотите в интерфейсе игры отобразить дату соглашения.

Подробнее о новых функциях и их использовании читайте в документации.


v2.1.13🔗

Исправлена ошибка отображения некорректного текста в кастомных серверных уведомлениях

Обновлен MRGS Android до версии 4.1.14

v2.1.12🔗

В данной версии изменена логика отправки пользователя в MyTracker, чтобы более корректно формировались связки пользователей в 1Link.

Обновлен MRGS iOS до версии 4.0.9 Обновлен MRGS Android до версии 4.1.13

v2.1.11🔗

В данной версии изменены url для нашего api в связи с переездом на новый домен

Android:

  • При создании канала для уведомлений теперь можно указывать приоритет (свойство Importance)
  • Исправлена проблема, когда не всегда вызывался делегат о пришедшем уведомлении
  • У серверных уведомлений теперь можно в json params указывать vibrate : false для отключения вибрации

Пример:

{
   "icon" : "notification_small",
   "largeIcon" : "notification_large",
   "vibrate" : false
}
  • Если в кастомном серверном уведомлении указать в качестве текста строчку TITLE, то в это поле будет подставлен текст из поля Title уведомления, а если указать строчку MESSAGE то будет подставлен текст из поля Message

Пример:

{
   "custom_notification" : {
       "layout" : "notification_custom",
       "texts" : {"title" : "$TITLE$", "text" : "$MESSAGE$"},
       "images" : {"back" : "castle"}
   },
   "icon" : "notification_small",
   "largeIcon" : "notification_large"
}
  • Обновлен MRGS iOS до версии 4.0.8
  • Обновлен MRGS Android до версии 4.1.12

v2.1.10🔗

  • Обновлен MRGS Android до версии 4.1.11
  • Исправлена ошибка с выставлением флага html5Supported в true по умолчанию

v2.1.9🔗

В данной версии:

iOS:

  • Обновлен MRGS iOS 4.0.7
  • Обновлен MyTracker SDK до версии 2.0.4 ( В данной версии трекера исправлен критический баг, вызывающий креши на устройствах с iOS 10. )

Android:

  • Обновлен MRGS Android 4.1.10
  • Исправлено падение в модуле MRGSNotifications, класс MRGSLocalPushService

    Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.toString()' on a null object reference
    
    ru.mail.mrgservice.MRGSLocalPushService.getNotificationChannels (MRGSLocalPushService.java:720)
    ru.mail.mrgservice.MRGSLocalPushService.isNotificationChannelExists (MRGSLocalPushService.java:730)
    ru.mail.mrgservice.MRGSGCMImpl.generateNotification (MRGSGCMImpl.java:199)
    ru.mail.mrgservice.MRGSGCMImpl.onMessageReceived (MRGSGCMImpl.java:45)
    ru.mail.mrgservice.MRGSFCMIntentService.onMessageReceived (MRGSFCMIntentService.java:30)
    com.google.firebase.messaging.FirebaseMessagingService.zzc (com.google.firebase:firebase-messaging@@20.1.0:78)
    com.google.firebase.messaging.zze.run (com.google.firebase:firebase-messaging@@20.1.0:2)
    java.util.concurrent.ThreadPoolExecutor.processTask (ThreadPoolExecutor.java:1187)
    java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
    java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
    com.google.android.gms.common.util.concurrent.zza.run (Источник неизвестен:6)
    java.lang.Thread.run (Thread.java:929)
    

v2.1.8🔗

В данной версии:

iOS:

  • Обновлен MRGS iOS 4.0.6
  • Обновлен MyTracker SDK до версии 2.0.3
  • Обновлен Firebase SDK

Android:

  • Обновлен MRGS Android 4.1.9
  • Исправлена ошибка дублирующего сообщения в групповых уведомлениях
  • Если канал для уведомлений уже создан, то он не будет повторно создаваться во время срабатывания серверных уведомлений

v2.1.7🔗

Добавлен новый модуль MRGSAuthentication + Sign in with Apple:

Мы добавили новый модуль - MRGSAuthentication. Он поможет вам быстро внедрить авторизацию в популярных сервисах и социальных сетях. Основное преимущество - универсальный API - набор основных методов авторизации реализуют все наши классы. Таким образом, вы можете настроить процесс авторизации используя абстрактный объект социальной сети, без привязки к конкретному сервису. На текущий момент мы добавили только авторизацию через Sign in with Apple, но список поддерживаемых сервисов будет постепенно расширяться. Подробнее про внедрение и использование читайте в документации в соответствующем разделе.

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

  • Добавлен метод для получения информации, есть ли на iOS устройстве Jailbreak. ( isDeviceJailbroken() )
  • Добавлен метод loadServerData для принудительной загрузки бонусов и другой информации с сервера MRGS.
  • Запрос ServerData теперь вызывается автоматически только при наличии делегата и установки пользователя. Это значительно поможет снизить нагрузку на сервер MRGS. (Так что если вы не используете serverData, то делегат при старте MRGS устанавливать не нужно)
  • Исправлена работа метода DoOnMainThread, раньше иногда он мог приводить к ANR на Android
  • Исправлен креш при приходе уведомления на iOS на некоторых локализациях

Android:

  • Обновили MRGS Android до версии 4.1.8
  • Обновили MyTracker до версии 2.0.1
  • Вынесли вызов метода MRGSBilling.restoreTransaction в отдельный поток, что должно убрать сообщения ANR в консоли Google Play
  • Перенесена отправка события показа роллера пилигрим. Теперь событие будет отравляться при отображении первого баннера
  • Исправили падение если MRGS GameCenter открывается до инициализации MRGS
  • Исправили редкое падения в окне GDPR

iOS:

  • Обновили MRGS iOS до версии 4.0.5
  • Исправлена ошибка, из за которой невалидные или восстановленные платежи могли иногда попадать в AppsFlyer.
  • Исправлены редкие креши в MRGSDevice, MRGSSendingQueue и reportErrorOfLibraryIntegration.
  • Исправления в методе для проверки интеграции MRGS (IntegrationCheck) - параметры пробрасываются более точно.
  • Добавлена проверка на множественный вызов метода старта MRGS.
  • Модуль MRGSFirebase теперь может работать параллельно с другими сервисами от Firebase(например, crashlytics). Теперь если firebase уже был запущен ранее, мы будем только отсылать нужные event-ы.
  • Улучшена работа очереди отправки сообщений.

Подробнее о новых функциях и их использовании читайте в документации.


v2.1.6🔗

iOS:

  • В AppsFlyer не отправляются фродные платежи
  • MRGS не будет вызывать метод [FIRApp configure] если объект уже был создан
  • Исправлена ошибка в MRGSDevice (iOS)
Crashed: ru.mail.games.mrgs.serverMessageSendingQueue
1  wwr                            0x102f485d0 -[MRGSDevice reachability] + 2924272
2  wwr                            0x102f58354 -[MRGSServerMessage addRequiredFieldsToRequest] + 2989172
3  wwr                            0x102f58608 -[MRGSServerMessage createRequest] + 2989864
4  wwr                            0x102f601a4 -[MRGSSendingQueue sendMessageToServer:] + 3021508
  • Исправлена редкая ошибка в reportErrorOfIntegration (iOS)
Crashed: Thread
7  wwr                            0x103ad71d8 -[MRGServiceInit reportErrorOfLibraryIntegrationWirhText:].cold.1 + 31836920
  • Изменена работа очереди отправки, теперь она не будет работать, пока приложение свернуто

Android:

  • Обновили MRGS Android до версии 4.1.7
  • Исправлена ошибка, которая могла приводить к падению, если реклама Пилигрим открывается до инициализации MRGS
Caused by
at ru.mail.mrgservice.MRGSSharedPreferences.<init> (MRGSSharedPreferences.java:23)
at ru.mail.mrgservice.MRGService.getSharedPreferences (MRGService.java:332)
at ru.mail.mrgservice.MRGSIDCache.getOpenUDID (MRGSIDCache.java:28)
at ru.mail.mrgservice.MRGSDevice.generateMrgsDeviceId (MRGSDevice.java:621)
at ru.mail.mrgservice.MRGSDevice.getOpenUDID (MRGSDevice.java:613)
at ru.mail.mrgservice.MRGSTransferManager.internalAddToSendingBuffer (MRGSTransferManager.java:462)
at ru.mail.mrgservice.MRGSTransferManager.addToSendingBuffer (MRGSTransferManager.java:378)
at ru.mail.mrgservice.advertising.MRGSAdvertisingLifeCycle.sendShowCampaignEvent (MRGSAdvertisingLifeCycle.java:26)
at ru.mail.mrgservice.advertising.controllers.VideoAdsController$2.onFinish (VideoAdsController.java:170)
at android.os.CountDownTimer$1.handleMessage (CountDownTimer.java:127)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:201)
at android.app.ActivityThread.main (ActivityThread.java:6806)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)

v2.1.5🔗

  • Обновили MRGS Android до версии 4.1.6

Исправлена ошибка, которая в некоторых случаях могла приводить к ANR при инициализации MRGS

Caused by ANRError$$$_Thread: main (state = RUNNABLE)
       at J.N.MyGX0Tx3(PG)
       at P6.l(PG:56)
       at P6.a(PG:40)
       at P6.b(PG:8)
       at com.android.webview.chromium.WebViewChromiumFactoryProvider.a(PG:18)
       at com.android.webview.chromium.WebViewChromium.init(PG:14)
       at android.webkit.WebView.<init>(WebView.java:591)
       at android.webkit.WebView.<init>(WebView.java:526)
       at android.webkit.WebView.<init>(WebView.java:509)
       at android.webkit.WebView.<init>(WebView.java:496)
       at android.webkit.WebView.<init>(WebView.java:486)
       at ru.mail.mrgservice.MRGSDevice$1.run(MRGSDevice.java:156)
       at android.os.Handler.handleCallback(Handler.java:815)
       at android.os.Handler.dispatchMessage(Handler.java:104)
       at android.os.Looper.loop(Looper.java:210)
       at android.app.ActivityThread.main(ActivityThread.java:5839)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:879)
  • Исправлена ошибка в методе MRGSDevice.SystemLanguageToISO. Возвращался некорректный ISO код для японского языка
  • Исправлено описание работы с классом MRGSUsers

v2.1.4🔗

  • Обновили MRGS Android до версии 4.1.5
  • Обновили MyTracker до версии 2.0.0

v2.1.3🔗

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

Новые возможности:

  • Добавили поддержку локализации GDPR. Для установки нужного языка, перед показом соглашения, вызовите метод setLacalizationLanguage у класса MRGSGDPR и передайте буквенное обозначение языка в формате ISO-639-1. Получить список доступных языков можно вызвав метод getSupportedLocalizations. Обратите внимание, что бандл с ресурсами iOS обновлен. Старые кастомные файлы продолжат работать как раньше. Подробнее про настройку и кастомизацию читайте в документации.
  • Добавлена поддержка нового формата рекламы - Playable ads. Основанный на HTML5, данный формат дает пользователю возможность "попробовать" и поиграть в игру еще до установки. Надеемся, что данный формат будет полезен для привлечения еще большего количества игроков в проекты.

Улучшения кросс-промо:

  • Полностью изменен "дизайн" нашей видеорекламы и статических баннеров. Теперь видео и статика будут показываться на полный экран. В видеорекламе теперь есть прогресс-бар на крестике, а все кнопки и контроллы рисуются программно, поэтому на iOS из MRGSAdvertisingResources.bundle убраны картинки, не забудьте его обновить. Повышена стабильность.
  • Изменена логика работы с нажатиями на нашу рекламу, что поможет снизить фрод.

Улучшения AppsFlyer, MyTracker, Firebase:

  • Обновлены внешние SDK до последней актуальной версии: AppsFlyer, MyTracker, Firebase.
  • Добавили класс MRGSAppsFlyer. В нем добавлена возможность получения конверсий и источника установок. Для получения воспользуйтесь новым делегатом MRGSAppsFlyerDelegate. Подробнее читайте в документации.
  • Убрали отправку события purchase в AppsFlyer. Теперь будет отправляться только событие af_purchase
  • Добавлены методы для управления параметрами буфера отправки MyTracker. Новые методы - setBufferingPeriod, setForcingPeriod и flush.

Остальные улучшения и исправления:

  • Теперь MRGS всегда использует протокол HTTPS для передачи данных. Можно забыть и убрать флаг android:usesCleartextTraffic в AndroidManifest.xml и NSAllowArbiraryLoads в Info.plist
  • Появился отдельный тестовый проект, он будет поставляться отдельным unitypackage файлом внутри архива.
  • Исправлена работа нашего PostBuildScript, добавлена поддержка Unity 2019.3
  • Теперь мы автоматически отправляем флаг, включены ли на устройстве пуши на сервер MRGS. Теперь он отражается в карточке устройства на сайте, и, кроме того, если Вы попытаетесь отправить уведомление на устройство с выключенными уведомлениями, MRGS Вас об этом предупредит.
  • В качестве базового адреса для MyComSupport теперь используется новый widget.support.my.games

Android:

  • Обновили MRGS Android до версии 4.1.4

iOS:

  • Обновили MRGS iOS до версии 4.0.3
  • Обновлен механизм работы с нашими логами на iOS (старый мог в редких случаях приводить к падениям). Теперь мы сможем захватывать большее количество логов для отправки на сервер. Кроме того, добавилась возможность включения логов и отправки их на сервер с помощью открытия приложения по URL-схеме с ключом. Это позволит запускать логи даже на production-сборках. Повышена надежность.
  • Убран лаг перед отображением видеорекламы. ( раньше иногда мелькал черный экран на некоторое время )
  • Добавлена поддержка нового механизма работы с окнами на iOS - UIScene.
  • Улучшена работа с памятью при работе с WebView
  • Исправлены проблемы с myComSupport, автотрекингом, Firebase, отображением кросс-промо, launchedURL и др. (Подробнее смотрите в changelog'e по iOS)

Подробнее о новых функциях и их использовании читайте в документации.


v2.1.2🔗

  • Исправлена ошибка в биллинге, которая не позволяла проводить платеж с ошибкой - Billing [MRGS] BuyItem: current user is unknown! Payment is not available!

Полностью обновился API по работе с пользователями. Старые методы убраны. Теперь есть только один метод для установки идентификатора пользователя.

  • Обновлен MRGS iOS 4.0.2
  • Событие покупки в AppsFlyer теперь передается с именем "af_purchase". Старое событие с именем "purchase" осталось.
  • Улучшена валидация покупок в автотрекинге. Для тех, у кого были вопросы - еще раз проверили, sandbox/боевые/невалидные платежи верно определяются.
  • При автотрекинге платежей, мы автоматически отправим информацию о всех валидных платежах во все подключенные сторонние SDK (Firebase,Appsflyer)
  • Исправлено отображение роллера пилигрим на iPad

  • Обновлен MRGS Android 4.1.3

  • Сокращено число повторных запросов к серверу mrgs в случае восстановления подписок
  • Исправлено возможное падение в Google Billing

Новый API для пользователей!

Теперь нет необходимости регистрировать, а затем авторизовать пользователя. Больше не нужно строить сложную логику вокруг простой установки пользователя нам, наконец то это произошло) Теперь достаточно вызывать метод setUserId.
Однако, для корректного подсчета статистики на стороне MyTracker, необходимо вызывать два метода - trackRegistrationEvent и trackLoginEvent у класса MRGSMyTracker.
Обратите внимание, что старый API полностью убран из SDK.
Зачем мы так сделали? Сейчас все события регистрации/авторизации неверно определяются в MyTracker, с кастомными именами event'ов, что затрудняет работу менеджеров. Оставление старых методов не могло гарантировать верный переход проектов на работу с пользователями, и корректную отправку статистики. Так как новый API крайне прост, будет очень легко на него перейти, и реализовать более корректный трекинг событий, связанных с пользователем.


v2.1.1🔗

В данной версии:

  • Обновлен MRGS iOS 4.0.1 (Собрано версией XCode 11.2.)
  • Появился автоматический трекинг платежей. Для использования, выставьте флаг AutomaticPaymentTracking в true. Также, не забудьте добавить ключ проверки платежей на сайт MRGS.
  • Улучшение алгоритма показа видеорекламы, позволяющее загружать меньше данных на устройство, и быстрее заводить кампании на сервере
  • Обновлены версии внешних SDK.
  • Исправлены параметры сборки, при которых в Info.plist бандлов с ресурсами попадали поля, из-за которых не получалось залить приложение в TestFlight
  • Исправлен баг, из за которого на iOS 13 видеореклама могла не показываться пользователю (окно с рекламой было под игровым).

  • Обновлен MRGS Android 4.1.1

  • Исправлено отображение GDPR на телефонах с вырезом
  • Исправлена некорректная работа GDPR при подмене SSL сертификата
  • Изменено расстояние между баннерами в роллере Пилигрим

v2.1.0🔗

В данной версии:

  • Обновлен MRGS Android 4.1.0
  • Осуществлен переход на androidx с support-library
  • Обновлена версия Android Firebase
  • Обновлен MyTracker Android 1.5.12

Пожалуйста, прочтите руководство по миграции


v2.0.0🔗

В данной версии:

  • Внимание! Unity плагин теперь разбит на модули. В документации описано, какой модуль за что отвечает
  • Обновлен MRGS iOS 4.0.0
  • Обновлен MRGS Android 4.0.10
  • Уменьшено число обращений к серверу MRGS в случае ошибки загрузки пилигрима

Пожалуйста, прочтите руководство по миграции


v1.0.60🔗

В данной версии:

  • Обновлен MRGS iOS 3.8.92
  • Исправлен краш при получении объекта рекламы на iOS 13

v1.0.59🔗

В данной версии:

  • Обновлен MRGS iOS 3.8.91
  • Исправлена работа MyComSupport с категориями
  • Исправлен краш при показе UIAlertView в MRGSBank (при ошибке проведения транзакции)

  • Обновлен MRGS Android 4.0.9

  • Исправлена ошибка, когда при первом запросе продуктов из банка, возвращался пустой список продуктов

v1.0.58🔗

В данной версии:

  • Исправлено падение в Google Billing на строке

MRGSGoogleBillginV2.java:648

  • Улучшено отслеживание событий в слайдере пилигрима, это позволит собирать более точную статистику.
  • Если в кампании пилигрима указана невалидная ссылка, то она не будет показана пользователю.
  • В GDPR добавлены страны: Норвегия, Лихтенштейн, Исландия.

  • Обновлен MRGS iOS 3.8.90

  • Полностью убрали UIWebView из кода, так как Apple при ревью обращает на это внимание.
  • Исправлена ошибка обрезания слайдера пилигрима на устройствах формата iPhone X (безрамочных)
  • Исправлены баги

  • Обновлен MRGS Android 4.0.8

  • Исправлены баги

v1.0.57🔗

  • MRGS Android 4.0.7
  • На Android теперь корректно работает вызов метода checkIntegration
  • Исправлено отображение баннеров пилигрим

v1.0.56🔗

В это версии обновился банк в Android на основе Google Billing Library

  • Поддержка Pending Payments (отложенные платежи)
  • У продуктов банка теперь есть свойство OriginalPrice (цена до скидки, если была указана)
  • Поддержка бонусов за пре-регистрацию и промокодов

ВАЖНО! Необходимо добавить новую зависимость в mainTemplate.gradle

compile 'com.android.billingclient:billing:2.0.3'

v1.0.55🔗

  • MRGS Android 4.0.5
  • MRGS iOS 3.8.89
  • Отправка верифицированных платежей в AppsFlyer на Android
  • Отправка события о платеже в AppsFlyer с помощью нового API

v1.0.54🔗

  • Добавлен метод MRGServcie.getInstallReferer. Метод, возвращающий для Android INSTALL_REFERER, а для iOS URL с которым было запущено приложение
  • MRGS iOS 3.8.88
  • MRGS Android 4.04

v1.0.53🔗

  • Исправлена ошибка в методе MRGSMetricsiOS.AddPurchase

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

  • Исправление возможных причин креша пилигрима. (iOS)
  • Улучшена реакция на нехватку оперативной памяти в системе (iOS)
  • Добавлен метод получения списка купленных непотребляемых товаров из чека
  • Для тестирования нагрузки MRGS автоматически будет переключать протокол http/https в зависимости от настройки на сервере
  • Исправлены ошибки в платежах для Samsung (Android)

Подробнее о новых функциях и их использовании читайте в документации.


v1.0.52🔗

В данной версии:

  • Обновлен MRGS Android 4.0.3. Исправлена ошибка, когда после закрытия окна MyComSupport не убирался Navigation Bar
  • Исправлен метод MRGSMetrics.AddPurchase в реализации Android

v1.0.51🔗

В данной версии:

  • Обновлен MRGS iOS 3.8.86
  • Обновлены версии внешних SDK

  • Обновлен MRGS Android 4.0.2

  • Исправлены баги
  • Обновлены версии внешних SDK

v1.0.50🔗

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

Мы добавили новый API для работы с чеком приложения. С помощью него вы можете:

  • Проверить "доступность" начальной (introductory) скидки для пользователя
  • Проверить "доступность" скидки (apple subscription offers) для пользователя
  • Получить список активных подписок
  • Получить список всех когда-либо купленных подписок
  • Получить интересующую информацию о конкретной подписке

Таким образом, даже игры без сервера смогут без восстановления платежей узнавать актуальную информацию о подписках, включая продления, а те проекты, которые используют скидки смогут легко определять, может ли пользователь претендовать на скидку.

Инструкцию по использованию и полное описание API читайте в разделе "Bank" в документации

  • Обновлен MRGS iOS 3.8.85
  • Добавлено поле SelectedDiscount в возвращаемом объекте, чтобы Вы могли узнать, что платеж был проведен со скидкой. (iOS)
  • Исправлена ошибка с отсутствием TransactionID в возвращаемом объекте при покупке (iOS)

  • Обновлен MRGS Android 4.0.1

  • Исправлена ошибка некорректной генерации OpenUDID (Android)
  • Исправлена ошибка некорректного "потребления" товара при покупке из Samsung Store (Android)

v1.0.49🔗

  • Исправлена ошибка, приводившая к падению приложения на старте в Android, при получении install_referer

Исправлен баг с ошибкой сборки iOS проекта при использовании .NET 3.5.

Пожалуйста, прочтите руководство по миграции

Нововведения:

  • MRGS Android 4.0. Теперь MRGS для Android разбит на несколько библиотек. Это должно облегчить будущую интеграцию в проекты, которые используют минимум функциональности MRGS
  • Обновлен Samsung Billing API
  • Добавлена аналитика Google Firebase. Автоматически будут отправляться события о платежах в 1 день, с 1 по 7 день, и с 1 по 28 день.

  • Обновлен MRGS iOS 3.8.84

  • Исправлена работа при загрузке данных рекламы. Теперь она не отнимает место iCloud и переиспользуется. (Подробнее смотреть в описании iOS)
  • Улучшили работу с зависшими платежами. Теперь сразу после загрузки продуктов мы обработаем все незавершенные транзакции в очереди. Поэтому тем, кто использует восстановление платежей на старте приложения для избежания таких ситуаций, советуем его убрать, так как в нем нет необходимости, а по гайдам вообще должна быть кнопка. (Подробнее смотреть в описании iOS)
  • Улучшена работа метода проверки интеграции. (iOS)
  • Исправлен баг с отсутствием типа продукта в Unity (iOS)
  • Изменен и исправлен метод автоматического формирования кода в AppCentroller'e приложения, раньше мы могли не добавить код необходимых методов. (После сборки просьба проверить, что код добавлен верно).

v1.0.48🔗

Нововведения:

  • Добавлена поддержка настройки каналов нотификаций на Android 8.
  • Изменили схему трекинга показов видео. Теперь информация о показе отправляется раньше (по такой же схеме как и у основных рекламных сетей IronSource и прочее). Это сделано для того, чтобы отслеживать показы одинаково и сократить время выдачи награды за просмотр
  • Добавлен метод для поверки интеграции MRGS. Вызовите метод MRGService.getInstance().checkIntegration();, и в логах будет выведен отчет о правильности интеграции, вызванных или не вызванных методах, рекомендации по исправлению существующих ошибок, а также все параметры, с которыми был запущен MRGS. (Пока работает только на iOS)
  • В MRGSNotificationCenter добавлен callback, уведомляющих Вас о принятии/отклонении пользователем разрешения на отсылку уведомлений. Особенно востребован данных метод может быть в том случае, если Вы запрашиваете разрешение на отправку уведомлений не на старте приложения, и ждете, пока пользователь согласится или откажется. (Только на iOS)

Подробнее о новых функциях и их использовании читайте в документации.

  • Обновлен MRGS Android 3.8.137
  • Обновлен MRGS iOS 3.8.83

  • Теперь пробрасываем deeplink'и в MyTracker. (Подробнее смотреть в описании iOS)

  • Улучшено формирование crash report'ов. (Подробнее смотреть в описании iOS)
  • Исправлен краш при вызове метода сброса отложенного платежа более одного раза. (iOS)
  • Исправлен возможный баг при старте приложения с MRGSNotificationCenter (iOS)
  • Исправлена ошибка многократной загрузкой serverData, теперь всего одно сообщение может находиться в очереди, что гарантирует оптимальность загрузки (iOS)
  • Исправлено возможное падение, если во время начала отображения GDPR сразу закрыть приложение (Android)

v1.0.47🔗

  • Обновлен MRGS Android 3.8.136
  • Исправлены баги в версии для Android (Отключен старый API проверки версии Google Play Services, Кросс-промо слайдер должен корректно отображаться на Samsung S10e)

v1.0.46🔗

Исправлена ошибка с невозможностью собрать проект с L2CPP

  • Добавлена поддержка инициализации нашей библиотеки из кода, а не из файлов конфигурации для каждой платформы. Для этого добавлено несколько классов описания параметров, и новый метод в классе MRGServiceInit. Подробнее про данный тип инициализации читайте в документации.

  • Добавили поле serverTime в классе MRGServiceInit. Оно постоянно отражает актуальное текущее время на сервере, и проставляется после первого получения данных с сервера.

  • Мы решили убрать поддержку нами платформы MyTarget в Unity, поэтому на данных момент времени мы убрали зависимости, наши классы обертки, и упоминание о ней в документации.

  • Добавлена поддержка нового API Apple Subscription Offers на iOS, которое позволяет делать скидки на подписку. (Добавлен новый метод в класс MRGSBank)

  • Теперь получение списка продуктов банка на iOS будет происходить вне зависимости от того, разрешены ли inapp покупки на устройстве, или нет.

Подробнее о новых функциях и их использовании читайте в документации.

  • Обновлен MRGS Android 3.8.135
  • Обновлен MRGS iOS 3.8.82
  • Исправлено получение локали для myComSupport на iOS (Подробнее смотреть в описании iOS)
  • Исправили возможную ошибку с потерей payload при покупках в приложении на iOS (Подробнее смотреть в описании iOS)
  • Исправлен баг на Android с новым API GDPR, когда после вызова функции setUserHasAcceptedAgreementWithVersion не сохранялась версия соглашения.

v1.0.45🔗

  • Мы добавили абсолютно новую документацию для Unity! Теперь в ней проще ориентироваться, есть описание категорий, гайды по использованию, поиск и многое другое.
  • Добавлен класс для работы с новыми уведомлениями - MRGSNotificationCenter, который позволяет более эффективно и удобно работать с уведомлениями, имеет гибкие настройки, позволяет использовать кастомный вид уведомлений, поддерживает группы, кнопки в уведомлениях (iOS), позволяет удобно настроить время отправки уведомлений. А также еще многое другое! Предлагаем прочитать документацию для более подробного ознакомления со всеми функциями и возможностями!
  • Добавлена автоматическая отправка event'a о регистрации пользователя в myTracker, чтобы проекты могли считать уникальных пользователей и установок
  • В GDPR изменился API. Теперь метод showAgreementFromFile(string appId, string filePath, int agreementVersion) считается deprecated, так как параметр version мог вызвать конфликт со свойством agreementVersion. Добавлен метод showAgreementFromFile(string appId, string filePath), считающийся теперь основным.
  • Добавлены новые функции в GDPR. Появилась возможность показывать свой кастомный интерфейс в GDPR. Больше не нужно возиться с HTML, скоростью их загрузки и версткой. Мы добавили три новых метода: два для того, чтобы узнать, подходит ли пользователь под GDPR, нужно ли ему показывать соглашение, и третий - для уведомления нас о принятии соглашения. Подробнее про данную функцию читайте в документации по GDPR.

  • Обновлен MRGS Android 3.8.134

  • Обновлен MRGS iOS 3.8.81
    • Исправлены баги и краши (подробнее в описании версии iOS)
    • Добавлена поддержка архитектуры ARM64e на iOS
    • Переделан класс для работы с OpenUDID
    • Теперь при формировании подписи в myComSupport используется серверное время

v1.0.44🔗

  • Обновлен MRGS iOS до версии 3.8.80. Исправлена ошибка, приводящая иногда к deadlock внутри класса MRGSDevice
  • Обновлен MRGS Android до версии 3.8.132. Фон у статического баннера пилигрима теперь полупрозрачный
  • Новый метод MRGSBank.resetPendingPayment() - сброс отложенной покупки, совершенной через AppStore на iOS
  • У статического баннера пилигрим на Android теперь полупрозрачный фон
  • Исправлена ошибка некорректного имени файла во вложениях MyComSupport на Google Pixel2

v1.0.43🔗

  • Убран AndroidManifest.xml, который случайно попал в предыдущую сборку
  • Исправлена ошибка в MRGSBankAndroid, не позволяющая переходить с одной подписки на другую
  • ВАЖНО! Исправлена ошибка вложений в MyComSupport, когда прикрепленные файлы "теряли" расширение. Из-за этого в админке MyComSupport файлы отображались некорректно
  • Обновлен MRGS Android до версии 3.8.131
  • Обновился MyTracker до версии 1.5.6, обновите свой mainTemplate.gradle файл
dependencies {
compile 'com.my.tracker:mytracker-sdk:1.5.6'
}

v1.0.42🔗

  • Исправлена ошибка, когда некоторые файлы не могли быть прикреплены к тикету MyCom Support с ошибкой "файл слишком большой"
  • Исправлено возможное падение при инициализации MRGS Advertising (Пилигрим) на смартфонах без WebView
  • Обновлен MRGS iOS до версии 3.8.79. Исправлена ошибка, когда на iOS при клике на серверное пуш уведомление не вызывался колбек onClick
  • Обновлен MRGS Android до версии 3.8.130

v1.0.41🔗

  • При вызове метода showContent у класса MRGSAdvetising теперь можно передавать payload, который затем будет отправлен на ваш сервер
  • Обратите внимание! MRGS Android более не использует Apache HttpClient, поэтому можно убрать все зависимости org.apache.httpcomponents и строчку useLibrary 'org.apache.http.legacy' из mainTemplate.gradle
  • Обновлен MRGService Android до версии 3.8.129
  • Обновлен MRGService iOS до версии 3.8.78

v1.0.40🔗

  • Исправлена ошибка формирования подписи для запросов к MyComSupport. Эта ошибка могла приводить к тому, что окно с MyComSupport не открывалось.

v1.0.39🔗

  • Исправлена ошибка отображения нотификации на iOS, если заголовок (Title) не указан
  • iOS Bank. Исправлена ошибка, когда приложение падало, если вдруг в очереди есть отложенные покупки, и вызывался метод восстановления платежей.
  • Теперь, если на iOS приложение было запущено через нотификацию, после установки делегата у MRGSNotificationManager, сработает колбек onReceiveNotification
  • MRGSGDPR на Android теперь использует реальный, а не фейковый, адрес в качестве baseurl при открытии html из файла, что должно исправить проблему с отображением GDPR в некоторых странах

v1.0.38🔗

  • Для нотификаций в iOS можно указывать теперь заголовок нотификации (Title). Так же можно задавать категорию нотификации, для использования ее в Notification Extension
  • Более безопасная работа с делегатом проверки ответов на тикеты в MRGSMyComSupport на Android

v1.0.37🔗

  • Обновлен MRGS iOS до версии 3.8.74
  • Обновлен MRGS Android до версии 3.8.124
  • GDPR. Исправлена ошибка, когда на iPhone X не центрировалось окно соглашения, а также ошибка скейлинга.
  • MyTracker. Исправлена ошибка, из-за которой в MyTracker никогда не передавались идентификаторы пользователей (customUserId). Теперь в событиях в админке myTracker Вы сможете наблюдать идентификатор пользователя (customUserId).
  • Bank. Исправлено падение при попытке сделать покупку/restore удаленных из AppStore продуктов, которые ранее были валидны и зависли.

v1.0.36🔗

  • Обновлен MRGS iOS до версии 3.8.73
  • Исправлена ошибка неработающих ссылок в окне GDPR

v1.0.35🔗

  • Обновлен MRGS Android до версии 3.8.122
  • Исправлена ошибка в Пилигрим - некорректный поворот баннера в Android 8

v1.0.34🔗

  • Обновлен MRGS iOS до версии 3.8.72
  • в MRGSBank добавлено больше логов при работе с Promo Products из AppStore

v1.0.33🔗

  • Обновлен MRGS iOS до версии 3.8.71
  • в MRGSBank добавлены методы по управлению промо-платежами на странице в AppStore. Подробно методы описаны в документации

v1.0.32🔗

  • Обновлен MRGS iOS 3.8.70
  • Обновлен MRGS Android 3.8.121

  • Текстовые метрики. Раньше Вы могли отправлять метрики MRGS, состоящие только из числовых значений теперь добавилась возможность отправлять метрики с текстовым ключом. Они будут автоматически создаваться в админке MRGS.

  • MRGSMyTracker. Мы сделали обертку для отправки событий напрямую в MyTracker. Теперь если вам надо отправить кастомное событие напрямую в MyTracker, минуя MRGS, вы можете вызвать метод MRGSMyTracker.getInstance().trackEvent(eventname, params)

  • Piligrimm Metrics. Теперь можно наблюдать точную картину поведения пользователя при просмотре рекламы. На наш сервер теперь отправляются 4 типа событий: во время просмотра произошел креш, пользователь закрыл приложение во время просмотра рекламы, ошибка загрузки кампании, ошибка с проверкой хеша кампании. Таким образом, статистика станет более понятной.

  • Банк на iOS. В данной версии исправлено пропадание developerPayload из платежа. Также, исправлено раннее закрытие платежей, из-за чего они могли теряться.

  • Кастомные серверные push-нотификации. Теперь вы можете в серверных пуш уведомлениях указывать свою разметку пуш уведомлений, если она есть в ресурсах, так же как и для локальных пуш уведомлений. Для этого в param надо указать JSON такого формата

{
"custom_notification" : {
"layout" : "<имя layout'а нотификации в ресурсах>",
"texts" : {"<имя TextView внутри layout'а>" : "<Строка с текстом>", "<имя TextView внутри layout'а>" : "<Строка с текстом>"},
"image" : {"<имя ImageView внутри layout'а>" : "<Имя drawable ресурса с картинкой>", "<имя ImageView внутри layout'а>" : "<Имя drawable ресурса с картинкой>"}
}
}

Пример:

{
"custom_notification" : {
"layout" : "evo_custom_notification",
"texts" : {"text_view1" : "Title", "text_view2" : "Message"},
"image" : {"image_view1" : "blake_image", "image_view2" : "pilot_blade"}
}
}
  • Исправлена ошибка, когда в кастомном уведомлении для одной нотификации отображался сразу счетчик "2"

  • Исправлена ошибка, когда не открывался кастомный файл с GDPR


v1.0.31🔗

  • Поправлены #if

Было:

#if UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif UNITY_IOS
_self = new MRGSBankiOS();
#else
_self = new MRGSBankEditor();
#endif

Стало:

#if !UNITY_EDITOR && UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif !UNITY_EDITOR && UNITY_IOS
_self = new MRGSBankiOS();
#else
_self = new MRGSBankEditor();
#endif

v1.0.30🔗

  • Обновлен MRGS Android до версии 3.8.117
  • Обновлен MRGS iOS до версии 3.8.69
  • Блоки #if переделаны таким образом, чтоб корректно работали сборки под другие платформы (Mac, Windows и т.д)

Было:

#if UNITY_EDITOR
_self = new MRGSBankEditor();
#elif UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif UNITY_IOS
_self = new MRGSBankiOS();
#endif

Стало:

#if UNITY_ANDROID
_self = new MRGSBankAndroid();
#elif UNITY_IOS
_self = new MRGSBankiOS();
#else
_self = new MRGSBankEditor();
#endif

v1.0.29🔗

  • Обновлен MRGS Android до версии 3.8.116

v1.0.28🔗

  • Исправлены ошибки в сборке на iOS. Поправлены грамматические ошибки.

v1.0.27🔗

  • Обновлен MRGService Android до версии 3.8.114
  • Обновлен MRGService iOS до версии 3.8.66
  • Исправлено возможное падение при работе с нотификациями, если указывать пустой developerPayload
  • Добавлена возможность получать статус нотификаций в системе (включены или выключены) MRGSNotificationManager.getInstance().areNotificationsEnabled(); Статус придет в делегат IMRGSNotificationDelegate

v1.0.22🔗

  • Обновлен MRGService Android до версии 3.8.106
  • Исправлено возможное падение при инициализации сервиса MRGS на андроиде не из главного потока

v1.0.21🔗

  • Исправлена проблема с затиранием секрета у MyComSupport, если в коде пустой секрет
  • Добавлен Payload (дополнительные параметры, который может указывать разработчик) в нотификации
  • Исправлена проблема, когда на iOS после загрузки пустой кампании пилигрима вызывался колбек о новых данных
  • Обновлен MRGService Android до версии 3.8.105
  • Обновлен MRGService iOS до версии 3.8.666

v1.0.20🔗

  • Исправлена ошибка в MRGSHelper.cs (Android)
  • Изменился протокол обращения к MyCom Support. Теперь параметр signature (раньше sig) использует день месяца, для того чтобы ссылка была валидна только один день.
  • Таймаут запроса страны по GEO IP для GDPR уменьшен до 5 секунд, чтоб пользователь не ждал долго открытия окна на запуске приложения
  • Обновлен MRGService iOS до 3.8.64
  • Обновлен MRGService Android до 3.8.104
  • Обновлены сторонние SDK

v1.0.19🔗

  • Обновлен MRGService iOS до 3.8.63
  • Обновлен MRGService Android до 3.8.103
  • MRGSBank для iOS теперь вызывает нативный метод isBankAvailable

Исправлено повторное отправление лога о согласии с GDPR


v1.0.18🔗

  • Исправлено падение при использовании Unity 2018.2 При использовании Unity 2018.2 вызов метода Call<string> у объектов AndroidJavaObject может привести к падению, если вместо строки возвращается null

v1.0.17🔗

  • Обновлен MRGS Android до версии 3.8.102

v1.0.16🔗

  • Обновлен MRGS Android до версии 3.8.101

v1.0.15🔗

  • Обновлен MRGS iOS до версии 3.8.63
  • Добавлена отложенная регистрация подписки на Push-нотификации
  • Запросы которые использовали HTTPS (кроме банка) переведены на HTTP для снижения нагрузки на сервер

v1.0.14🔗

  • Обновлен MRGS iOS до версии 3.8.62
  • Обновлен MyTracker iOS до версии 1.7.4
  • Отключен проброс в трекер из MRGS платежей и включен автотрекинг платежей в MyTracker.

v1.0.13🔗

  • Обновлен MRGS Android до версии 3.8.97
  • Добавлена поддержка отображения счетчика нотификаций при показе группы настраиваемых (custom) нотификациях.
notification.setCustomViewGroupCounter("notification_counter"); //где notification_counter это id TextView внутри Layout нотификации, где будет отображаться количество нотификаций

v1.0.12🔗

  • Обновлен MRGS Android до версии 3.8.94
  • MyComSupport checkTickets не будет вызываться, если не проставлен secret
  • Убран автоматический вызов MyCom Support checkTickets после авторизации пользователя
  • IDFA и OpenUDID в запросе после согласия с GDPR перенесены из GET в POST, так как гугл показывал warning об утечке рекламного идентификатора
  • Обновлен MyTracker до версии 1.5.3

v1.0.11🔗

  • Добавлена поддержка Custom Notifications на Android
  • Обновлен MRGS Android до версии 3.8.92

v1.0.10🔗

  • Исправлено отображение GDPR на Android 4.x и iPad mini (не ретина)
  • Исправлено некорректное поведение при закрытии окна MyCom Support

v1.0.9🔗

  • Исправлены ошибки открытия GDPR из внешних файлов.

v1.0.8🔗

  • Добавлена поддержка GDPR

Пример использования

void Awake () {
DontDestroyOnLoad(this);
MRGSGDPR.getInstance().Delegate = this;
if (MRGSGDPR.getInstance().isUserAgreedWithAgreement())
{
MRGService.getInstance ().init(new LoadServerDataDelegate(), APP_ID, APP_SECRET);
}
else
{
MRGSGDPR.getInstance().showDefaultAgreement(APP_ID);
}
}

public void onUserHasAcceptedGDPR(bool withAdvertising)
{
MRGService.getInstance ().init(new LoadServerDataDelegate(), APP_ID, APP_SECRET);
}

public void onGDPRError()
{
Application.Quit();
}
  • Обновлен MRGService для Android до 3.8.84
  • Обновлен MRGService для iOS до 3.8.58

v1.0.7🔗

  • Добавилась поддержка нового API для проверки ответов на тикеты MyComSupport. Внимание! Перед вызовом метода checkTickets необходимо установить Secret

  • Обновлен MRGService для Android до 3.8.81

  • Обновлен MRGService для iOS до 3.8.55

v1.0.6🔗

  • Добавлена возможность устанавливать иконки для нотификаций на Android
long unixTimestamp = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
MRGSNotificationManager.MRGSLocalNotification notification1 = MRGSNotificationManager.MRGSLocalNotification.create(1, "Hello from Unity", unixTimestamp + 5);
notification1.Icon = "statusbar_push_icon";//Имя файла без расширения png, который лежит в ресурсах Android (res/drawable)
notification1.LargeIcon = "push_icon";//Имя файла без расширения png, который лежит в ресурсах Android (res/drawable)
MRGSNotificationManager.getInstance().Delegate = this;
MRGSNotificationManager.getInstance().addLocalNotification(notification1);
  • Обновлен MRGService для Android до 3.8.78
  • Обновлен MRGService для iOS до 3.8.53

v1.0.5🔗

  • Исправлена ошибка, когда на iOS при конвертации нотификации в JSON мог вставляться нулевой объект в NSDictionary

v1.0.4🔗

  • В класс MRGSBank добавлен метод sendPaymentInfo. Его необходимо вызывать, для информирования о совершении платежа, если платежи проводятся не через MRGS.

v1.0.3🔗

  • Обновлены MRGS Android до версии 3.8.75 и MRGS iOS до версии 3.8.52
  • Добавлена возможность отправлять подтверждение о получении и выдачи бонусов. Метод MRGService.confirmBonus(string bonusId)
  • Добавлена возможность добавлять дополнительные параметры при открытии окна MyCom Support в виде JSON
MRGSMyComSupport.getInstance().addExtraParam("{}");
MRGSMyComSupport.getInstance().show();
  • Обновлен MyTracker Android до версии 1.5.2. Обновите свои mainTemplate.gradle
dependencies {
compile 'com.my.tracker:mytracker-sdk:1.5.2'
**DEPS**}

v1.0.2🔗

  • Обновлены MRGS Android до версии 3.8.74 и MRGS iOS до версии 3.8.51
  • Исправлена ошибка с некорректным преобразованием даты в нотификациях

v1.0.1🔗

  • Обновлены MRGS Android до версии 3.8.72 и MRGS iOS до версии 3.8.50

v1.0.0🔗

  • Версия 1.0


Последнее обновление: 2025-04-14
Дата создания: 2020-03-02