Что нового в версии библиотеки для Android🔗
v6.19.0 Release (17-01-2025)🔗
В данной версии:
Модуль MRGService:
- Улучшена работа SDK во Вьетнаме.
- Добавлены логи для параметров
MRGSTracker#trackEvent(String name, Map params).
Модуль Advertising:
- Улучшена загрузка рекламы для URL не содержащих расширения файла
Модуль Appsflyer:
- Исправлена ошибка, когда некорректная сумма платежа могла быть отправлена в AppsFlyer для Huawei платежей.
Модуль Authentication:
- Исправлена ошибка
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) patternдля MyGames авторизации.
Модуль Billing-catappult:
- Добавлена поддержка Catappult.
Модуль Bank:
- Исправлена возможная потеря
deviceIdв http запросах валидации платежа.
Модуль Notifications:
- Исправлен сбой при нажатии на уведомление, если
developerPayloadсодержит лишние кавычки
Подробнее о новых функциях и их использовании читайте в документации.
v6.18.0 Release (15-11-2024)🔗
В данной версии:
Модуль MRGService:
- Добавлен новый класс
MRGSProductInfoдля отправки информации о продукте нового формата - Обновлен
androidx.core:core:1.9.0доandroidx.core:core-ktx:1.13.1 - Обновлен
com.google.android.gms:play-services-ads-identifierс 18.0.1 до 18.1.0. - Обновлен
com.google.android.gms:play-services-appsetс 16.0.2 до 16.1.0. - Обновлен
androidx.appcompat:appcompatс1.6.1до1.7.0 - Обновлен
kotlinс1.8.22до1.9.23 - Улучшена работа очереди потоков, исправлена ошибка
Thread pool blocking queue is full
Модуль Authentication:
- Добавлена возможность открывать другой браузер с CustomTabs, если браузер использующийся по умолчанию не поддерживает CustomTabs. Если на устройстве нет браузера с CustomTabs, то будет открываться обычный браузер.
- Удалена зависимость
androidx.localbroadcastmanager:localbroadcastmanager. - Обновлен
com.google.android.gms:play-services-games-v2с20.1.0до20.1.2
Модуль Advertising:
- Удалена зависимость
androidx.localbroadcastmanager:localbroadcastmanager. - Обновлен
androidx.recyclerview:recyclerviewc1.2.1до1.3.2. - Обновлен
androidx.vectordrawable:vectordrawableс1.1.0до1.2.0 - Исправлено получение имени видео файла из значения
creative_video_fileвMRGSAdvertisingCampaign.
Модуль Bank:
- Обновлен
com.android.billingclient:billingc6.0.1до7.1.1. - Обновлен
com.facebook.android:facebook-gamingservicesс16.0.1до17.0.2
Модуль GDPR:
- Обновлен
com.bigossp:bigo-adsc4.7.0до5.0.2. - Обновлен
com.moloco.sdk.adapters:moloco:2.1.1.0доcom.moloco.sdk:moloco-sdk:3.2.0 - Обновлен
com.tappx.sdk.android:tappx-sdkc4.0.6до4.1.6 - Обновлен
com.unity3d.ads:unity-adsc4.4.1до4.12.3 - Обновлен
com.tapjoy:tapjoy-android-sdkc12.11.0до14.1.0 - Обновлен
com.my.target:mytarget-sdkc5.16.2до5.22.1 - Обновлен
com.vungle:publisher-sdk-android:6.12.0доcom.vungle:vungle-ads:7.4.1 - Обновлен
com.fyber:fairbid-sdkc3.33.1до3.55.0 - Обновлен
com.facebook.android:facebook-corec15.1.0до17.0.2 - Обновлен
com.chartboost:chartboost-sdkc9.1.1до9.7.0 - Обновлен
com.applovin:applovin-sdkc11.6.0до13.0.0 - Исправлена утечка Activity в CCPA.
Модуль Notifications:
- Обновлен
com.google.firebase:firebase-messagingс 24.0.0 до 24.0.3. - Добавлены intent-фильтры для broadcast receivers.
Модуль Recommendations:
- Добавлен новый тип события для Recsys -
geo pricing.
Модуль Showcase:
- Удалена зависимость
androidx.localbroadcastmanager:localbroadcastmanager. - Обновлен
androidx.browser:browserc1.5.0до1.8.0. - Обновлен
androidx.recyclerview:recyclerviewc1.2.1до1.3.2.
Подробнее о новых функциях и их использовании читайте в документации.
v6.17.4 Release (25-10-2024)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка, когда терялись события MRGSMetrics если события были добавлены до инициализации MRGService и это был самый первый запуск приложения (при этом на последующих запусках приложения события не терялись)
- Исправлен сброс счетчика общего времени, проведенного в игре (
allSession) при смене дня во время игры
Модуль Advertising:
- Исправлены некоторые ошибки ANR
Модуль Didomi:
- Исправлены ошибки ANR
Модуль GDPR:
- Обновлены зависимости
CCPA Mintegral
Модуль Notifications:
- Добавлена проверка данных на null в
PostPermissionActivity.
Подробнее о новых функциях и их использовании читайте в документации.
v6.17.3 Release (05-10-2024)🔗
В данной версии:
Модуль MRGService:
- Метод
MRGSDevice#getSendDictionary(Callback<Object)помечен как Deprecated и будет удален в ближайшем будущем. - Добавлен сбор GAID, ASID, OA ID, ODID и Amazon advertising id и отправка их на сервер в виде отдельных параметров.
- Добавлена обработка всех ошибок в методе
MRGSReflection.isClassExists().
Модуль Bank:
- Изменен максимальный размер
developerPayloadвOnestoreBilling- уменьшен до 200 символов. - Исправлено исчезновение
developerPayloadпри возобновлении работы приложения послеonPause. - Исправлена ошибка когда
transactionIdот Samsung Galaxy Store мог быть не отправлен в Appsflyer. - Исправлен
thread race condition, которое могло приводить к потереdeveloperPayloadпри валидации платежа.
Модуль Didomi:
- Обновлен
io.didomi.sdk:androidc2.10.1до2.13.0
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс22.1.0до22.1.2
Модуль MyTracker:
- Обновлен
com.my.tracker:mytracker-sdkc3.0.12до3.3.2 - Изменена
minSdkVersionс19to21.
Модуль Notifications:
- Добавлены блоки
try/catchв методах создания уведомлений и добавлено отправка логов на сервер.
Модуль Support:
- Добавлена проверка доступности сети при отображении окна поддержки.
Подробнее о новых функциях и их использовании читайте в документации.
v6.17.2 Release (12-09-2024)🔗
В данной версии:
- Исправлена ошибка с версии 6.17.0, из-за которой нельзя было ставить другие приложения в которых используется MRGS SDK из-за ошибки
INSTALL_FAILED_DUPLICATE_PERMISSION: Package to redeclare permission games.my.mrgs.permission.OPEN_UDID already owned
Подробнее о новых функциях и их использовании читайте в документации.
v6.17.1 Release (06-09-2024)🔗
В данной версии:
Модуль Analytics:
- Добавлено новое значение
waitForTCFдля событияmrgs_dma_start.
Подробнее о новых функциях и их использовании читайте в документации.
v6.17.0 Release (29-08-2024)🔗
В данной версии:
Модуль MRGService:
- Добавлена возможность делиться OpenUDID между приложениями.
- Добавлен новый способ для генерации устойчивого OpenUDID
- Добавлен новый ключ
MRGSTrackerMediationNetwork.ToponPteдля кастомных логов. - Исправлена ошибка дублирования значения при использовании
MRGService#setHost, что приводило к поломке сетевых запросов.
Модуль Analytics:
- Удалена зависимость
com.appsflyer:adrevenue. - Обновлен
com.appsflyer:af-android-sdkс6.14.2до6.15.0.
Модуль Bank:
- Исправлена работа восстановления подписок в Amazon - теперь отмененные и неактивные подписки не будут приходить в делегат
Модуль Didomi:
- Обновлен
io.didomi.sdk:androidc2.7.0до2.10.1
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс22.0.1до22.1.0
Подробнее о новых функциях и их использовании читайте в документации.
v6.16.1 Release (02-07-2024)🔗
В данной версии:
Модуль MRGService:
- Добавлена внутренняя поддержка переключения хостов, на случай если некоторые страны блокируют доступы к MRGS ресурсам.
- Отключена проверка безопасности SSL соединения для всех сетевых запросов к MRGS серверу для Android
7.0и ниже.
Модуль Authentication:
- Изменена минимальная требуемая версия Android c
4.4 (19 api)до5.0 (21 api)для модуля MRGSGoogleSignIn - Обновлен
com.google.android.gms:play-services-gamesс23.1.0до23.2.0. - Обновлен
com.google.android.gms:play-services-authс20.6.0до21.2.0. - Изменена минимальная требуемая версия Android c
4.4 (19 api)до5.0 (21 api)для модуля MRGSGooglePlay - Обновлен
com.google.android.gms:play-services-games-v2с17.0.0до20.1.0
Модуль Appsflyer:
- Обновлен
com.appsflyer:af-android-sdkс6.14.0до6.14.2.
Модуль Bank:
- Исправлена ошибка когда
MRGSBillingDelegate#onReceiveFailedPurchaseвозвращал результат без ошибки для новой приватной реализации Google платежей.
Модуль Didomi:
- Обновлен
io.didomi.sdk:androidc2.5.1до2.7.0.
Подробнее о новых функциях и их использовании читайте в документации.
v6.16.0 Release (13-06-2024)🔗
В данной версии:
Модуль Authentication:
- Добавлен асинхронный метод
isLoggedInдля более точной проверки состояния.
Подробнее о новых функциях и их использовании читайте в документации.
v6.15.1 Release (11-06-2024)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка
java.util.ConcurrentModificationExceptionв MRGSTracker.
Модуль Bank:
- Добавлено автоматическое закрытие TopUp (WebView) при успешной покупке
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс22.0.0до22.0.1
Модуль GDPR:
- Добавлена поддержка новых библиотек для CCPA - Moloco и BigoAds
Модуль Advertising:
- Некоторые улучшения для отправки DSP ссылок.
Подробнее о новых функциях и их использовании читайте в документации.
v6.15.0 Release (28-05-2024)🔗
В данной версии:
Модуль MRGService:
- Исправлено подключение к google сервисам для автотрекинга, добавлен таймер обратного отсчета для ограничения автоматического количества попыток подключения.
- Исправлена ошибка ANR. Вызов
getHwMemoryUse()был перенесен в фоновый поток внутри методаupdateHwMemoryUse().
Модуль Authentication (Facebook):
- Используемая версия Graph Api поднята до 19
Модуль Analytics:
- Исправлена ошибка, когда терялись события отправленные во время активного
waitForCustomerUserIdрежима. - Исправлена ошибка, когда AppsFlyer начинал отправку аналитики после снятия
waitForCustomerUserIdрежима, но при этом еще не было получено соглашение от пользователя (DMA). Проблема возникала только при использованииwaitForCustomerUserIdрежима.
Модуль Bank:
- Добавлены новые поля
isSandbox(сделан ли платеж в тестовом окружении) иusd(сумма платежа в долларах) - Исправлена ошибка
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/amazon/device/drm/LicensingListener. Данная ошибка больше не будет приводить к падению приложения.
Модуль GDPR:
- Исправлен показ окна PIPA на маленьких экранах
Подробнее о новых функциях и их использовании читайте в документации.
v6.14.3 Release (16-05-2024)🔗
В данной версии:
Модуль MRGService:
- Исправлена
ANRошибка при вызовеMRGSTracker#flush().
Подробнее о новых функциях и их использовании читайте в документации.
v6.14.2 Release (07-05-2024)🔗
В данной версии:
Модуль Analytics:
- Обновлен
com.appsflyer:af-android-sdkс6.13.0до6.14.0.
Модуль Didomi:
- Обновлен
io.didomi.sdk:androidc2.4.0до2.5.1.
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс21.6.2до22.0.0. - Изменена минимальная требуемая версия Android c
4.4 (19 api)до5.0 (21 api).
Модуль Notification:
- Обновлен
com.google.firebase:firebase-messagingс23.1.2до24.0.0. - Изменена минимальная требуемая версия Android c
4.4 (19 api)до5.0 (21 api).
Подробнее о новых функциях и их использовании читайте в документации.
v6.14.1 Release (27-04-2024)🔗
В данной версии:
Модуль MRGService:
- Добавлена отправка
firebaseInstanceIdв события MRGS - Добавлен флаг для отключения автоматического трекинга платежей из удаленного конфига.
- Изменен способ генерации
sessionIdc MD5 на UUID v4 для уменьшения коллизий.
Модуль Bank:
- Изменено поведение метода
restoreTransactionдля Amazon. Теперь поведение метода будет похоже на поведение Google платежей, метод больше не будет пытаться грузить недостающие продукты, а будет обращаться к локальному кэшу с продуктами, который формируется при вызовеrequestProducts, и будет возвращаться ошибку вonReceiveFailedPurchaseесли не удалось найти продукт в локальном кэше. - Исправлена ошибка, когда не проводилось восстановление транзакций если на устройстве отсутствовал кеш, что данный платеж проводился именно на этом устройстве. Теперь платеж будет восстанавливаться в не зависимости на каком устройстве пользователь делает восстановление.
- Исправлена ошибка, когда в редких случаях, после валидации платежа, вызывалось закрытие транзакция для всех не валидированных платежей для OneStore.
Модуль Didomi:
- Обновлен
io.didomi.sdk:androidc1.90.0до2.4.0.
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс 21.6.1 до 21.6.2.
Подробнее о новых функциях и их использовании читайте в документации.
v6.14.0 Release (11-04-2024)🔗
В данной версии:
Модуль MRGService:
- Исправлен возможный ANR из-за записи отладочных журналов для удаленной отладки.
- Исправлены ошибки
NullPointerExceptionиANRвTransferManager. - Исправлены некоторые ошибки которые могли приводить к падениям MRGService.
- Исправлен сбой при подключения к Google Billing при автоматическом трекинге платежей.
Модуль Bank:
- Исправлена ошибка
ForegroundTaskPipeline: No UI visible to execute taskиз-за которой не запускалось платежное окно в Amazon IAP SDK в Unity сборках.
Модуль Didomi:
- Изменено поведение для вызова
FirebaseAnalytics#setAnalyticsCollectionEnabled. Теперь данный метод будет вызываться даже если пользователь не попадает под показ TCF, чтобы избежать блокировки для сбора данных Firebase.
Модуль Firebase:
- Добавлен новый метод
FirebaseAnalytics#setAnalyticsCollectionEnabled(bool)
Подробнее о новых функциях и их использовании читайте в документации.
v6.13.3 Release (02-04-2024)🔗
В данной версии:
Модуль Advertising:
- Добавлена поддержка дополнительных трекинговых ссылок (процент просмотра ролика) для AdTech
- Отключено кэширование сетевых запросов для AdTech.
Модуль Bank:
- Исправлена ошибка при сборке проекта, если проект использовал обфускацию с
proguard-android-optimize.txt
Модуль Didomi:
- MRGSDidomi будет также вызывать
FirebaseAnalytics#setAnalyticsCollectionEnabledсtrue, после каждого вызоваFirebaseAnalytics#setConsent.
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс 21.5.1 до 21.6.1.
Подробнее о новых функциях и их использовании читайте в документации.
v6.13.2 Release (27-03-2024)🔗
В данной версии:
- Исправлены ошибки
JVM Verifier rejected classкоторые приводили к проблемам на некоторых версиях Android из-за того что kotlin в MRGS SDK компилировался старым компилятором.
Модуль Analytics:
- Исправлен краш, когда MRGSAnalytics модуль добавляли в проект но не передавали
MRGSAppsFlyerParamsдля инициализации AppsFlyer.
Модуль Advertising:
- Обновлены правила обфускации.
Модуль Bank:
- Обновлены правила обфускации.
- Исправлена работа MyGames платежей (WebView).
Подробнее о новых функциях и их использовании читайте в документации.
v6.13.1 Release (25-03-2024)🔗
В данной версии:
Модуль Bank:
- Исправлена ошибка
com.amazon.a.a.o.a.b: Executing thread must be thread: 2, was: Nпри попытке проинициализировать Amazon IAP не из Android main-thread.
Модуль Didomi:
- Исправлена ошибка
java.lang.ClassNotFoundException: games.my.mrgs.analytics.MRGSAnalytics.
Подробнее о новых функциях и их использовании читайте в документации.
v6.13.0 Release (21-03-2024)🔗
В данной версии:
- Добавлена поддержка DMA для AppsFlyer и Firebase.
- Минимальная требуемая версия kotlin
1.8.22.
Модуль MRGService:
- Исправлена ошибка когда автоматический трекинг платежей не отключался при использовании MRSRGBank модуля, из-за чего автоматический трекинг делал лишний сетевой запрос на валидацию платежей.
Модуль Advertising:
- Улучшена проверка
hashдля скачанных креативов вAdTech.
Модуль Analytics:
-
Обновлен
com.appsflyer:af-android-sdkc6.12.1до6.13.0. -
Исправлена ошибка когда MRGSAnalytics не принимал и не отправлял платежи в AppsFlyer, если использовался автоматический трекинг платежей.
Модуль Bank:
-
Добавлен новый метод
MRGServiceParams#setBillingVersionAtFirstRun(int)для смены версии на первом запуске приложения. Для последующих запусков будет использоваться версия из remote config. -
Исправлена работа оплаты через СБП в MyGames (WebView)
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsc21.3.0до21.5.1.
Модуль Didomi:
-
Добавлен новый метод
MRGSDidomi#reset(). -
Обновлен
io.didomi.sdk:androidc1.89.0до1.90.0.
Модуль GDPR:
- Изменена ширина кнопки диалогового окна COPPA.
Модуль IronSource-Adapter:
- Добавлена отправка данных о GDPR в AdTech.
Подробнее о новых функциях и их использовании читайте в документации.
v6.12.0 Release (27-02-2024)🔗
В данной версии:
Модуль MRGService:
- Добавлен сбор версий некоторых сторонних SDK.
- Добавлен новый метод
MRGSUsers#SetEmail(String)для передачи email пользователя в MRGS. - Добавлена поддержка автоматического трекинга платежей для Google Play. Данный функционал включен по умолчанию, и отправит исторические данные при первом старте на сервера MRGS.
Модуль Analytics:
- Добавлена поддержка отправки платежей в AppsFlyer с сервера MRGS.
Модуль Bank:
- Обновлен Samsung IAP SDK c
5.0.1до6.1.0. -
Обновлен Amazon IAP SDK с
2.0.76до3.0.4. -
Исправлена ошибка когда MRGSBank неправильно завершал операцию по работе с пустым чеком, из-за чего могло вызываться несколько
callbackу клиента. - Исправлена долгая валидация при наличии в истории транзакций с одинаковыми
userиtransaction id.
Модуль Didomi:
- Добавлен новый метода
MRGSDidomi#shouldUserStatusBeCollected(). -
Добавлена поддержка Android SDK Activity для работы с Didomi для проектов которые не используют
Androidxфункционал. -
Обновлен
io.didomi.sdk:androidc1.87.0до1.89.0.
Модуль GDPR:
- Исправлено условие для показа кнопки CCPA, теперь поведение будет таким же как на
iOS.
Модуль Notifications:
-
Добавлена поддержка различных стилей расширенных уведомлений и улучшена поддержка кастомных уведомлений.
-
Исправлено поведение включения уведомлений на Android 13 (при выключенном отложенном старте).
Подробнее о новых функциях и их использовании читайте в документации.
v6.11.2 Release (29-01-2024)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка, когда в редких случаях не отправлялось событие
applicationRun, из-за чего не отмечались установки в 1Link. - Исправлен
ANRпри вызове методаMRGSDevice#getHwMemoryUse(). - Исправлена редкая ошибка
IndexOutOfBoundsExceptionпри вызове методаMRGSDevice#getHwMemoryUse().
Модуль Advertising:
- Исправлен
ANRпри загрузке рекламы.
Модуль Showcase:
- Исправлен
ANRпри загрузке рекламы.
Подробнее о новых функциях и их использовании читайте в документации.
v6.11.1 Release (24-01-2024)🔗
В данной версии:
Модуль Advertising:
- Улучшен алгоритм вычисления средней цены рекламы для AdTech.
- Улучшен подход к проверке рекламы для AdTech.
Модуль Authentication:
- Исправлена проблема с "web-авторизацией" на платформе Google Play Games on PC.
Модуль Bank:
-
Добавлена обработка ошибки
RESULT_NEED_LOGINпри инициализации OneStore IAP SDK. -
Исправлена ошибка из-за которой отправлялся пустой
developerPayloadна сервер MRGS для OneStore платежей.
Модуль IronSource-Adapter:
- Улучшена загрузка рекламы для AdTech.
Подробнее о новых функциях и их использовании читайте в документации.
v6.11.0 Release (17-01-2024)🔗
В данной версии:
Модуль Bank:
- Добавлена поддержка OneStore платежей.
Модуль GDPR:
- Добавлена поддержка корейского закона PIPA.
Подробнее о новых функциях и их использовании читайте в документации.
v6.10.1 Release (14-12-2023)🔗
В данной версии:
Модуль Didomi:
-
Обновлен
io.didomi.sdk:androidc1.85.1до1.87.0. -
Исправлена ошибка с отправкой метрик для MRGSDidomi.
Подробнее о новых функциях и их использовании читайте в документации.
v6.10.0 Release (04-12-2023)🔗
В данной версии:
Модуль MRGService:
- Добавлен новый метод
MRGService#setHost(String)для смены сетевого адреса вMRGService.
Модуль Advertising:
- Улучшено кеширование роликов для AdTech - теперь коллизий при загрузке возникать не будет.
Модуль Authentication:
- Исправлена отправка событий
socialLoginиsocialUserкогда используется GooglePlayGamesV2.
Модуль Didomi:
- Добавлен новый модуль MRGSDidomi для поддержки TCF.
Модуль Firebase:
- Изменено поведение для отправки событий
mrgs_valid_inapp_N_dollars_plus. Теперь данные события будут также отсылаться и для тестовых платежей.
Модуль GameCenter:
- Модуль MRGSGameCenter помечен как
deprecatedи будет удален в ближайшем будущем.
Модуль IronSource-Adapter:
- Добавлена дополнительная статистика по принятым соглашениям и настройкам при запросах на сервер.
Модуль Showcase:
- Изменен шрифт в заголовке витрины с
gothamнаopen-sans.
Подробнее о новых функциях и их использовании читайте в документации.
v6.9.4 Release (20-11-2023)🔗
В данной версии:
Модуль GDPR:
- Исправлена ошибка когда показывалось окно обновления соглашения вместо смены издателя если у пользователя была ранее принята версия
1591736400. - Исправлена ошибка когда callback не был вызван через
MRGSGDPR#showAgreement(Activity, MRGSGDPRShowParams, BiConsumer<MRGSGDRPShowResult, MRGSError>)если показывали COPPA через MRGSGDPR и COPPA вернула ошибку. - Исправлена ошибка когда методы показа соглашения могли пропустить показ обновления соглашения или смене издателя до следующего перезапуска приложения.
Подробнее о новых функциях и их использовании читайте в документации.
v6.9.3 Release (14-11-2023)🔗
В данной версии:
Модуль GDPR:
- Изменена логика работы
MRGSGDPR#showDefaultAgreementAtActivity(Activity, String)метода для показа дефолтного файла при смене **издателя.
Подробнее о новых функциях и их использовании читайте в документации.
v6.9.2 Release (14-11-2023)🔗
В данной версии:
Модуль GDPR:
- Исправлена ошибка, когда
MRGSGDPR#shouldShowGDPR(Activity, String, boolean, MRGSGDPRAsyncStatus)метод считывалisEUOnlyфлаг изMRGSGDPR#onlyEU(boolean)вместо переданного параметра. Теперь будет считывать только переданный параметр и игнорироватьсяMRGSGDPR#onlyEU(boolean). - Исправлен
ClassCastExceptionдляMRGSGDPR#getAgreementTime(Context)иMRGSGDPR#getAcceptedAgreement(Context)методов. - Исправлена логика с некорректным выбором файла для случаев смены издателя и для случаев обновления версии соглашения с рекламой.
Подробнее о новых функциях и их использовании читайте в документации.
v6.9.1 Release (10-11-2023)🔗
В данной версии:
Модуль GDPR:
-
Изменена логика для
MRGSGDPR#setPublisherUpdateFile(String)для обработкиnullзначений. -
Исправлена ошибка из-за которой новый метод
MRGSGDPR#ShowAgreement()не считывал значениеMRGSGDPRShowParam#isAutomaticCOPPAFlowEnabled(). - Исправлена проблема с выбором китайской локализации для GDPR на основе локализации устройства пользователя.
- Исправлен краш в COPPA, когда не удавалось продолжить COPPA после принятия соглашения.
Подробнее о новых функциях и их использовании читайте в документации.
v6.9.0 Release (08-11-2023)🔗
В данной версии:
Модуль GDPR:
- Добавлена поддержка показа GDPR для случаев смены издателя.
- Улучшено определение необходимости показа соглашения - теперь оно происходит до перезапуска приложения.
- Добавлена поддержка чтения файлов из StreamingAssets (теперь достаточно передать в методы только его имя)
-
Улучшена локализация - теперь локализация соглашения будет автоматически выбираться на основе текущего языка пользователя
-
Добавлен новый метод
MRGSGDPR#setup(Activity, String, String)для инициализации MRGSGDPR и MRGSCOPPA. - Добавлен новый метод
MRGSGDPR#showAgreement(Activity, MRGSGDPRShowParams, BiConsumer<MRGSGDPRShowResult, MRGSError>)для показа GDPR окна. - Добавлен новый метод
MRGSGDPR#shouldShowAgreement(Activity, BiConsumer<MRGSGDPRShowReason, MRGSGDPRAgreement>)для проверки возможности показать пользователю GDPR окна. - Добавлен новый метод
MRGSGDPR#onAgreementAccepted(Context, boolean)чтобы уведомить MRGS что пользователь принял соглашение в не MRGS GDPR окна. (Для случаев показа свои собственных окон). - Добавлен новый временный метод
MRGSGDPR#setPublisherUpdateFile(String)для выставления пути к собственному html файлу для случаев смены издателя. - Добавлено новое метод
MRGSGDPR#setOnShowListener(OnShowListener)для выставления слушателя событий показа MRGS GDPR окна. - Добавлено новое метод
MRGSGDPR#getAcceptedAgreement(Context)для получения информации по последнему принятому соглашению пользователем. -
Добавлено новое метод
MRGSGDPR#getLocalizations(Context)для получения списка доступных локализаций из SDK файлаmrgsgdpr_langs.json. -
Добавлен новый класс
MRGSGDPRAgreementсодержащий информацию по текущей версии GDPR в MRGS консоли. - Добавлен новый класс
MRGSGDPRAcceptedAgreementсодержащий информацию по принятому соглашению пользователем. - Добавлен новый класс
MRGSGDPRLocalizationсодержащий разный набор свойств для локализацииhtmlстраниц в MRGSGDPR SDK. - Добавлен новый класс
MRGSGDPRShowParamsсодержащий разный набор свойств для изменения поведения показа MRGS GDPR окна. - Добавлен новый enum
MRGSGDPRShowReasonопределяющий причины показа MRGS GDPR окна. -
Добавлен новый класс
MRGSGDPRShowResultсодержащий результат показа MRGS GDPR окна. -
Метод
MRGSGDPR#withAdvertising(boolean)помечен какустаревшим. ИспользуйтеMRGSGDPRShowParams#withAdvertising(boolean). - Метод
MRGSGDPR#enableAutomaticCOPPAFlow(String, String)помечен какустаревшим. ИспользуйтеMRGSGDPRShowParams#setAutomaticCOPPAFlowEnabled(boolean). - Метод
MRGSGDPR#setLocalizationLanguage(String)помечен какустаревшим. ИспользуйтеMRGSGDPRShowParams#setLocalization(MRGSGDPRLocalization). - Метод
MRGSGDPR#setUseWebViewForExternalLinks(boolean)помечен какустаревшим. ИспользуйтеMRGSGDPRShowParams#setUseWebViewForExternalLinks(boolean). - Метод
MRGSGDPR#getAgreementTime(Context)помечен какустаревшим. ИспользуйтеMRGSGDPR#getAcceptedAgreement(Context). - Метод
MRGSGDPR#getAgreedVersion(Context)помечен какустаревшим. ИспользуйтеMRGSGDPR#getAcceptedAgreement(Context). - Метод
MRGSGDPR#getSupportedLocalizations(Context)помечен какустаревшим. ИспользуйтеMRGSGDPR#getLocalizations(Context). - Метод
MRGSGDPR#showDefaultAgreementAtActivity(Activity, String)помечен какустаревшим. ИспользуйтеMRGSGDPR#showAgreement(Activity, MRGSGDPRShowParams). - Метод
MRGSGDPR#showAgreementAtActivity(Activity, String, String)помечен какустаревшим. ИспользуйтеMRGSGDPR#showAgreement(Activity, MRGSGDPRShowParams). - Метод
MRGSGDPR#checkIfUserGetsUnderGDPR(Activity, String, MRGSGDPRAsyncStatus)помечен какустаревшим. ИспользуйтеMRGSGDPR##shouldShowAgreement(Activity, BiConsumer<MRGSGDPRShowReason, MRGSGDPRAgreement>). - Метод
MRGSGDPR#shouldShowGDPR(Activity, String, boolean, MRGSGDPRAsyncStatus)помечен какустаревшим. ИспользуйтеMRGSGDPR#showAgreement(Activity, MRGSGDPRShowParams, BiConsumer<MRGSGDPRShowResult, MRGSError>). - Метод
MRGSGDPR#setUserHasAcceptedAgreement(Context, boolean, boolean, String)помечен какустаревшим. ИспользуйтеMRGSGDPR#onAgreementAccepted(Context, boolean). - Интерфейс
MRGSGDPR.MRGSGDPRDelegateпомечен какустаревшим. ИспользуйтеMRGSGDPR.OnShowListener.
Модуль IronSource-Adapter:
- Исправлена ошибка из-за которой, после просмотра рекламы, в редких случаях могло отправиться большое кол-во дублированных событий показа, завершения, кликов и прочих событий.
Подробнее о новых функциях и их использовании читайте в документации.
v6.8.1 Release (17-10-2023)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка когда MRGService мог некорректно отслеживать сессии в приложении. Также это могло влиять на поведение: рекламы (MRGSAdvertising), авторизации (MRGSAuthentication), уведомлений (MRGSNotifications), и платежей (MRGSBank). Обычно это приводило к невозможности отображать UI в редких случаях.
Модуль Notifications:
- Исправлен
NullPointerExceptionпри запросе разрешения на отправку уведомлений.
Подробнее о новых функциях и их использовании читайте в документации.
v6.8.0 Release (13-10-2023)🔗
В данной версии:
- Добавлена поддержка Android 14.
- Обновлен
androidx.core:coreс1.7.0до1.9.0. - Обновлен
androidx.appcompat:appcompatс1.4.2до1.6.1.
Модуль MRGService:
-
Добавлен метод
MRGSGeoIpInfo#getCity()для получения названия города. -
Обновлен
com.huawei.hms:ads-identifierс3.4.58.301до3.4.62.300. - Обновлен
com.huawei.hms:opendeviceс6.9.0.300до6.11.0.300. - Исправлена ошибка, когда метод
MRGService#getServerTime()в некоторых случаях возвращало0. Улучшена работа по трекингу серверного времени, теперь оно всегда будет актуальным с запуска приложения и до перезагрузки устройства.
Модуль Advertising:
-
Расширена поддержка
click-ссылокдля AdTech -
Исправлена ошибка
Not attached to ActivityдляVideoAdsFragment. - Исправлена ошибка когда
onSaveInstanceStateбыл вызван перед закрытиемVideoAdFragment.
Модуль Authentication:
- Обновлен
com.google.android.gms:play-services-authс20.4.0до20.6.0. -
Обновлен
androidx.browser:browserс1.3.0до1.5.0. -
Исправлена ошибка когда
onSaveInstanceStateбыл вызван перед закрытием диалогаMyGamesLoginFragment.
Модуль Bank:
-
Обновлен
com.huawei.hms:iapс6.1.0.300до6.4.0.301. -
Исправлена ошибка
Too many bind requests 999+из-за проблем установки соединения с Google Service.
Модуль IronSource-Adapter:
-
Добавлена поддержка дополнительных параметров в запросах к серверу.
-
Исправлен
NullPointerExceptionпри попытке высвободить ресурсы. - Исправлена ошибка когда случайно удалялся приготовленный для показа контент.
- Исправлена ошибка когда IronSource не мог создать MRGSCustomAdapter, если использовалась старая версия IronSource SDK.
Модуль IronSource:
- Добавлена проверка интеграции для модуля MRGSIronSource.
Модуль Notifications:
- Обновлен
com.huawei.hms:pushс6.7.0.300до6.11.0.300.
Подробнее о новых функциях и их использовании читайте в документации.
v6.7.2 Release (26-09-2023)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка некорректной отправки данных через метод
MRGSTracker#trackEvent(String, Map<String, Object>).
Модуль Analytics:
- Исправлен регресс, с момента выхода релиза
6.7.1, из-за которого перестали отправляться события по платежам в AppsFlyer.
Модуль Advertising:
- Исправлена уязвимость Zip Path Traversal Vulnerability.
Модуль GDPR:
-
Добавлена поддержка CCPA для новых библиотек: Tappx и Ogury.
-
Исправлена редкая ошибка
NullPointerExceptionпри попытке показать GDPR при помощиFragmentDialog(WebView). - Исправлена ошибка
ActivityNotFoundExceptionпри попытке перейти в браузер по ссылке, если на устройстве нет браузера.
Подробнее о новых функциях и их использовании читайте в документации.
v6.7.1 Release (02-09-2023)🔗
В данной версии:
Модуль MRGService:
- Обновлены правила
proguardдля агрессивногоobfuscation(android.enableR8.fullMode=true).
Модуль Authentication:
- Исправлена ошибка при попытке авторизоваться в MyGames через браузер, когда система уничтожала данные нужные для авторизации.
Подробнее о новых функциях и их использовании читайте в документации.
v6.7.0 Release (16-08-2023)🔗
В данной версии:
- Добавлен новый модуль
ISMRGSCustomAdapter- адаптеркросс-промов связке сDSPдляIronSource.
Модуль MRGService:
- Исправлена ошибка приводящая к дублированию MRGS логов в Logcat.
Модуль Bank:
- Обновлен
com.android.billingclient:billingс4.1.0до6.0.1.
Модуль GDPR:
- Добавлен новый метод
MRGSGDPR#setBackgroundColor(float, float, float, float)для выставленияbackgroundдляWebView.
Подробнее о новых функциях и их использовании читайте в документации.
v6.6.0 Release (12-07-2023)🔗
В данной версии:
Модуль MRGService:
-
Добавлен новый
MRGServiceParams#setUserAnonymizationEnabled(boolean)метод для анонимизации пользователя в сетевых запросах на сервер. -
Исправлена ошибка когда
MRGSDevice#getAdvertisingIdмог вернутьnullвcallback.
Модуль Analytics:
- Обновлен
com.appsflyer:af-android-sdkс6.11.1до6.12.1.
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс21.2.2до21.3.0.
Модуль GDPR:
- Расширен список штатов для поддержи CCPA: Коннектикут(
CTDPA) и Колорадо(CPA).
Модуль MyTracker:
- Обновлен
com.my.tracker:mytracker-sdkс3.0.11до3.0.12.
Подробнее о новых функциях и их использовании читайте в документации.
v6.5.1 Release (26-06-2023)🔗
В данной версии:
Модуль Advertising:
- Исправлена работа внутренних алгоритмов по оценке стоимости кросс-промо.
Модуль Analytics:
- Обновлен
com.appsflyer:af-android-sdkс6.11.0до6.11.1.
Подробнее о новых функциях и их использовании читайте в документации.
v6.5.0 Release (20-06-2023)🔗
В данной версии:
Модуль MRGService:
-
Добавлена поддержка удаленной сборки логов.
-
Исправлена некорректная отправка унифицированных логов через
@deprecated MRGSTracker#trackEvent(MRGSTrackerEvent)метод.
Модуль Authentication:
- Исправлена ошибка когда
callbackвызывался два раз при авторизации в Facebook.
Модуль Notifications:
- Добавлен новый
MRGServiceParams#setClearNotificationTrayEnabled(boolean)метод для управления очисткойpush-notificationsпри запуске приложения.
Подробнее о новых функциях и их использовании читайте в документации.
v6.4.0 Release (09-06-2023)🔗
В данной версии:
- Обновлен
com.facebook.android:facebook-gamingservicesс11.2.0до16.0.1.
Модуль MRGService:
- Улучшено определение геопозиции по IP.
-
Теперь
MRGSDevice#getReachabilityбудет возвращать1(медленный интернет) для мобильного интернета. Ранее возвращалось2для мобильно и wifi соединения. -
Исправлена приватная ошибка на входные параметры метода
MRGSTracker#trackAdRevenue.
Модуль GDPR:
- Исправлена ошибка с UI в
MRGSCOPPA.
Модуль Analytics:
- Добавлена отправка тестовых платежей в AppsFlyer. Такие платежи будут отправляться с
revenue0. -
Добавлена поддержка отправки платежей
AmazonвAppsFlyer. -
Обновлен
com.appsflyer:af-android-sdkс6.10.2до6.11.0. -
Исправлена потенциальная ошибка, приводящая к падению приложения.
Модуль Authentication:
- Добавлены новые методы
MRGSAuthentication#login(Activity, MRGSLoginCallback)иMRGSAuthentication#login(Activity, List<String>, MRGSLoginCallback)для стабильной авторизации. Старые методы помечены какdeprecated.
Модуль Firebase:
- Добавлена отправка тестовых платежей в Firebase. Такие платежи будут отправляться с
revenue0.
Модуль IronSource:
-
Добавлена поддержка автоматической установки сегментов в IronSource в соответствии с правилами, настроенными в консоли MRGS.
-
Исправлена ошибка приводящая к крашу при попытке привести
ImpressionData.revenueкdouble, когдаrevenueотсутствовал вImpressionData.
Подробнее о новых функциях и их использовании читайте в документации.
v6.3.1 Release (02-05-2023)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка с множественной отправкой событий applicationExit.
- Исправлена ошибка с подсчетом сессии, если юзер продолжил играть с одного дня по другой в пределах одной игровой сессии.
Подробнее о новых функциях и их использовании читайте в документации.
v6.3.0 Release (25-04-2023)🔗
В данной версии:
- Добавлен новый модуль
MRGSIronSourceдля автоматического сбора и отправки impression-level данных о выручке с рекламы, а также данных о загрузке рекламы (результаты аукционов) в MRGS и в AppsFlyer.
Модуль MRGService:
-
Добавлен новый метод
MRGSTracker#trackAdRevenue(String, String, double, String, Map<String, String>)для отправкиimpression-levelданных о выручке с рекламы в MRGS. -
Обновлен
com.huawei.hms:opendeviceс6.7.0.300до6.9.0.300.
Модуль Analytics:
-
Добавлена поддержка отправки
impression-levelданных о выручке с рекламы в AppsFlyer. Включение/выключение отправки осуществляется в консоли MRGS в разделе проекта. -
Обновлен
com.appsflyer:af-android-sdkс6.9.3до6.10.2.
Модуль Authentication:
- Добавлен новый
MRGSMyGames#setIgnoreCachedSession(boolean)метод для принудительного игнорирования текущей сессии в MyGames - при повторном входе пользователю не будет доступна опцияпродолжить как, только чистый вход.
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс21.2.0до21.2.2.
Модуль Notifications:
- Обновлен
com.google.firebase:firebase-messagingс23.1.1до23.1.2. - Обновлен
com.huawei.hms:pushс6.7.0.300до6.9.0.300.
Модуль MyTracker:
- Обновлен
com.my.tracker:mytracker-sdkс3.0.10до3.0.11.
Подробнее о новых функциях и их использовании читайте в документации.
v6.2.0 Release (07-04-2023)🔗
В данной версии:
Модуль MRGService:
- Добавлено логирование сетевых запросов для нового MRGS API.
Модуль Analytics:
- Исправлена отправка MRGS метрик в AppsFlyer - теперь они будут доходить быстрее.
Модуль Authentication:
-
Добавлены
MRGSMyGames#setPrimaryNetwork(String)иMRGSMyGames#setExcludedNetworks(List<String>)методы для смены или сокрытия основной кнопки авторизации и для сокрытия маленьких кнопок авторизации в MyGames. -
Исправлена работа авторизации в VKPlay.
- Исправлено падение приложения при попытке вызвать метод
MRGSGooglePlayGames#isLoggedIn(). - Убрана лишняя страница с переходом по ссылке в авторизации MRGSMyGames, если использовался Firefox.
Подробнее о новых функциях и их использовании читайте в документации.
v6.1.1 Release (04-04-2023)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка, при которой
MRGService#getServerTime()возвращал0из-за проблемы с кэшированием между потоками.
Подробнее о новых функциях и их использовании читайте в документации.
v6.1.0 Release (27-03-2023)🔗
В данной версии:
Модуль MRGService:
-
Добавлен
MRGSPurchaseEvent#customEvent(MRGSRevenue)метод для создания и отправки информации по любым платежам в MRGS - от разных платежных систем и сервисов. Данные платежи не будут валидироваться в MRGS -
Исправлена ошибка при попытке инициализировать MRGS SDK из рабочего потока.
Модуль Analytics:
-
Добавлена возможность информирования о подписках через S2S вместо клиента (данная опция включается на сервере MRGS).
-
Исправлено дублирование событий при покупке подписки (для подписки отсылались оба события
af_purchaseиaf_subscribe).
Модуль Firebase:
- Добавлен новый метод
MRGSFirebase#getAppInstanceId(Consumer<String>)для полученияappInstanceIdотFirebase SDK.
Подробнее о новых функциях и их использовании читайте в документации.
v6.0.0 Release (10-02-2023)🔗
В данной версии:
Модуль MRGService:
- Добавлена поддержка метода для отправки нового формата унифицированных логов - принимает в себя имя события и словарь с любыми ключами и значениями
- Добавлен метод для выставления значений по умолчанию, которыми будут обогащаться все логи, отправленные через новый метод в
MRGSTracker - Добавлена поддержка события принятия соглашения в
MRGSTracker(например, при принятии пользователем соглашения на подписку в Калифорнии) - Добавлена поддержка нового класса
MRGSTrackerProfileдля отправки профилей нового формата в унифицированные логи - Исправлены редкие ошибки с гонкой потоков в
MRGSTracker, из-за которых события могли уходить раздельными запросами
Модуль Bank:
- Добавлена отправка
appsflyerIdдля платежей на Market|MyGames
Модуль GDPR:
- Исправлено перекрытие клавиатурой для ввода email в COPPA
Модуль Notifications:
- Исправлена ошибка запроса разрешения на пока пуш уведомлений при старте приложения на Android 13.
Модуль Support:
- Добавлена поддержка уведомлений для виджета поддержки - теперь при нажатии на уведомление, пользователь сможет попасть сразу в виджет поддержки
Модуль Analytics:
- Добавлена поддержка UDL (Universal Deep Linking) в AppsFlyer
- Добавлена поддержка событий покупки подписок
af_start_trialиaf_subscribeвAppsFlyer - Исправлена отправка данных о подписках в Firebase - теперь будет учитываться стоимость со скидкой
Модуль Authentication:
- Исправлен ошибка из-за которой не обновлялся токен авторизации для MRGSGooglePlayGames.
- Исправлен ошибка из-за которой не удавалось восстановить токен авторизации из кеша для MRGSMyGames авторизации, из-за чего переставала работать авторизация.
Подробнее о новых функциях и их использовании читайте в документации.
v6.0.0-b02 Release (23-01-2023)🔗
В данной версии:
Модуль Showcase:
- Исправлен
ANRпри попытке получитьUser Agent.
Подробнее о новых функциях и их использовании читайте в документации.
v6.0.0-b Release (12-01-2023)🔗
В данной версии:
Основное:
- Добавлена поддержка нативного окна "поделиться". Подробнее здесь
- Добавлена поддержка
Android 13 - Полностью переработан API MyGamesSupport
- Добавлена поддержка авторизации GooglePlayGamesV2.
- Модуль авторизации был разбит на подмодули - Facebook,Amazon,GoogleSignIn,GoogleGames
- Параметры для модулей были вынесены в соответствующие модули
- SDK теперь требует минимальную версию Android 4.4 (19 API).
- Исправлены ошибки
Модуль MRGService:
- Добавлена поддержка нативного окна "поделиться". Подробнее здесь
- Добавлена проверка корректности bundleId в IntegrationCheck
- MRGService SDK теперь требует минимальную версию Android 4.4 (19 API).
- Удален
deprecatedфункционал. - Добавлено сокрытие секретов в логах IntegrationCheck
- Исправлены правила для R8/ProGuard.
- Возвращен bankSubstitution, теперь это String. Методы
MRGSBilling#useAsMainBilling()удалены.
Модуль Bank:
- Добавлен новый метод MRGSBilling#getLoadedProducts(), который будет возвращать список загруженных продуктов.
- Конфиг SamsungBillingParams был переименован в MRGSSamsungBillingParams и перемещен в MRGSBillingModule модуль.
- Обновлен
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 - Исправлена ошибка получения micros для Huawei подписок.
Модуль Notifications:
- Добавлена поддержка
Android 13- запрос разрешения на отправку уведомлений. - Обновлен
com.google.firebase:firebase-messagingс23.1.0до23.1.1. - Обновлен
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. Подробнее здесь - Конфиг AppsFlyerParams был переименован в MRGSAppsFlyerParams и перемещен в MRGSAnalyticsModule модуль.
- Обновлен
com.appsflyer:af-android-sdkс6.8.2до6.9.3.
Модуль Firebase:
- Добавлен метод
setUserProperties - Обновлен
com.google.firebase:firebase-analyticsс21.1.0до21.2.0.
Модуль Authentication:
- Добавлена поддержка авторизации GooglePlayGamesV2.
- Авторизация
MRGSAuthenticationFacebookбыла перенесена в свой собственный модульMRGSAuthenticationFacebookModule. - Авторизация
MRGSAuthenticationAmazonбыла перенесена в свой собственный модульMRGSAuthenticationAmazonModule. - Авторизация MRGSGooglePlayGames была разбита на два модуля MRGSGoogleSignIn и MRGSGooglePlayGames.
- Конфиг AmazonAuthParams был переименован в MRGSAmazonAuthParams и перемещен в MRGSAuthenticationModule модуль.
- Конфиг FacebookParams был переименован в MRGSFacebookParams и перемещен в MRGSAuthenticationModule модуль.
- Конфиг MRGSGooglePlayGamesParams был перемещен в MRGSAuthenticationGooglePlayGames модуль.
- Конфиг MyGamesAuthParams был переименован в MRGSMyGamesAuthParams и перемещен в MRGSAuthenticationModule модуль.
- Обновлен
com.google.android.gms:play-services-authс20.3.0до20.4.0. - Обновлен
com.google.android.gms:play-services-gamesс22.0.1до23.1.0.
Модуль MyTracker:
- Обновлен
com.my.tracker:mytracker-sdkс3.0.9до3.0.10.
Модуль GameCenter:
- Конфиг GameCenterParams был переименован в MRGSGameCenterParams и перемещен в MRGSGameCenterModule модуль.
Подробнее о новых функциях и их использовании читайте в документации.
v6.0.0-a04 Release (16-12-2022)🔗
В данной версии:
Модуль GDPR:
- Добавлена поддержка закона VCDPA Вирджинии в функционал CCPA
Модуль Bank:
- Исправлена ошибка
60001: too many query items for Huawei billing when try to request product - Исправлена ошибка в работе метода #useAsMainbilling()
Модуль Analytics:
- При проксировании метрик MRGS в AppsFlyer добавлено поле
af_level
Подробнее о новых функциях и их использовании читайте в документации.
v6.0.0-a03 Release (10-11-2022)🔗
В данной версии:
Модуль MRGService:
- Исправлены ошибки с проверкой интеграции.
Модуль Bank:
- Возвращено дефолтное поведение для смены подписки с DEFERRED на IMMEDIATE_WITH_TIME_PRORATION.
Модуль Showcase:
- Изменен текст попапа об установке всех игр из списка.
Подробнее о новых функциях и их использовании читайте в документации.
v6.0.0-a02 Release (08-11-2022)🔗
В данной версии:
Модуль MRGService:
- В событии запуска теперь будет уходить признак первого запуска на устройстве для отслеживания метрик реатрибуции
- Настройки прокси для MyTracker теперь получаются только при подключении данного модуля
- Исправлена проверка интеграции для модулей авторизации и MyTracker
Модуль Support:
- Исправлена работа MyGames Support
Подробнее о новых функциях и их использовании читайте в документации.
v6.0.0-a Release (03-11-2022)🔗
Данная версия включает себя обратно несовместимые изменения. Для миграции на новую версию обратитесь к документации по Миграции.
В данной версии:
- MyTracker теперь не является обязательной зависимостью. Работа с ним вынесена в отдельный модуль
MRGSMyTracker. КлассMRGSMyTrackerParamsперемещен в модуль MRGSMyTracker. - Работа с VK авторизацией вынесена в отдельный модуль
MRGSAuthenticaitonVK. КлассMRGSVKontakteParamsперемещен в модуль MRGSAuthenticationVK. - Изменены имена всех пакетов с
ru.mail.mrgserviceнаgames.my.mrgs - Из модулей удалены упоминания
VK/MyTrackerи перенесены в соответствующие новые модули
Модуль MRGService:
- Изменен способ инициализации MRGS - параметры внешних sdk теперь передаются массивом.
- Свойство
MRGSMyGamesParams#VKPlayModeудалено. ИспользуйтеMRGSMyGamesParams#CustomHost.
Модуль Support:
- Enum
ru.mail.mrgservice.MRGSMyComSupport.Credential.SocialNetwork.VKудален.
Модуль Authentication:
- Enum
MRGSAuthenticationNetworkудален, теперь используются строковые константы в соответствующих классах
Важно
- После обновления из сборки пропадет MyTracker SDK, VK SDK, так как они теперь являются отдельными модулями. Соответственно, атрибуция и аналитика проекта в MyTracker остановится.
- В случае, если вам необходимо оставить данные SDK в проекте, достаточно просто подключить новые модули к проекту и перейти на новый метод инициализации.
- Из-за смены имен пакетов некоторые локальные уведомления могут быть потеряны (доставленные с момента обновления приложения и до его первого открытия после обновления).
- Для того чтобы продолжать пользоваться 1link и MyUA, необходимо, чтобы 1link переключил сбор данных проекта на AppsFlyer + MRGS SDK.
Подробнее о новых функциях и их использовании читайте в документации.
v5.3.3 Release (02-11-2022)🔗
В данной версии:
Модуль Analytics:
- Изменен хост для AppsFlyer на
appsflyersdk.comдля обхода блокировок в России
Модуль Showcase:
- Добавлена поддержка удаленного выставления заголовка для витрины Showcase
Модуль Bank:
- Улучшена обработка ошибок покупок в Samsung billing
Подробнее о новых функциях и их использовании читайте в документации.
v5.3.2 Release (17-10-2022)🔗
В данной версии:
Модуль MRGService:
- Добавлена поддержка обогащения событий MRGS параметром
appsflyerIdдаже если не подключен модуль MRGSAnalytics, то есть AppsFlyer SDK интегрирован отдельно.
Подробнее о новых функциях и их использовании читайте в документации.
v5.3.1 Release (15-10-2022)🔗
В данной версии:
Модуль Analytics:
- Исправлена ошибка с отправкой AppsFlyer id в событиях MRGS
Подробнее о новых функциях и их использовании читайте в документации.
v5.3.0 Release (14-10-2022)🔗
В данной версии:
Модуль MRGService:
-
BillingSubstitution.MY_GAMEпомечен как@Deprecated, используйтеBillingSubstitution.MY_GAMESвместо него.
Модуль Analytics:
- Добавлена возможность автоматического выставления UserID в AppsFlyer вместо deviceId. Подробнее смотрите в документации по подключению AppsFlyer.
- Добавлена возможность задержки старта AppsFlyer до выставления UserID. Подробнее смотрите в документации по подключению AppsFlyer.
- Добавлена отправка событий кумулятивных сессий (10/30/60/90/180 минут) для новых пользователей. Подробнее смотрите в документации по подключению AppsFlyer.
- Добавлено обогащение всех запросов в MRGS полем AppsFlyerID.
Подробнее о новых функциях и их использовании читайте в документации.
v5.2.1 Release (03-10-2022)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка из-за которой неправильно разбирался MRGService.xml конфиг, в результате чего MRGSGoogleGames возвращал серверный код вместо токена авторизации. Теперь по дефолту снова возвращается токен авторизации, если не выставили иное значение в MRGService.xml конфиг.
Подробнее о новых функциях и их использовании читайте в документации.
v5.2.0 Release (03-10-2022)🔗
В данной версии:
Модуль MRGService:
- Методы
MRGServiceParams#shouldUseMyGamesBillingOnly()иMRGServiceParams#setUseMyGamesBillingOnly(boolean)помечены как@Deprecated, используйтеMRGServiceParams#setBillingSubstitution(BillingSubstitution)вместо него.
Модуль Authentication:
-
Добавлен новый метод
MRGSExternalSDKParams.MyGamesAuthParams#setDevEnvironment(boolean)для включения/выключения DEV окружения для авторизации MyGames/VKPlay. Смотри DEV окружение. -
Добавлена поддержка нового способа авторизации через VKID (superappkit SDK). Смотри VKID.
Модуль Bank:
-
Добавлен новый метод
MRGSBilling#openSubscriptionManager(Activity)для открытия Менеджера управления подписками. Смотри Открытие Менеджера по управлению подписками. -
Добавлена поддержка нового способа оплаты через VKPay (superappkit SDK). Смотри VKPay.
Подробнее о новых функциях и их использовании читайте в документации.
v5.1.1 Release (05-09-2022)🔗
В данной версии:
Модуль MRGService:
- Обновлен
com.my.tracker:mytracker-sdkс3.0.8до3.0.9.
Подробнее о новых функциях и их использовании читайте в документации.
v5.1.0 Release (02-09-2022)🔗
В данной версии:
Модуль MRGService:
- Добавлен новый метод
MRGSApplication#getInstallTime()для получения времени установки приложения в формате unixTime в миллисекундах. Смотри Время установки приложения. -
Добавлен новый метод
MRGSExternalSDKParams.MyTrackerParams#setTrackingLocationEnabled(boolean)для включения/отключения сбора данных местоположения девайса в MyTracker SDK. Трекинг местоположения в MyTracker SDK теперь будет выключен по умолчанию. Смотри Отслеживание местоположения. -
Обновлен
com.my.tracker:mytracker-sdkс3.0.7до3.0.8.
Модуль Analytics:
- Обновлен
com.appsflyer:af-android-sdkс6.8.0до6.8.2.
Модуль Authentication:
- Добавлен новый метод
MRGSMyGames#setHideBrandOccurrences(boolean)для того что бы скрыть все упоминания бренда MY.GAMES при авторизации черезMRGSMyGames. Смотри Сокрытие упоминания бренда MY.GAMES -
Добавлен новый метод
MRGSExternalSDKParams.MyGamesAuthParams#setVkPlayModeEnabled(boolean)для смены способа авторизации с MyGames на VKPlay. Смотри Авторизация через VKPlay. -
Убрали проверку на наличие приложения Play Games при попытке авторизоваться через MRGSGoogleGames.
-
Исправлено падение приложения при попытке авторизоваться через MRGSGoogleGames на некоторых устройствах Samsung.
Модуль Bank:
- Обновлен
com.android.billingclient:billingс3.0.3до4.1.0.
Подробнее о новых функциях и их использовании читайте в документации.
v5.0.3 Release (02-08-2022)🔗
В данной версии:
- Понижена версия
androidx.appcompat:appcompatс1.4.2до1.3.1, так как она требовалаcompileSdkVersionне ниже 31.
Модуль MRGService:
- Исправлена ошибка, когда
MRGSDevice#getOpenUDID(Callback)возвращалOpenUDIDв виде "0000-0000".
Модуль Authentication:
- Понижена версия
com.vk:android-sdk-coreс3.5.2до3.4.1, так как она не совместима сandroid gradle plugin/gradle 4.0/6.1.1и ниже. - Понижена версию
androidx.browser:browserс1.4.0до1.3.0, так как она требуетcompileSdkVersionне ниже 31.
Подробнее о новых функциях и их использовании читайте в документации.
v5.0.4 Release (05-08-2022)🔗
В данной версии:
Модуль Bank:
- Исправлена ошибка из-за которой информация по Google платежу не отправлялась в AppsFlyer, Firebase и MyTracker с версии 5.0.0 - MRGS Android SDK.
Подробнее о новых функциях и их использовании читайте в документации.
v5.0.3 Release (02-08-2022)🔗
В данной версии:
- Понижена версия
androidx.appcompat:appcompatс1.4.2до1.3.1, так как она требовалаcompileSdkVersionне ниже 31.
Модуль MRGService:
- Исправлена ошибка, когда
MRGSDevice#getOpenUDID(Callback)возвращалOpenUDIDв виде "0000-0000".
Модуль Authentication:
- Понижена версия
com.vk:android-sdk-coreс3.5.2до3.4.1, так как она не совместима сandroid gradle plugin/gradle 4.0/6.1.1и ниже. - Понижена версию
androidx.browser:browserс1.4.0до1.3.0, так как она требуетcompileSdkVersionне ниже 31.
Подробнее о новых функциях и их использовании читайте в документации.
v5.0.2 Release (27-07-2022)🔗
В данной версии:
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.4.2.
Модуль MRGService:
- Обновлен
com.my.tracker:mytracker-sdkс3.0.4до3.0.7
Модуль Bank:
- Добавлена поддержка удаленного изменения заголовка витрины
Market|MyGames.
Модуль Notifications:
- Обновлен
com.google.firebase:firebase-messagingс22.0.0до23.0.6.
Модуль Analytics:
- Обновлен
com.appsflyer:af-android-sdkс6.5.2до6.8.0
Модуль Firebase:
- Обновлен
com.google.firebase:firebase-analyticsс19.0.2до21.1.0.
Модуль Authentication:
- Добавлена отправка информации о пользователе при логине через соцсеть Vk.
- Обновлен
com.vk:android-sdk-coreс3.3.0до3.5.2 - Обновлен
com.google.android.gms:play-services-authс19.2.0до20.2.0. - Обновлен
com.google.android.gms:play-services-gamesс21.0.0до22.0.1. - Обновлен
androidx.browser:browserс1.3.0до1.4.0.
Подробнее о новых функциях и их использовании читайте в документации.
v5.0.1 Release (05-07-2022)🔗
В данной версии:
Модуль Notifications:
- Исправлена ошибка
java.lang.RuntimeException: Unable to start receiver.
Подробнее о новых функциях и их использовании читайте в документации.
v5.0.0 Release (29-06-2022)🔗
В данной версии:
Данная версия включает себя обратно несовместимые изменения. Для миграции на новую версию обратитесь к документации по Миграции.
- Добавлена поддержка распространения SDK через Maven репозиторий. Смотри Подключение Android SDK.
- Для работы SDK требуется подключение к проекту Java 8. Смотри Подключение Android SDK.
Модуль MRGService:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Подключение Android SDK.
-
Переделан способ инициализации MRGService. Теперь он похож на способ который используется MRGS Unity SDK. Смотри Подключение Android SDK
-
Интерфейс
MRGService.ActivityResultListenerудален. - Интерфейс
Printableудален. - Интерфейс
MRGSIntegrationCheck.MRGSIntegrationCheckListenerудален. - Класс
MRGSX509ExtendedTrustManagerудален. - Класс
MRGSX509TrustManagerудален. - Класс
MRGSAirLogудален. -
Класс
MRGSExtSDKудален. -
Метод
MRGService#instance()переименован вMRGService#getInstance(). - Метод
MRGService#initialized()удален. ИспользуйтеMRGService#isInitialized(). - Метод
MRGService#checkIntegration(MRGSIntegrationCheck.MRGSIntegrationCheckListener)удален. ИспользуйтеcheckIntegration(@Nullable Consumer<MRGSIntegrationCheckResult>). - Метод
MRGService#registerResultListener(ActivityResultListener)удален. - Метод
MRGService#unregisterResultListener(ActivityResultListener)удален. - Метод
MRGService#onActivityRes(Activity, int, int, Intent)удален. - Метод
MRGService#registerTransferManagerDelegate(String, MRGSTransferManagerDelegate)удален. - Метод
MRGService#unregisterTransferManagerDelegate(MRGSTransferManagerDelegate)удален. - Метод
MRGService#getIsRunService()удален. - Метод
MRGService#setAppContext(Context)удален. - Метод
MRGService#onStart(Activity)удален. - Метод
MRGService#onStop(Activity)удален. - Метод
MRGService#getSharedPreferences(String)удален. ИспользуйтеMRGSSharedPreferences#newInstance(String). - Метод
MRGService#getSharedPreferences(Context, String)удален. ИспользуйтеMRGSSharedPreferences#newInstance(Context, String). - Метод
MRGService#sendHandleException(String)удален. ИспользуйтеMRGSCrashReports#sendHandleException(String). -
Метод
MRGService#sendHandleException(String, String)удален. ИспользуйтеMRGSCrashReports#sendHandleException(String, String). -
Метод
MRGSLog#log(String)удален. -
Метод
MRGSMetrics.addPurchase(String, String, String)удален. ИспользуйтеMRGSMetrics.addPurchase(MRGSPurchaseEvent). -
Метод
MRGSUsers#instance()переименован вMRGSUsers#getInstance(). -
Метод
MRGSUsers#getCurrentUser()теперь возвращает MRGSUser вместо MRGSMap. -
Метод
MRGSDevice#instance()переименован вMRGSDevice#getInstance(). - Метод
MRGSDevice#useOldUDIDMethod()удален. - Метод
MRGSDevice#shouldUseOldUDIDMethod()удален. - Метод
MRGSDevice#generateDeviceIdOld(Context)удален. - Метод
MRGSDevice#getGoogleAccountPrimary()удален. - Метод
MRGSDevice#getODIN1()удален. - Метод
MRGSDevice#getIMEI()удален. - Метод
MRGSDevice#openSystemSettingsOfApplication()удален.MRGSDevice#openApplicationDetailsSettings(Context). -
Метод
MRGSDevice#getOldOpenUDID()переименован вMRGSDevice#getDeviceIdOrUUID(). -
Метод
MRGSApplication#instance()переименован вMRGSApplication#getInstance(). -
Метод
MRGSApplication#getApplicationBundleName()больше не будет возвращать null. -
Метод
MRGSServerData#instance()переименован вMRGSServerData#getInstance().
Модуль Advertising:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
ru.mail.mrgservice.MRGSAdvertisingConstsудален. - Класс
MRGSAdvertisingFactoryперемещен из пакетаru.mail.mrgserviceвru.mail.mrgservice.advertising. - Константа
MRGSAdvert.SHOW_FULLSCREENпомечена как@Deprecatedи будет удален в ближайшее будущее. - Метода
MRGSAdvert#showContent(int, String)помечен как@Deprecatedи будет удален в ближайшее будущее.
Модуль Analytics:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
ru.mail.mrgservice.MRGSGoogleConversionудален. - Класс
MRGSAnalyticsперемещен из пакетаru.mail.mrgserviceвru.mail.mrgservice.analytics. -
Класс
MRGSAppsFlyerперемещен из пакетаru.mail.mrgserviceвru.mail.mrgservice.analytics. -
Метод
MRGSAnalytics#getGoogleConversion()удален. - Метод
MRGSAppsFlyer#setCustomerUserId(String)удален. ИспользуйтеMRGSAppsFlyer#forceCustomerUserId(String)
Модуль Authentications
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
MRGSAmazonперемещен изru.mail.mrgservice.amazonвru.mail.mrgservice.authentication.amazon. - Класс
MRGSFacebookперемещен изru.mail.mrgservice.facebookвru.mail.mrgservice.authentication.facebook.. - Класс
MRGSGoogleGamesперемещен изru.mail.mrgservice.googlegamesвru.mail.mrgservice.authentication.googlegames. - Класс
MRGSMyGamesперемещен изru.mail.mrgservice.mygamesвru.mail.mrgservice.authentication.mygames. - Класс
MRGSVKперемещен изru.mail.mrgservice.vkвru.mail.mrgservice.authentication. - Класс
MRGSUserтеперь является интерфейсом а так же перемещен изfrom ru.mail.mrgserviceвru.mail.mrgservice.authentication.amazon. - Класс
FacebookUserудален. - Класс
MRGSCredentialsтеперь является интерфейсом. -
Класс
MRGSAuthInfoпомечен как @Deprecated. ИспользуйтеMRGSAccessToken. -
Интерфейс
MRGSAuthentication.ExternalLogoutCallbackпомечен как @Deprecated. ИспользуйтеMRGSAuthentication.OnExternalLogoutListener. - Интерфейс
MRGSSocialперемещен изru.mail.mrgservice.socialвru.mail.mrgservice.authentication. - Интерфейс
MRGSScoreперемещен изru.mail.mrgservice.gamesвru.mail.mrgservice.authentication. - Интерфейс
MRGSLeaderBoardsперемещен изru.mail.mrgservice.gamesвru.mail.mrgservice.authentication. - Интерфейс
MRGSAchievementsперемещен изru.mail.mrgservice.gamesвru.mail.mrgservice.authentication. -
Интерфейс
MRGSAuthInfoCallback.javaудален. -
Enum
MRGSAuthenticationNetwork.MRGSAuthenticationNetworkAmazonпереименован вMRGSAuthenticationNetwork.AMAZON. - Enum
MRGSAuthenticationNetwork.MRGSAuthenticationNetworkFacebookпереименован вMRGSAuthenticationNetwork.FACEBOOK. - Enum
MRGSAuthenticationNetwork.MRGSAuthenticationNetworkGoogleGamesпереименован вMRGSAuthenticationNetwork.GOOGLE_GAMES. - Enum
MRGSAuthenticationNetwork.MRGSAuthenticationNetworkMyGamesпереименован вMRGSAuthenticationNetwork.MY_GAMES. - Enum
MRGSAuthenticationNetwork.MRGSAuthenticationNetworkVKontakteпереименован вMRGSAuthenticationNetwork.VKONTAKTE. -
Enum
MRGSAuthenticationNetwork.Unknownпереименован вMRGSAuthenticationNetwork.UNKNOWN. -
Метод
MRGSAuthentication#loginWithScopes(List<String>, MRGSLoginCallback)помечен как @Deprecated. ИспользуйтеMRGSAuthentication#login(List<String>, MRGSLoginCallback). - Метод
MRGSAuthentication#getAuthInfo(BiConsumer<MRGSAuthInfo, MRGSError>)помечен как @Deprecated. ИспользуйтеMRGSAuthentication#getAccessToken(BiConsumer<MRGSAuthInfo, MRGSError>). - Метод
MRGSAuthentication#getUserAvatar(MRGSUser, MRGSAvatarCallback, int, int)помечен как @Deprecated. ИспользуйтеMRGSAuthentication#getUserAvatar(MRGSUser, int, int, MRGSAvatarCallback). -
Метод
MRGSAuthentication#setOnExternalLogoutCallback(ExternalLogoutCallback)помечен как @Deprecated. ИспользуйтеMRGSAuthentication#setOnExternalLogoutListener(OnExternalLogoutListener). -
Метод
MRGSAmazon#tryUpdateToken()удален. ИспользуйтеMRGSAmazon#getAccessToken(BiConsumer<MRGSAccessToken, MRGSError>). -
Метод
MRGSAchievement#achievementId()помечен как @Deprecated. ИспользуйтеMRGSAchievement#getAchievementId(). - Метод
MRGSAchievement#name()помечен как @Deprecated. ИспользуйтеMRGSAchievement#getName(). - Метод
MRGSAchievement#description()помечен как @Deprecated. ИспользуйтеMRGSAchievement#getDescription(). - Метод
MRGSAchievement#state()помечен как @Deprecated. ИспользуйтеMRGSAchievement#getState(). - Метод
MRGSAchievement#currentSteps()помечен как @Deprecated. ИспользуйтеMRGSAchievement#getCurrentSteps(). - Метод
MRGSAchievement#totalSteps()помечен как @Deprecated. ИспользуйтеMRGSAchievement#getTotalSteps(). -
Метод
MRGSAchievement#completionPercent()помечен как @Deprecated. ИспользуйтеMRGSAchievement#getCompletionPercent(). -
Метод
MRGSCredentials#setUserId(String)удален. - Метод
MRGSCredentials#setUser(MRGSUser)удален. - Метод
MRGSCredentials#setAuthInfo(MRGSAuthInfo)удален. -
Метод
MRGSCredentials#getAuthInfo()помечен как @Deprecated. ИспользуйтеMRGSCredentials#getAccessToken(). -
Метод
MRGSLeaderboard#leaderboardId()помечен как @Deprecated. ИспользуйтеMRGSLeaderboard#getLeaderboardId(). -
Метод
MRGSLeaderboard#name()помечен как @Deprecated. ИспользуйтеMRGSLeaderboard#getName(). -
Метод
MRGSScore#leaderboardId()помечен как @Deprecated. ИспользуйтеMRGSScore#getLeaderboardId(). - Метод
MRGSScore#rank()помечен как @Deprecated. ИспользуйтеMRGSScore#getRank(). - Метод
MRGSScore#displayRank()помечен как @Deprecated. ИспользуйтеMRGSScore#getDisplayRank(). - Метод
MRGSScore#rawScore()помечен как @Deprecated. ИспользуйтеMRGSScore#getRawScore(). - Метод
MRGSScore#displayScore()помечен как @Deprecated. ИспользуйтеMRGSScore#getDisplayScore(). -
Метод
MRGSScore#player()помечен как @Deprecated. ИспользуйтеMRGSScore#getPlayer(). -
Метод
MRGSUser#userId()помечен как @Deprecated. ИспользуйтеMRGSUser#getUserId(). - Метод
MRGSUser#nick()помечен как @Deprecated. ИспользуйтеMRGSUser#getNickName(). - Метод
MRGSUser#firstName()помечен как @Deprecated. ИспользуйтеMRGSUser#getFirstName(). - Метод
MRGSUser#lastName()помечен как @Deprecated. ИспользуйтеMRGSUser#getLastName(). - Метод
MRGSUser#middleName()помечен как @Deprecated. ИспользуйтеMRGSUser#getMiddleName(). - Метод
MRGSUser#fullName()помечен как @Deprecated. ИспользуйтеMRGSUser#getFullName(). - Метод
MRGSUser#displayName()помечен как @Deprecated. ИспользуйтеMRGSUser#getDisplayName(). - Метод
MRGSUser#gender()помечен как @Deprecated. ИспользуйтеMRGSUser#getGender(). - Метод
MRGSUser#birthDate()помечен как @Deprecated. ИспользуйтеMRGSUser#getBirthDate(). - Метод
MRGSUser#location()помечен как @Deprecated. ИспользуйтеMRGSUser#getLocation(). - Метод
MRGSUser#socialId()помечен как @Deprecated. ИспользуйтеMRGSUser#getSocialId().
Модуль Billing:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
MRGSBillingперемещен изru.mail.mrgserviceвru.mail.mrgservice.billing. - Класс
MRGSPurchaseItemпереименован вMRGSBillingProductи перемещен изru.mail.mrgserviceвru.mail.mrgservice.billing. - Класс
MRGSBillingEntitiesперемещен изru.mail.mrgserviceвru.mail.mrgservice.billing. - Класс
MRGSMyGamesBillingперемещен изru.mail.mrgserviceвru.mail.mrgservice.billing. - Интерфейс
MRGSBillingDelegateудален. -
Интерфейс
MRGSBillingDelegateExпереименован вMRGSBillingDelegateи перемещен изru.mail.mrgserviceвru.mail.mrgservice.billing. -
Метод
MRGSBilling#instance()переименован вMRGSBilling#getInstance(). - Метод
MRGSBilling#requestProductsInfoWithRequest(MRGSBankProductsRequest)переименован вMRGSBilling#requestProductsInfo(MRGSBankProductsRequest). - Метод
MRGSBilling#buyItem(String sku, final String type)удален. ИспользуйтеMRGSBilling#buyItem(String sku). - Метод
MRGSBilling#buyItem(String sku, String type, String developerPayload)удален. ИспользуйтеMRGSBilling#buyItem(String sku, String developerPayload). - Метод
MRGSBilling#buyItem(final MRGSPurchaseItem purchase)удален. ИспользуйтеMRGSBilling#buyItem(MRGSBankPurchaseRequest). - Метод
MRGSBilling#setDelegate(MRGSBillingDelegateEx)удален. - Метод
MRGSBilling#changeItem(String, String, String)удален. ИспользуйтеMRGSBilling#buyItem(MRGSBankPurchaseRequest). - Метод
MRGSBilling#changeItem(String, String, String, String)удален. ИспользуйтеMRGSBilling#buyItem(MRGSBankPurchaseRequest). - Метод
MRGSBilling#changeItem(MRGSPurchaseItem, MRGSPurchaseItem)удален. ИспользуйтеMRGSBilling#buyItem(MRGSBankPurchaseRequest). - Метод
MRGSBilling#getProductsInfo(ArrayList<String>)удален. ИспользуйтеMRGSBilling#requestProductsInfo(MRGSBankProductsRequest). - Метод
MRGSBilling#getProductsInfoWithTypes(ArrayList<Pair<String, String>>)удален. ИспользуйтеMRGSBilling#requestProductsInfo(MRGSBankProductsRequest). - Метод
MRGSBilling#getProductsInfoFromPurchaseInfo(ArrayList<MRGSBillingProduct>)удален. ИспользуйтеMRGSBilling#requestProductsInfo(MRGSBankProductsRequest). - Метод
MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem)изменен наMRGSBilling#notifyMRGSAboutConsume(String sku, String transactionId) -
Метод
MRGSBilling#closePayment(MRGSPurchaseItem)удален. ИспользуйтеMRGSBilling#notifyMRGSAboutConsume(String sku, String transactionId) -
Метод
MRGSBillingProduct#createWithPurchaseInfo(String)удален. - Метод
MRGSBillingProduct#createWithPurchaseInfoWithType(String, String)удален. - Метод
MRGSBillingProduct#fromJSON(String)удален. - Метод
MRGSBillingProduct#setSku(String)удален. - Метод
MRGSBillingProduct#setIntroductoryPeriod(String)удален. - Метод
MRGSBillingProduct#setType(String)удален. - Метод
MRGSBillingProduct#getDictionary()удален. - Метод
MRGSBillingProduct#getPurchaseToken()удален. - Метод
MRGSBillingProduct#setPurchaseToken(String token)удален. - Метод
MRGSBillingProduct#getTransactionId()удален. ИспользуйтеMRGSBankTransaction#getTransactionIdentifier(). - Метод
MRGSBillingProduct#getTransactionReceipt()удален. - Метод
MRGSBillingProduct#getResultCode()удален. - Метод
MRGSBillingProduct#getRawPurchaseInfo()удален. ИспользуйтеMRGSBankTransaction#getRawPurchaseResult(). - Метод
MRGSBillingProduct#getDeveloperPayload()удален. ИспользуйтеMRGSBankPurchaseResult#getDeveloperPayload(). - Метод
MRGSBillingProduct#setDeveloperPayload(String)удален. -
Метод
MRGSBillingProduct#getUserId()удален. -
Метод
MRGSBillingDelegate#onReceiveProductsResponceпереименован вMRGSBillingDelegate#onReceiveProductsResponse. - Метод
MRGSBillingDelegate#onReceiveSuccessfullPurchaseпереименован вMRGSBillingDelegate#onReceiveSuccessfulPurchase.
Модуль Firebase:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
MRGSFirebaseAnalyticsперемещен изru.mail.mrgserviceвru.mail.mrgservice.firebase.
Модуль GameCenter:
- Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
Модуль GDPR:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
MRGSGDPRперемещен изru.mail.mrgserviceвru.mail.mrgservice.gdpr. - Класс
MRGSGDPR.MRGSGDPRFactoryудален. ИспользуйтеMRGSGDPR#getInstance(). -
Интерфейс
MRGSCOPPA.OnResponseCallbackудален из публичного API, так как предназначен для внутренней работы. -
Метод
MRGSGDPR#showAgreementAtActivity(Activity, String, String, int)удален. ИспользуйтеMRGSGDPR#showAgreementAtActivity(Activity, String, String). - Метод
MRGSGDPR#shouldShowGDPRForVersion(Activity, String, int, boolean, MRGSGDPRAsyncStatus)удален. ИспользуйтеMRGSGDPR#shouldShowGDPRForVersion(Activity, String, boolean, MRGSGDPRAsyncStatus). - Метод
MRGSGDPR#setUserHasAcceptedAgreementWithVersion(Context, int, boolean, boolean, String)удален. ИспользуйтеMRGSGDPR#setUserHasAcceptedAgreementWithVersion(Context, boolean, boolean, String). - Метод
MRGSCCPA#fetchCountyIfNeeded()удален из публичного API, так как предназначен для внутренней работы. - Метод
MRGSCOPPA#isUnderUk(Consumer<Boolean>)удален из публичного API, так как предназначен для внутренней работы. - Метод
MRGSCOPPA#shouldShowCoppa(Consumer<Boolean>)удален из публичного API, так как предназначен для внутренней работы. - Метод
MRGSCOPPA#shouldShowCoppa(Context, Consumer<Boolean>)удален из публичного API, так как предназначен для внутренней работы. - Метод
MRGSCOPPA#sendEmail(String, OnResponseCallback<MRGSSendEmailResult>)удален из публичного API, так как предназначен для внутренней работы. - Метод
MRGSCOPPA#checkEmails(List<String>, OnResponseCallback<MRGSCheckEmailResult>)удален из публичного API, так как предназначен для внутренней работы.
Модуль Recommendations:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
MRGSRecommendationsперемещен изru.mail.mrgserviceвru.mail.mrgservice.recsys. -
Метод
MRGSRecommendations#offerView(String, MRGSMap)удален. ИспользуйтеMRGSRecommendations#trackEvent(MRGSRecSysEvent). - Метод
MRGSRecommendations#offerClick(String, MRGSMap)удален. ИспользуйтеMRGSRecommendations#trackEvent(MRGSRecSysEvent). - Метод
MRGSRecommendations#offerBuy(String, MRGSMap)удален. ИспользуйтеMRGSRecommendations#trackEvent(MRGSRecSysEvent).
Модуль MyTarget:
- Данный модуль был полностью удален.
Модуль Notifications:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Класс
MRGSGDPRперемещен изru.mail.mrgserviceвru.mail.mrgservice.gdpr. - Класс
MRGSPushNotificationsудален. ИспользуйтеMRGSNotificationCenter. - Класс
MRGSLocalPushServiceудален. ИспользуйтеMRGSNotificationCenter. - Класс
MRGSLocalPushAutoStartReceiverудален. - Класс
MRGSPushNotification.MRGSPushNotificationChannelудален. Используйтеru.mail.mrgservice.MRGSNotificationChannel. -
Класс
MRGSPushNotification.MRGSPushNotificationChannelsGroupудален. Используйтеru.mail.mrgservice.MRGSNotificationChannelGroup. -
Интерфейс
MRGSPushNotificationHandler.MRGSPushNotificationDelegateудален -
Интерфейс
MRGSPushNotificationHandler.MRGSPushNotificationDelegateExпереименован вMRGSPushNotificationHandler.MRGSPushNotificationDelegate. -
Интерфейс
MRGSPushNotificationHandler.MRGSPushNotificationGroupDelegateудален -
Интерфейс
MRGSPushNotificationHandler.MRGSPushNotificationExGroupDelegateпереименован вMRGSPushNotificationHandler.MRGSPushNotificationGroupDelegate. -
Метод
MRGSNotificationCenterImpl.getInstance()удален. ИспользуйтеMRGSNotificationCenter.getInstance(). - Метод
MRGSPushNotification.getCutomTextStrings()переименован вMRGSPushNotification.getCustomTextStrings(). - Метод
MRGSPushNotificationHandler#setDelegate(MRGSPushNotificationDelegateEx)удален.
Модуль Showcase:
- Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
Модуль Support:
-
Теперь данный модуль можно подключить через Maven репозиторий. Смотри Интеграция SDK.
-
Конструктор
MRGSMyComSupportDialog(Activity, String)удален. ИспользуйтеMRGSMyComSupportDialog(Activity). - Конструктор
MRGSMyComSupportDialog(Activity, String, boolean)удален. ИспользуйтеMRGSMyComSupportDialog(Activity).
Подробнее о новых функциях и их использовании читайте в документации.
v4.18.5 Release (06-06-2022)🔗
В данной версии:
Модуль MRGService:
- Добавлена поддержка удаленного выставления proxy-сервера для запросов MyTracker
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.18.4 Release (23-05-2022)🔗
В данной версии:
Модуль Notifications:
- Исправлен краш в предыдущем релизе, при попытке восстановить локальные пуши из кэша при перезапуске приложения.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.18.3 Release (17-05-2022)🔗
В данной версии:
Модуль Notifications:
- Исправлен краш в предыдущем релизе при попытке создать локальный кастомный пуш, если не удалось найти ресурсы.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.18.2 Release (04-05-2022)🔗
В данной версии:
Модуль Advertising:
- Изменен размер кнопок с 30dp до 35dp.
Модуль Notifications:
- Исправлены ошибки при отображении уведомлений после обновления приложения из-за смены ids ресурсов после перекомпиляции.
Модуль Showcase:
- Добавлена возможность скрыть заголовок витрины удаленно
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.18.1 Release (08-04-2022)🔗
В данной версии:
Модуль MRGService:
-
Изменено поведения
MRGService#getServerTime(). Теперь serverTime не будет сбрасываться на0при сворачивании приложения. Подробней об изменениях. -
Исправлена ошибка с бесконечной отправкой сетевых запросов при проблемах с сетью.
Модуль Authentication:
- Исправлена ошибка
Class not found when unmarshallingдляVkавторизации.
Модуль Bank:
- Добавлена передача
номера версииисборкив платежах VKPay на сервер MRGS.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.18.0 Release (24-03-2022)🔗
В данной версии:
Модуль MRGService:
- Добавлен новый метод
MRGSDevice#getGeoIpInfo(BiConsumer<MRGSGeoIpInfo, MRGSError>)для определения географическое положение устройства с доступом в Интернет по его IP-адресу. Подробней смотрите Географическое положение по IP.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.17.0 Release (22-03-2022)🔗
В данной версии:
Модуль MRGService:
- Метод
MRGSApplication#instance()помечен как@Deprecatedи будет удален в ближайшее время. ИспользуйтеMRGSApplication#getInstance()вместо старого метода. - Метод
MRGSDevice#instance()помечен как@Deprecatedи будет удален в ближайшее время. ИспользуйтеMRGSDevice#getInstance()вместо старого метода. - Метод
MRGService#instance()помечен как@Deprecatedи будет удален в ближайшее время. ИспользуйтеMRGService#getInstance()вместо старого метода. - Метод
MRGSServerData#instance()помечен как@Deprecatedи будет удален в ближайшее время. ИспользуйтеMRGSServerData#getInstance()вместо старого метода. - Метод
MRGSUsers#instance()помечен как@Deprecatedи будет удален в ближайшее время. ИспользуйтеMRGSUsers#getInstance()вместо старого метода.
Модуль Bank:
- Улучшена обработка ошибок в MyGamesBank
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.16.0 Release (18-03-2022)🔗
В данной версии:
Все модули:
- Все классы MRGS***Version помечены как
@Deprecatedи будут удалены в ближайшее время. Теперь версии можно найти в BuildConfig каждого модуля.
Модуль Bank:
-
Добавлена поддержка VKPay (Market|MyGames) платежей - альтернативный способ оплаты покупок при размещении вне магазинов приложений. Подробнее смотрите на странице описания системы
-
Метод
MRGSBilling#instance()помечен как@Deprecated. ИспользуйтеMRGSBilling#getInstance().
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.15.0 Release (25-02-2022)🔗
В данной версии:
Модуль MRGService:
-
Добавлен новый метод
MRGSDevice#getAdvertisingId(Context, AdvertisingIdCallback)для асинхронного получения IDFA. Подробней в документации. -
Исправлена ошибка из-за которой не отправлялись метрики из MRGSMetrics в AppsFlyer при включенном forwardMetrics.
Модуль Support:
- Удален
android.permission.READ_EXTERNAL_STORAGEиз манифеста. - android.permission.WRITE_EXTERNAL_STORAGE теперь используется только для андроид 8 и ниже.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.14.0 Release (07-02-2022)🔗
В данной версии:
Модуль MRGService:
- Обновлен MyTracker SDK с
3.0.2до3.0.4. Подробней об изменениях. -
Теперь, в результате проверки интеграции, будет выводиться часть секретного ключа MRGS SDK.
-
Исправлена ошибка, из-за которой в лог выводилась проблема о парсинге JSONArray при включенном MRGService debug. Данная ошибка никак не влияла на функциональность SDK.
Модуль Analytics:
- Обновлен AppsFlyer SDK с
6.5.0до6.5.2. Подробней об изменениях. - Добавлена дополнительная отправка данных по платежу таких как:
af_content_id(sku товара) иaf_order_id(orderId из чека).
Модуль Authentication:
-
Добавлен новый метод
MRGSAuthentication#getAuthInfo(BiConsumer<MRGSAuthInfo, MRGSError>)для получения AccessToken асинхронно, это позволит всегда получать актуальный и валидный токен. -
Метод
MRGSAuthentication#getAuthInfo()был помечен как deprecated. -
Исправлена ошибка с указанием неправильного времени срока действия токена для авторизации MRGSAuthenticationVKontakte, теперь будет возвращаться 0 вместо времени создания токен.
- Исправлена ошибка когда разлогинивался пользователь в MRGSVK при инициализации MRGService SDK при отсутствии интернета.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.13.0 Release (24-01-2022)🔗
В данной версии:
Модуль MRGService:
- Добавлен новый метод
MRGSTracker#trackUserProfile(MRGSTrackerUserProfile)для отправки профиля пользователя в систему кастомных логов (событий). Подробней смотрите в документации. - Понижена версия библиотеки appcompat с
1.3.1до1.2.0, поскольку новая версия требует обновления проекта до targetSdkVersion 31.
Модуль Advertising:
- Исправлен приватный метод открытия ссылки в PlayableAds в формате mraid.
Модуль Authentication:
- Исправлена ошибка, из-за которой система могла создать другой экземпляр CustomTabActivity для Facebook или MyGames при передаче результата, и это могло привести к сбою.
- Исправлена ошибка с неправильным сохранением состояния Activity.
Модуль GDPR:
- Добавлен новый метод
MRGSGDPR#resetModule(Context)для сброса факта принятия соглашения и всех данных в GDPR, COPPA. Также сбрасывает настройки по CCPA и выставляет их в статус разрешено отслеживание третьими лицами в случае, если ранее отслеживание было выключено. То есть полный сброс модуля GDPR к состоянию заново установленного приложения. Данный метод нужно вызывать ТОЛЬКО в случае, когда пользователь потребовал удалить свой аккаунт по закону GDPR, его удалили, и нужно сбросить факт его принятия соглашения на клиенте, чтобы снова было показано окно GDPR/COPPA для нового аккаунта пользователя.
Модуль Support:
- Добавлена возможность создания запроса на удаление всех своих данных пользователем (GDPR). Подробней смотрите в документации.
Модуль Showcase:
- Изменен дизайн витрины.
- Изменено поведение для расчета уведомления. Теперь если заново придет реклама, которую юзер уже видел, то уведомления больше не будет передаваться в делегат.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.12.2 Release (16-12-2021)🔗
В данной версии:
Модуль MRGService:
- Обновлен MyTracker SDK с
3.0.1до3.0.2, который включает поддержку Appset id. Подробней об изменениях. - Обновлен Appset SDK с
16.0.0до16.0.1.
Модуль Analytics:
- Обновлен AppsFlyer SDK с
6.3.2до6.5.0. Подробней об изменениях.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.12.1 Release (13-12-2021)🔗
Модуль Bank:
- Исправлено неправильное поведение, когда в разные методы
callback'амог возвращатьсяdeveloperPayloadс разной структурой. Теперь будет возвращаться только тот вариант, который изначально передавался в момент покупки.
Модуль GDPR:
- Исправлена ошибка с долгим возвращением ответа при вызове
MRGSCOPPA#showCOPPAFlowIfNeeded, если нет интернета.
Модуль Authentication:
- Исправлен редкий краш при попытке авторизоваться через Facebook на мобильном устройстве.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.12.0 Release (07-12-2021)🔗
В данной версии:
Модуль MRGService:
- Добавлен новый метод
MRGSMyTracker#forceCustomUserId(String), который позволяет устанавливать идентификатор пользователя клиента (customUserId) перед инициализацией MRGService. Подробней смотрите в документации. - Добавлена поддержка App set ID.
-
Добавлен новый метод
MRGSDevice#getVendorId(Context, OnVendorIdCallback)который вернет AppSet id для Google store, ODID для Huawei store или null для остальных магазинов приложений. -
Метод
MRGSDevice#openSystemSettingsOfApplication()помечен как@Deprecated, вместо него используйтеMRGSDevice#openApplicationDetailsSettings(Context). - Метод
MRGSDevice#getODIN1()помечен как@Deprecatedи будет удален в конце 2021 года. - Метод
MRGSDevice#getGoogleAccountPrimary()помечен как@Deprecatedи будет удален в конце 2021 года. - Удалена отправка уникальных идентификаторов по сети таких как Build.SERIAL и Wi-Fi MAC address, по причине предупреждений со стороны Google.
- Изменена работа метода
MRGSDevice#getOpenUDID(CallbackOpenUDID), по причине что данный метод не мог правильно сгенерировать openUDID до инициализации MRGService. Теперь данный метод может вернуть null, если его вызвать на самом первом запуске приложения до инициализации MRGService.
Модуль Advertising:
- Исправлена долгая загрузка рекламы, которая могла занимать от 0 до 5 секунд.
- Исправлена ошибка, при которой могла заблокироваться кнопка "закрыть", при показе видео.
- Исправлена рассинхронизация между счетчиком времени в кнопке и видеоплеером.
Модуль Analytics:
-
Добавлен новый статичный метод
MRGSAppsFlyer#forceCustomerUserId(String), который позволяет устанавливать идентификатор пользователя клиента (customerUserId) перед инициализацией MRGService. Подробней смотрите в документации. -
Метод
MRGSAppsFlyer#setCustomerUserId(String)помечен как@Deprecated, вместо него используйтеMRGSAppsFlyer#forceCustomerUserId(String).
Модуль Bank:
- Исправлена ошибка с разбором json, когда
JSONObject.optStringмог вернуть "null" вместо "" для Facebook Cloud биллинга.
Модуль GDPR:
- Добавлен метод
MRGSGDPR#openLinkInWebView(Context context, String title, String url)для открытия внешних ссылок GDPR в WebView для Facebook Cloud. - Исправлена ошибка, когда два события об
открытииипринятииGDPR имели разные хэши.
Модуль Support:
- Улучшена проверка тикетов (MRGSMyComSupport#checkTickets(Context)) в виджете поддержки - теперь проверка будет работать быстрее и меньше нагружать сервер поддержки.
- Удалена поддержка старого MyGames Support виджета.
- Удален метод
MRGSMyComSupport#checkTicketsOld(Context), который использовался для старого виджета. - Удален метод
MRGSMyComSupport#saveInfo(String, String), который использовался для старого виджета. - Удален метод
MRGSMyComSupport#getSecret(), который использовался для старого виджета. - Удален метод
MRGSMyComSupport#setSecret(String), который использовался для старого виджета. - Удален метод
MRGSMyComSupportDialog.Builder#setSecret(String), который использовался для старого виджета.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSDevice#getODIN1():String | Больше не используется |
| MRGSDevice#getGoogleAccountPrimary():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.11.0 Release (03-11-2021)🔗
В данной версии:
Модуль MRGService:
- Добавлена поддержка Android 12.
- Добавлен новый метод
MRGSError#getDomain, чтобы можно было различать ошибки произошедшие в модулях MRGS или в других библиотеках. - Обновлен MyTracker SDK с
3.0.0до3.0.1. - Обновлен
com.google.gms:google-servicesс4.3.5до4.3.10. - Обновлен
com.huawei.agconnect:agcpс1.4.1.300до1.6.0.300. - Обновлен
com.huawei.hms:ads-identifierс3.4.34.301до3.4.39.302. - Обновлен
com.huawei.hms:opendeviceс5.0.4.300до5.1.1.307. - Исправлена редкая ошибка из-за которой
MRGSMetrics#addPurchaseтерял события, которые не успели уйти во время игровой сессии, после перезапуска приложения.
Модуль Advertising
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Обновлен
androidx.recyclerview:recyclerviewс1.0.0до1.2.1.
Модуль Analytics
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1.
Модуль Authentication:
- Увеличено количество доступных браузеров для авторизации. Раньше использовался только Chrome.
- Удален WebView как один из способов авторизоваться в Facebook, так как данный способ больше не поддерживается. Так же в колбек будет приходить ошибка с кодом -110 и описанием Browser not found если на девайсе нет браузера.
- Исключены возможности авторизоваться при помощи Facebook или Google в MyGames если используется WebView, так данные соцсети больше не поддерживают WebView.
- Обновлен Facebook graph api версия с
6.0до11.0. - Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Обновлен
androidx.browser:browserс1.0.0до1.3.0. - Обновлен
com.google.android.gms:play-services-authс18.0.0до21.0.0. - Обновлен
com.google.android.gms:play-services-gamesс19.0.0до19.2.0. - Обновлен с
com.vk:androidsdk:2.7.0доcom.vk:android-sdk-core:3.3.0. ВНИМАНИЕ!!! Теперь для работы VK авторизации требуетсяminSdkVersion="21"(Андроид 5.0+). - Исправлен
NullPointerExceptionвCustomTabMainActivityпри попытке авторизоваться через MyGames.
Модуль Bank:
- Добавлена поддержка AppTouch. Данная возможность включается автоматически и не требует дополнительных настроек.
- Добавлена проверка на размер
developerPayload, если он больше 255 байт то будет возвращена ошибка при попытке совершить платеж. - Добавлена видимость пакета для Samsung биллинга, под андроид 11.
- Исправлена ошибка по сбору типа валюты для платежей Samsung для модуля MRGSBilling. Раньше забирали код из "79.99$", но данный код может быть использован у разных валют из-за чего статистика была не правильной. Теперь будет отсылаться код валюты RUB, EUR, etc. Данной ошибки нет, если платежи слались через MRGSMetrics#addPurchase(MRGSPurchaseEvent).
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Обновлен
com.huawei.hms:iapс5.1.0.300до6.1.0.300.
Модуль Firebase:
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Обновлен
com.google.firebase:firebase-analyticsс18.0.2до19.0.2.
Модуль GameCenter:
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Обновлен
androidx.recyclerview:recyclerviewс1.0.0до1.2.1.
Модуль GDPR:
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1.
Модуль Notifications:
- Теперь
MRGSPushNotification#setCustomViewImageбудет искать изображение не только в drawable но и в mipmap, если изображения не оказалось в drawable. - Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Обновлен
com.google.firebase:firebase-messagingс21.0.1до22.0.0. - Обновлен
com.huawei.hms:pushс5.0.4.302до6.1.0.300.
Модуль Recommendations:
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1.
Модуль Showcase:
- Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Обновлен
androidx.recyclerview:recyclerviewс1.0.0до1.2.1. - Исправлены потенциальные утечки памяти.
Модуль Support:
- Добавлена поддержка авторизации VK при открытии виджета поддержки.
- Старый виджет помечен как @Deprecated и будет удален в следующем релизе.
- Метод
MRGSMyComSupport#getSecretпомечен как @Deprecated и будет удален к концу года. - Метод
MRGSMyComSupport#setSecretпомечен как @Deprecated и будет удален к концу года. - Метод
MRGSMyComSupportDialog.Builder#setSecretпомечен как @Deprecated и будет удален к концу года. - Обновлен
androidx.appcompat:appcompatс1.2.0до1.3.1. - Исправлены потенциальные утечки памяти.
Переход на новый виджет сапорта
В следующем релизе мы уберем поддержку старого виджета сапорта. На клиенте теперь не нужно будет выставлять секрет и идентификатор проекта - секрет хранится на сервере, а projectId будет равен mrgsAppId. Для того, чтобы подготовиться, проверьте работу нового виджета в своем проекте(обычно проблемы возникают с тестовым приложением, т.к. projectId равен mrgsAppId. Это значит, что тестового проекта в сапорте может не быть, в таком случае нужно запросить его создание)
VK авторизация
Теперь для работы VK авторизации требуется Android 5.0+ (Api level 21+)
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
| MRGSSupport модуль | Причина |
|---|---|
| MRGSMyComSupport#getSecret():String | Использовался для старого Widget |
| MRGSMyComSupport#setSecret(String) | Использовался для старого Widget |
| MRGSMyComSupportDialog.Builder#setSecret(String) | Использовался для старого Widget |
Подробнее о новых функциях и их использовании читайте в документации.
v4.10.0 Release (01-10-2021)🔗
В данной версии:
Модуль MRGService:
- Добавлена поддержка событий отправки сообщений в чате и переписках в игре с помощью
MRGSTracker(передача логов чатов по закону Яровой). - Добавлена возможность проверить правильно ли указали
client idдля MyGames авторизации, через проверку интеграции.
Модуль Authentication:
- Теперь в авторизацию MyGames будет передаваться локаль девайса, для того чтобы сменить язык интерфейса. Локаль будет передаваться если будет выставлен флаг в MRGS remote конфиге.
- Исправлено обновление токена в MyGames авторизации внутри одной игровой сессии (раньше токен обновлялся только на старте приложения).
- Исправлен возможный показ окна "перейдите по ссылке" в авторизации MyGames, если использовался WebView.
Модуль Bank:
- Исправлена ошибка
INVALID_PARAMETER, errorMessage: This operation duplicates an unresolved requestпри множественном вызове методаisBillingAvailableдля FacebookCloud.
Модуль GDPR:
- Добавлена поддержка частных ссылок на Privacy policy в GDPR при показе дефолтного/кастомного HTML с локализацией. Достаточно прописать ссылку на policy в админке MRGS.
- Исправлен краш
java.lang.NullPointerExceptionв COPPA.
Модуль Support:
- Добавлена поддержка авторизации в виджете поддержки - теперь виджет стал безопаснее, и позволит связывать запросы пользователей с аккаунтами в соцсетях. При использовании модуля MRGSAuthentication авторизация подтянется автоматически.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.9.3 Release (21-09-2021)🔗
В данной версии:
Модуль MRGService:
-
Обновлен facebook-gamingservices SDK с
11.0.0до11.2.0. -
Добавлено ограничение на размер отсылаемых унифицированных логов в размере 128кб.
Модуль Advertising:
- Исправлена ошибка при проверке хеш-суммы, если от сервера пришел не валидный md5 хеш.
Модуль GDPR:
- Исправлена поддержка андроид "челки" для COPPA диалогового окна.
- Изменен текст в окне с показом ограничения на игру в COPPA
Модуль Notifications:
- Исправлена ошибка с отправкой локальных пуш-уведомлений для Facebook Cloud.
Модуль Showcase:
- Исправлена ошибка при проверке хеш-суммы, если от сервера пришел не валидный md5 хеш.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.9.2 Release (17-09-2021)🔗
В данной версии:
Модуль GDPR:
- Исправлен краш
IllegalStateException: Can not perform this action after onSaveInstanceStateпри попытке показать окно COPPA, если пользователь свернул приложение в момент запуска окна.
Модуль Notifications:
- Исправлен краш при попытке отправить метрики о
получении пуш-уведомленияилипопытке открыть приложение через пуш. - Исправлен краш при попытке открыть приложение по локальному пуш-уведомлению.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.9.1 Release (16-09-2021)🔗
В данной версии:
Модуль MRGService:
- Исправлена ошибка при получении application context.
- Исправлена ошибка при попытке получить токен для нового сетевого api.
Модуль GDPR:
- Изменилось поведение проверки страны юзера для COPPA. Теперь если не удалось определить страну пользователя по ip адресу, то будет возвращен результат что пользователь не попадает под COPPA.
- Изменилось поведение проверки страны юзера для COPPA. Теперь страна проверяется только по ip адресу.
Модуль Support:
- Исправлена ошибка Class not found when unmarshalling: MyComSupportParams при попытке открыть MyGames Support на старых устройствах Samsung.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.9.0 Release (03-09-2021)🔗
В данной версии:
Модуль Authentication:
- Добавлена поддержка авторизации Facebook Login For Gaming.
- Добавлена поддержка авторизации в Facebook Cloud. Подробнее смотри документацию.
Модуль Bank:
- Добавлена поддержка биллинга для Facebook Cloud. Подробнее смотри документацию
Модуль GDPR:
- Добавлена поддержка закона COPPA. Подробнее смотри документацию.
Пуш-уведомления
Была добавлена основа для будущих пуш-уведомлений в Facebook Cloud. Теперь данный MRGSNotifications модуль нельзя использовать до инициализации MRGService.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.8.1 Release (25-08-2021)🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена ошибка выставления дополнительных параметров для метрик в методе класса
MRGSMetrics#addMetric.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.8.0 Release (24-08-2021)🔗
В данной версии:
Модуль MRGService (базовый):
- Добавлена поддержка новой системы для сбора внутриигровых логов(событий). См. подробней документацию.
- Изменен способ отправки метрик в
MRGSMetrics#addMetric, теперь они отсылаются по новому серверному api. - Обновлен MyTracker SDK с 2.1.2 до 3.0.0.
- Исправлена ошибка при попытке привести
StringкMRGSMapпри проверке интеграции, если сервер не вернулresponse.
Модуль Analytics:
- Улучшен трекинг платежей. Теперь информация по новым платежам отправляется лишь единожды, что позволяет избежать дубликатов в статистике.
- Обновлен Appsflyer SDK с 6.2.3 до 6.3.2.
Модуль Firebase:
- Улучшен трекинг платежей. Теперь информация по новым платежам отправляется лишь единожды, что позволяет избежать дубликатов в статистике.
Модуль Showcase:
- Исправлена ошибка при проверке хеш-сумм баннеров, что влияло на показ баннера в витрине.
Модуль Recommendations:
- Добавлена поддержка отправки новых типов событий для рекомендательной системы (RecSys). Подробнее смотрите в документации.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.7.0 Release (06-08-2021)🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена проблема с
idfaсостоящим из одних нулей дляHuaweiстора. Теперь для более точной статистики требуется подключитьcom.huawei.hms:opendevice:<version>библиотеку. - Добавлена новая функция MRGSDevice#retrieveGoogleAdvertisingId(AdvertisingIdCallback) для получения GAID.
Модуль Analytics:
- Добавлен функционал из AppsFlyer для генерации ссылок. Подробней см. Генерация ссылок
Модуль Authentication:
-
Google
- Исправлена ошибка логина для таргета 30+ (Android 11+) из-за отсутствия записи
<package android:name="com.google.android.play.games" />в manifest файле SDK. - Исправлена ошибка из-за которой, в момент логина, всегда писалась ошибка в лог
MRGSGoogleGames getSignInClient no activity attached!!!
- Исправлена ошибка логина для таргета 30+ (Android 11+) из-за отсутствия записи
-
MyGames
- Исправлена проблема авторизации, если у пользователя включена двухфакторная аутентификация.
Модуль Billing:
- MRGSBilling#setDelegate(MRGSBillingDelegate) помечен как
@Deprecated. Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx). - MRGSBilling#getProductsInfo(ArrayList) помечен как
@Deprecated. Для запроса продуктов следует использовать более новые методы, например MRGSBilling#requestProductsInfoWithRequest(MRGSBillingEntities.MRGSBankProductsRequest) -
MRGSBillingDelegate.class помечен как
@Deprecated. Используйте MRGSBillingDelegateEx.class -
Samsung
- Исправлена ошибка выставления
developerPayloadпри вызове функции - восстановление транзакций.
- Исправлена ошибка выставления
Модуль Firebase:
- Исправлен NullPointerException если был подключен модуль но не было подключено
Firebase SDK, то в некоторых случаях модуль мог бросить ошибку.
Модуль GDPR:
- Изменено время отправки события
принятие GDPR, так как для его отправки требуется знать MRGS платформу. Теперь данное событие отсылается после инициализации MRGService. - Исправлена проблема с обновлением
версии GDPRотдельно для каждого приложения. Теперь для каждого приложения можно указатьверсию GDPRв конфиге на сервере MRGS
Модуль MyGamesSupport:
- Исправлена ошибка для нового виджета, из-за которой поле
extra_paramsпередавалось в полеlocaleи не обрабатывался на сервере.
Модуль Showcase:
- Удален таймер который блокировал нажатие баннеров если с сервера присылали
click_timeбольше 0. - Изменено поведение отправки кол-во событий
клика по баннерамза одни показ витрины. Раньше, за один показ витрины, можно было отправить не больше одногособытия кликапо каждому баннеру, теперь данного ограничения нет.
Удаление @Deprecated классов и методов. Конец 2021 года
Мы планируем удалить методы, которые были отмечены как @Deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. В случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами:
| MRGService модуль | Причина |
|---|---|
| MRGService#onStart(Activity) | Больше не используется |
| MRGService#onStop(Activity) | Больше не используется |
| MRGSMetrics#addPurchase(String, String, String) | Используйте MRGSMetrics#addPurchase(MRGSPurchaseEvent) |
| MRGSDevice#useOldUDIDMethod() | Больше не используется |
| MRGSDevice#getOpenUDIDOld():String | Больше не используется |
| MRGSAuthentication модуль | Причина |
|---|---|
| MRGSCredentials() | Используйте MRGSCredential(MRGSAuthenticationNetwork) |
| MRGSBilling модуль | Причина |
|---|---|
| MRGSBillingDelegate.class | Используйте MRGSBillingDelegateEx.class |
| MRGSBilling#setDelegate(MRGSBillingDelegate) | Используйте MRGSBilling#setDelegateEx(MRGSBillingDelegateEx) |
| MRGSBilling#getProductsInfo(fArrayList) | Используйте MRGSBilling#getProductsInfoWithTypes(ArrayList) |
| MRGSBilling#closePayment(MRGSPurchaseItem) | Используйте MRGSBilling#notifyMRGSAboutConsume(MRGSPurchaseItem) |
| MRGSGDPR модуль | Причина |
|---|---|
| Все методы включающие параметр 'agreementVersion' | Используйте аналогичные методы без параметра 'agreementVersion' |
| MRGSMyTarget модуль | Причина |
|---|---|
| Модуль будет полностью удален | Больше не поддерживается |
| MRGSNotifications модуль | Причина |
|---|---|
| MRGSLocalPushService.class | Используйте MRGSNotificationCenter.class |
| MRGSPushNotifications.class | Используйте MRGSNotificationCenter.class |
Подробнее о новых функциях и их использовании читайте в документации.
v4.6.2 Release (28-06-2021)🔗
В данной версии:
Модуль GDPR:
- Исправлена ошибка в тексте локализации для
японскогоязыка. - Исправлена ошибка с переносом текста для
корейскогоязыка вWebView. - Добавлена анимация "нажатия" на кнопку принятия
GDPRвWebView. - Изменено поведение показа
GDPRвWebView. Теперь по умолчанию показывается GDPR без Разрешение на рекламу. - Исправлена ошибка позволяющая серверу понижать версию
GDPRна клиенте. Теперь версию можно лишь только повышать.
Модуль MyGamesSupport:
- Исправлена ошибка отправки события
закрытияокна саппорта, если вернуться в приложение по иконке, а вманифестедля этого события выставлен не стандартныйlaunchMode. - Исправлена ошибка с запросом
версии виджета. Теперьверсия виджетазапрашивается лишь раз во время сессии, чтобы избежать блокировки со стороны сервера.
Модуль Showcase:
- Теперь можно выставить желаемую ориентацию экрана через
manifest. Узнать больше. - Исправлена ошибка отправки события
закрытиявитрины, если вернуться в приложение по иконке, а вманифестедля этого события выставлен не стандартныйlaunchMode. Узнать больше. - Исправлена ошибка с поплывшей версткой при перевороте экрана.
Удаление deprecated методов
Мы планируем удалить методы, которые были отмечены как deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):
- Старый API MRGSBilling (
setDelegate, некоторыеbuyItem,MRGSBillingDelegateи др.) - конец 2021 года. - Старый API MRGSNotifications (класс
MRGSLocalPushService, и др.) - конец 2021 года. MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature)- конец 2021 года.- GDPR - методы, включающие в себя
agreementVersion(showAgreementFromFileи др) - до осени. MRGService.onStart(),MRGService.onStop()и другие отмеченные как deprecated - до осени.
Подробнее о новых функциях и их использовании читайте в документации.
v4.6.1 Release (03-06-2021)🔗
В данной версии:
- Обновлены все правила обфускации для ProGuard/R8. Все правила обфускации поставляются .aar библиотеками.
- Добавлена поддержка targetSdkVersion 30 (Android 11).
Модуль Authentication:
-
Исправлены некоторые ошибки с неправильным переключением
потоковпри возврате результата изAndroid.mainпотока вUnity.mainпоток. -
Facebook
- Исправлена ошибка при попытке пригласить друзей.
Модуль Billing:
- Amazon
- Обновлен
In-app purchases SDKс2.0.61до2.0.76. - Добавлена поддержка нового MRGSBilling API, которое было ранее добавлено для Google, Huawei и Samsung но не было добавлено для Amazon.
- Обновлен
Модуль Showcase:
- Исправлена проблема с версткой для экранов с шириной sw320dp.
Удаление deprecated методов
Мы планируем удалить методы, которые были отмечены как deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):
- Старый API MRGSBilling (
setDelegate, некоторыеbuyItem,MRGSBillingDelegateи др.) - конец 2021 года. - Старый API MRGSNotifications (класс
MRGSLocalPushService, и др.) - конец 2021 года. MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature)- конец 2021 года.- GDPR - методы, включающие в себя
agreementVersion(showAgreementFromFileи др) - до осени. MRGService.onStart(),MRGService.onStop()и другие отмеченные как deprecated - до осени.
Подробнее о новых функциях и их использовании читайте в документации.
v4.6.0🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена ошибка из-за которой при проверке интеграции, теперь если не удалось определить платформу, то будет считаться что платформа
AndroidПлатформа определяется по выставленному типу биллинга см. Настройка параметров.
Модуль Billing:
- Google
- Добавлен новый метод
MRGSBankPurchaseRequest.setObfuscatedAccountId(String)для поддержки Karaganda Fraud Prevention API. Узнать больше. - Добавлен новый метод
MRGSBankPurchaseRequest.setObfuscatedProfileId(String)для поддержки 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:
- Добавлена поддержка прямых ссылок на
Google Play Store. Теперь если для баннера будет приходить прямая ссылка наGoogle Play Store, то переход вGoogle Play Storeбудет осуществлен без посредничества браузера.
Определение платформы
Если вы планируете использовать другой магазин (не Google play), то вы также должны указать billing, даже если вы не используете MRGSBilling модуль. Если вы не укажите billing это может привести к неправильной работе всего SDK. Как указать billing смотри в документации.
Удаление deprecated методов
Мы планируем удалить методы, которые были отмечены как deprecated. Для того, чтобы вы успели подготовиться, мы сообщаем об этом заранее. Ниже приведены примерные временные рамки, в которые мы планируем удаление (в случае, если вам нужно больше времени, или есть другие пожелания, свяжитесь с нами):
- Старый API MRGSBilling (
setDelegate, некоторыеbuyItem,MRGSBillingDelegateи др.) - конец 2021 года. - Старый API MRGSNotifications (класс
MRGSLocalPushService, и др.) - конец 2021 года. MRGSMetrics.AddPurchase(string skuDetails, string purchaseData, string dataSignature)- конец 2021 года.- GDPR - методы, включающие в себя
agreementVersion(showAgreementFromFileи др) - до осени. MRGService.onStart(),MRGService.onStop()и другие отмеченные как deprecated - до осени.
Подробнее о новых функциях и их использовании читайте в документации.
v4.5.4🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена ошибка из-за которой при проверке интеграции, на сервер передавалась неправильная платформа для Amazon, Huawei и Samsung, что приводило к некорректным рекомендация по проверки платформы.
- Исправлена ошибка из-за которой проверка интеграции не выводила информацию по настройкам MRGS SDK если SDK настраивалось через
кодвместоxml конфига. - Улучшена проверка интеграции. Теперь проверка интеграции будет выводить информацию по подключенным модулям.
- Улучшена проверка интеграции. Теперь проверка интеграции будет выводить больше информации об ошибках, возникшие во время инициализации модулей.
Модуль Authentication:
- MyGames
- Исправлена ошибка из-за которой
MRGSAuthentication.getCurrentUser()мог вернуть данные по пользователю безMRGSAuthenticationNetwork.
- Исправлена ошибка из-за которой
Модуль Billing:
- Google
- Обновлен Google Billing SDK с
2.0.3до3.0.3.
- Обновлен Google Billing SDK с
Модуль MyGamesSupport:
- Добавлен новый метод
MRGSMyComSupport.getMyComSupport().setCustomUserId(String), на случай когда нужно открыть саппорт с другимuserIdотличным отMRGSUsers.instance().setUserId(String).
Модуль Notifications:
- Исправлена ошибка из-за которой не отображалась
иконка уведомлениякоторую поставили в момент инициализации MRGS SDK, если ее проставили черезкодвместоxml конфига.
Подробнее о новых функциях и их использовании читайте в документации.
v4.5.3🔗
В данной версии:
Модуль MRGService (базовый):
- Удален класс
MRGSLocationService- отвечающий за определение местоположения пользователя, так как этот класс давно не выполняет свой функционал. - Удален класс
MRGSPackageRemoveReceiver- отвечающий за отслеживание удаляемых приложений с устройства, так как этот класс давно не выполняет свой функционал. - Удален класс
MRGService.MRGServiceNotInitializedException- который использовался для исключений связанных с неправильной инициализацией SDK (Давно не используется). - Удален метод
MRGService.instance().getContext()- этот метод давно был запрещен к использованию и приводил к утечке памяти. - Исправлена ошибка из-за которой могло существовать два экземпляра класса
MRGSMyTrackerвместо одного.
Модуль Billing:
- Удален
<uses-permission android:name="com.farsitel.bazaar.permission.PAY_THROUGH_BAZAAR" />из манифеста, так как биллингbazaarдавно не поддерживается.
Модуль MyGamesSupport:
- Исправлена ошибка с переводом в полноэкранный режим.
- Исправлена ошибка позволяющая включить темную тему через настройки разработчика для нового виджета.
Модуль Showcase:
- Исправлена ошибка с мигающей кнопкой закрытия витрины.
- Улучшена скорость загрузки баннеров при открытии витрины.
- Улучшено качество баннеров при рендере.
Подробнее о новых функциях и их использовании читайте в документации.
v4.5.2🔗
В данной версии:
Модуль MyGamesSupport:
- Исправлена ошибка
IllegalStateExceptionпри попытке отобразитьFragmentпослеonSaveInstanceState. - Исправлена ошибка
NullPointerExceptionпри попытке открыть саппорт в то время когдаMyGamesSupportмодуль еще не проинициализирован.
Подробнее о новых функциях и их использовании читайте в документации.
v4.5.1🔗
В данной версии:
Модуль MRGService (базовый):
- Обновлен
MyTracker SDKс2.1.0до2.1.2. Подробней смотрите в документации. - Добавлен новый метод
MRGSMyTracker.getInstanceId(Context context, Consumer<String>). Подробней смотрите в документации.
Gradle error: Failed to resolve: com.my.tracker:mytracker-sdk:2.1.2
Если вы столкнулись с данной ошибкой, то добавьте новый репозиторий в вашем gradle файле:
Модуль Advertising:
- Исправлено неправильное поведение. Если в момент загрузки контента происходила ошибка, то
LoadDelegate.onAdvertisingLoadingErrorникогда не вызвался.
Модуль Billing:
- Google
- Исправлена проблема с кэшированием подписок. Это приводило к проблемам с синхронизацией с сервером и сервер не мог правильно автоматически продлять подписки. После обновления на новую версию SDK, все текущие/действующие подписки отправятся на сервер (если только будет сделано восстановления транзакций или у вас выставлен флаг на автоматическое восстановление транзакций). Затем действующие подписки будут синхронизироваться с сервером раз в 10 дней(если только будет сделано восстановления транзакций или у вас выставлен фланг на автоматическое восстановление транзакций).
- Исправлена проблема с логированием ошибок от
Google Billing. Так как у ошибок не всегда есть описание причины, в место причины будет отправляться код ошибок. Это должно помочь лучше понять проблемы, случающиеся во время платежей. Так же ошибки логируются вMRGSв разделе Падения.
Модуль MyGamesSupport:
- Исправлена ошибка
NetworkOnMainThreadExceptionпри попытке запросить кол-во непрочитанных сообщений из старого виджета. Из-за данной ошибки всегда возвращалсяfalseдляTicketListenerи0дляTicketCallback - Добавлено логирование ошибок виджета в MRGSMetrics (метрика -18)
Подробнее о новых функциях и их использовании читайте в документации.
v4.5.0🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена редкая ошибка
NoSuchElementExceptionвMRGSUsers.setUserId()при одновременном вызовеMRGSUsers.setUserId()иMRGSUsers.logoutCurrentUser(). - Метод
MRGSMetrics.addPurchase(skuDetails, purchaseData, dataSignature)помечен как устаревший. - Добавлена возможность отправлять метрики по платежам для магазинов Amazon, Huawei и Samsung через
MRGSMetrics.addPurchase(MRGSPurchaseEvent). Подробней смотрите в документации. - Добавлен новый метод
MRGSMyTracker.getInstance().setLaunchTimeout(int seconds). Подробней смотрите в документации
Модуль Advertising:
- Исправлена редкая ошибка
IllegalStateExceptionпри попытке посмотреть рекламу. - Исправлена редкая ошибка
MissingWebViewPackageExceptionпри попытке посмотреть рекламу. - Удалена поддержка Карусель баннеров (роллер).
Модуль Analytics:
- Обновлен
AppsFlyer SDKс6.1.1до6.2.3. - Добавлена возможность отключить трекинг платежей. Подробней смотрите в документации.
- Добавлена возможность дублировать отправку событий из
MRGSMetrics(отправленные черезMRGSMetrics.addMetric()), вAppsFlyer. Подробней смотрите в документации.
Модуль Billing:
- Samsung
- Исправлена ошибка
NullPointerExceptionкогда пользователь отменял совершение платежа.
- Исправлена ошибка
Модуль MyGamesSupport:
- Добавлена поддержка нового виджета. Подробней смотрите в документации.
- Добавлен новый метод
MRGSMyComSupport.checkTickets(Context, MRGSMyComSupport.TicketCallback)который может вернуть кол-во непрочитанных сообщений или ошибку. - Исправлена дефолтная локализация для диалогового окна при запросе разрешений на доступ к хранилищу.
Модуль Showcase:
- Добавлен новый модуль
Showcase. Подробней смотрите в документации.
Подробнее о новых функциях и их использовании читайте в документации.
v4.4.4🔗
В данной версии:
Модуль Analytics:
- Исправлена ошибка с неправильной инициализацией
Appsflyerверсии 6+, что приводило к некорректной отправки событий об установках, в момент запуска приложения. - Передача в AppsFlyer параметра customerUserID (мы ставим в это поле IDFA устройства) теперь происходит до отправки события установки, поэтому в сырых данных и в событиях установки появится данный параметр (на iOS мы делаем так же).
Подробнее о новых функциях и их использовании читайте в документации.
v4.4.3🔗
В данной версии:
Модуль Advertising:
- Добавлены дополнительные логи для выявления потенциальных проблем.
Модуль MyGamesSupport:
- Исправлен
NullPointerExceptionпри вызове методаcheckTickets, если модуль не был проинициализирован.
Подробнее о новых функциях и их использовании читайте в документации.
v4.4.2🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлен краш
java.util.ConcurrentModificationExceptionпри проверке интеграции.
Подробнее о новых функциях и их использовании читайте в документации.
v4.4.1🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена ошибка
NullPointerExceptionкогда Activity приходил как null. - Исправлена ошибка
org.json.JSONException: End of input at character 1 of.
Модуль Authentication:
- GoogleGames
- Исправлена проблема с показом окна всех достижений пользователя.
Модуль Analytics:
- Обновлен
AppsfalyerSDK с5.4.1до6.1.1.
Модуль Billing:
- Исправлена проблема с сохранением
developerPayload. Когда совершалась покупка одного и того же товар с пейлоадом и без, вторая покупка получала пейлоад от первого товара. -
Исправлена проблема с двойной валидацией, когда при покупке товара и затем вызов восстановления транзакций, отправляли один и тот же товар на валидацию. Это приводило к двойному вызову колбека о совершении платежа пользователем.
-
Google
- Исправлен краш
ConcurrentModificationExceptionпри восстановлении транзакций.
- Исправлен краш
-
Huawei
- Исправлен краш
ConcurrentModificationExceptionпри восстановлении транзакций. - Исправлена проблема, когда ошибка при восстановлении транзакций уходила в колбек по получению информации о продуктах.
- Исправлена проблема с показом окна магазина при попытке купить товар.
- Исправлен краш
Модуль Firebase:
- Обновлен
FirebaseAnalyticsSDK с17.2.1до18.0.1. - Новая структура событий. Теперь будут приходить дополнительные параметры такие как: "currency_local" и "price_local" - местная сумма и валюта, в которой совершался платеж. "is_first_payment" - является ли этот платеж первым. "value" и "currency" - теперь всегда будут в USD.
Модуль GDPR:
- Исправлена проблема с отправкой метрики
показа GDPRпри использовании кастомного окна GDPR. - Больше не проставляем автоматическое принятие GDPR, если пользователь не попадает под него.
Модуль Notifications:
- Обновлен
FirebaseMessagingSDK с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, так как в нем поменялся формат.
v4.4.0🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена ошибка при инициализации MRGService, когда вместо
ActivityпередавалсяnullотActivityLifecycleCallbacks. - Добавлена поддержка Huawei Identity Kit. Подробней.
- Исправлена ошибка в IntegrationCheck при проверки наличия биллинга.
Модуль Authentication:
-
Facebook
- Исправлен редкий краш
Class not found when unmarshalling: LoginResultReceiverпри попытке авторизоваться.
- Исправлен редкий краш
-
MyGames
- Исправлена 403 ошибка при попытке авторизоваться через Google.
-
VK
- Исправлена проблема когда в callback приходили данные без scopes.
Модуль Billing:
-
Добавлен новый асинхронный метод
MRGSBilling.isBillingAvailable(). Данный метод будет полезен для таких биллингов как Google и Huawei, так как они не всегда позволяют узнать их состояние в синхронном запросе. -
Google
- Исправлено неправильное поведение при котором все ошибки, при запросе продуктов, передавались в
MRGSBillingDelegateEx.onReceiveProductsResponce(). Теперь ошибки передаются вMRGSBillingDelegateEx.onReceiveProductsError(). - Исправлена утечка памяти, когда запросы добавлялись в очередь на выполнение, если billing был недоступен, и не удалялись после их выполнения.
- Исправлено неправильное поведение при котором все ошибки, при запросе продуктов, передавались в
-
Huawei
- Добавлена поддержка Huawei In-App Purchases. Смотрите Настройка окружения и Подключение платежей Huawei.
Модуль MyGamesSupport:
- Исправлена проблема с отсутствием дефолтного текста в диалоговом окне при запросе разрешений.
Модуль Notifications:
- Исправлен краш
ConcurrentModificationException. - Добавлена поддержка Huawei Push Kit. Смотрите Настройка окружения и Интеграция SDK.
Huawei Store
Обратите внимание, что для модуля Аналитики также потребуется внести некоторые изменения.
v4.3.4🔗
В данной версии:
Модуль Billing:
- Google
- Исправлена ошибка
NoSuchElementExceptionпри отмене покупки, если не был передан developerPayload.
- Исправлена ошибка
v4.3.4🔗
В данной версии:
Модуль MRGService (базовый):
- Обновлен MyTracker до
2.1.0. - Исправлена проблема со старым шифрованием.
Модуль Advertising:
- Исправлен краш
ActivityNotFoundExceptionпри попытке перейти по рекламе если на устройстве отсутствует браузер.
Модуль Authentication:
-
MyGames
- Исправлено отображение имени приложения в окне авторизации (раньше показывался ClientID, теперь показывается видимое пользователю имя приложения).
- Исправлена ошибка с белым экраном при ошибке с ssl. Теперь в callback будет приходить ответ с ошибкой с последующим закрытием окна авторизации.
-
Добавлен новый метод
MRGSCredentials.getSocialId()который вернет тип текущей соцсети. - Исправлены номера возвращаемых значений
MRGSAuthenticationNetworkиз-за расхождения данных значений на Unity/iOS:- Unknown(-1) -> Unknown(0)
- MRGSAuthenticationNetworkMyGames(13) -> MRGSAuthenticationNetworkMyGames(14)
- MRGSAuthenticationNetworkAmazon(14) -> MRGSAuthenticationNetworkAmazon(13)
Обратите на это особое внимание если вы используете данные значения через метод getValue()
v4.3.3🔗
В данной версии:
Модуль Billing:
- Google
- Исправлен ANR при подключении к google billing сервису.
v4.3.2🔗
В данной версии:
Модуль Authentication:
- Переработана работа авторизации MyGames. Теперь не используется ClientSecret и RedirectURL, что делает авторизацию более безопасной, а также позволяет получить большее количество информации о пользователе, например имя, фамилия, дата рождения, и др. Добавлена возможность создавать приложение MyGames через сайт MRGS (раньше нужно было ставить задачу на проект SWA).
Важно
Поскольку работа с MyGames авторизацией теперь происходит через MRGS, то старые настройки работать не будут, Вам необходимо заново создать приложение MyGames через MRGS, прописать на клиентах новый ClientID, а также на iOS изменить redirectURL, прописанный в Info.plist. Подробнее про новый подход к работе с MyGames авторизацией смотрите в документации по MyGames
Модуль Billing:
-
Добавлен метод
getProductIdentifier()в классMRGSBankPurchaseResultнового делегата банка. Данный метод вернет идентификатор покупаемого/купленного продукта, в то время какgetPurchaseItem()может вернутьnull, если продукт, например, не был загружен. -
Google
- Исправлена ошибка с возвратом пустого
productId/sku, если пользователь отменял платеж (передумал покупать и покидал экран покупки). - Исправлена ошибка с переподключением платежного сервиса во время игры, что приводило к блокировке запроса продуктов и совершению платежей.
- Исправлена ошибка с возвратом пустого
v4.3.1🔗
В данной версии:
Модуль MRGService (базовый):
- Исправлена ошибка при вызове вспомогательных функций, связанная отсутствием
Context, до инициализацииMRGService. - Обновлена зависимость MyTracker SDK до 2.0.10 версии.
- Улучшена проверка интеграции.
Модуль Billing:
- Samsung
- Исправлена проблема с вызовом
MRGSBillingDelegateExкогда пользователь отменял совершение платежа.
- Исправлена проблема с вызовом
Модуль MRGSFirebaseModule
- Исправлена ошибка при попытке привести
paymentAmountк double когда на самом деле это integer.
Модуль GDPR/CCPA:
- Добавлены логи для CCPA.
Модуль MRGSNotifications
- Исправлено неправильное отображение заголовка серверного пуш уведомления.
- Исправлена ошибка создания дефолтного канала и группы для локальных пуш уведомлений.
v4.3.0🔗
В данной версии:
Модуль MRGService (базовый):
- Добавлен метод открытия системного окна настроек приложения. Будет полезен при работе с уведомлениями и запросом на IDFA. Подробнее здесь
- Улучшена система отслеживания длительности сессий.
- Методы
onStart(Activity activity)иonStop(Activity activity)помечены как @Deprecated, больше не используются и будут удалены в следующих версиях. - Расширен метод проверки интеграции. Теперь мы будем также проверять все параметры, флаги и ключи на сервере MRGS, и об ошибках настройки приложения вы узнаете сразу в логах клиента, а именно о корректных ключах MyTracker, актуальных настройках платежей, валидности сертификатов уведомлений и ключей проверки платежей.
Модуль Advertising:
- Улучшен трекинг истории показов, таким образом, ошибок с повторным показом уже просмотренной рекламы не будет.
- Изменен подход к проверке хешей рекламы для снижения нагрузки на сервера MRGS.
Модуль Analytics:
- Добавлен метод
getAppsFlyerIdдля получения уникального идентификатора AppsFlyer. - Удалена зависимость AppsFlyerSDK.aar, теперь данную зависимость следует подключать отдельно в gradle файле:
com.appsflyer:af-android-sdk:5.4.3
Модуль Authentication:
- Исправлена ошибка авторизации в MyGames (раньше токен на некоторых девайсах получался невалидным).
Модуль Billing:
- Samsung
- Исправлена проблема с
developerPayload. - Исправлена проблема с
MRGSBillingDelegateиMRGSBillingDelegateExна старте инициализации биллинга.
- Исправлена проблема с
Модуль Firebase:
- Добавлены новые события в Firebase, отсылаемые при любой покупке более 5,10,50,100 долларов. Подробнее здесь.
- Добавлено поле
VALUEв события покупок в Firebase, они необходимы для закупки рекламы.
Модуль GDPR/CCPA:
- Метод
checkIfUserGetsUnderGDPRтеперь требует Activity вместо Context. - Убраны методы
getAgreementVersionиsetAgreementVersion(int version)для перехода проектов на правильный подход к работе с GDPR. Верный подход описан в документации - Все методы для работы с GDPR, которые принимают в себя версию соглашения помечены как @Deprecated. Добавлены новые методы, аналогичные старым, но без версии соглашения. Просим перевести работу на них.
- Улучшена статистика в GDPR, добавлена статистика показа соглашений, для подсчета тех пользователей, которые не согласились с GDPR и ушли из приложения.
- Исправлено поведение методов для CCPA - теперь получение региона не зависит от вызванных методов GDPR.
- Исправлено расхождение поведение методов для CCPA между iOS и Android.
Модуль Notifications:
- Добавлены методы
MRGSPushNotification.getVisibilityиMRGSPushNotification.setVisibilityдля отображение уведомлений на LockScreen в Secure режиме. Подробнее здесь - Классы
MRGSPushNotificationsиMRGSLocalPushServiceпомечены как @Deprecated. Вместо них следует использовать новый классMRGSNotificationCenter. - Новый интерфейс
MRGSNotificationCenterявляется объединением двух старых с небольшой разницей в методах:
| MRGSPushNotifications | MRGSNotificationCenter |
|---|---|
| getInstance() | MRGSNotificationCenterImpl.getInstance() |
| enableNotifications() | enableNotifications(NOTIFICATIONS_TYPE_REMOTE) |
| disableNotifications() | disableNotifications(NOTIFICATIONS_TYPE_REMOTE) |
| isNotificationsEnabled() | isNotificationsEnabled(NOTIFICATIONS_TYPE_REMOTE) |
| initPushNotifications(delegate) | setRemoteDelegate(delegate) |
| MRGSLocalPushService | MRGSNotificationCenter |
|---|---|
| instance() | MRGSNotificationCenterImpl.getInstance() |
| enableNotifications() | enableNotifications(NOTIFICATIONS_TYPE_LOCAL) |
| disableNotifications() | disableNotifications(NOTIFICATIONS_TYPE_LOCAL) |
| isNotificationsEnabled() | isNotificationsEnabled(NOTIFICATIONS_TYPE_LOCAL) |
| getDelegate() | getLocalDelegate() |
| setDelegate(delegate) | setLocalDelegate(delegate) |
| getGroupDelegate() | getLocalGroupDelegate() |
| setGroupDelegate(gelegate) | setLocalGroupDelegate(delegate) |
Модуль Support:
- Добавлен метод
showFeedbackдля показа окна фидбека в MyGamesSupport (раньше можно было открыть при помощи категории, но с отдельным методом открывать будет проще и надежнее) Подробнее здесь
v4.2.5🔗
В данной версии:
- Поддержка CCPA (ККПА). Подробнее читайте в документации CCPA
- При авторизации через VK, MRGS сообщит vkid в MyTracker
- Метод
MRGSGDPR.shouldShowGDPRForVersionтеперь требует Activity вместо Context
v4.2.4🔗
В данной версии:
Мы поменяли API банка:
Теперь весь API нашего банка стандартизирован на всех трех платформах, и стал более удобным в использовании, а также более функционален.
Из основных изменений:
- Появился новый класс
MRGSBankProductsRequestв которой с помощью методовaddможно добавить продукт или массив продуктов определенного типа (типы продуктов теперь стали enum'омMRGSBankProductType). Затем этот запрос передается в новый методrequestProductsInfo. - Появился новый класс
MRGSBankPurchaseRequestкоторый позволяет более точно настроить параметры для начала платежа - Добавили метод начала покупки, теперь он принимают в себя либо идентификатор продукта, либо идентификатор и payload, либо новый класс
MRGSBankPurchaseRequest.
Отдельно про делегат:
- Добавили полностью новый делегат
MRGSBankDelegateEx, теперь он возвращает максимум информации о покупке или о загрузке продуктов. - Для загрузки продуктов теперь два колбека -
didReceiveProductsResponceиdidReceiveProductsError, которые получают объект нового классаMRGSBankProductsResponce, содержащего в себе информацию о валидных продуктах типаMRGSBankProduct, а также массив идентификаторов невалидных продуктов, и объект ошибки в случае, если она произошла. - Добавили 4 типа колбеков для результатов транзакций, а именно -
didReceiveSucessfullPurchase,didReceiveFailedPurchase,didReceivePendingPurchase,didReceiveCancelledPurchase. Каждый из них принимает объект классаMRGSBankPurchaseResult, описывающего результат покупки, а именно - транзакцию (MRGSBankTransaction), продукт (MRGSBankTransaction), payload и ошибку с кодом и описанием, если она произошла.MRGSBankTransactionподробно описывает транзакцию, включает в себя идентификатор, дополнительную информацию о транзакции для каждой платформы (восстановлена ли,дата, оригинальная транзакция, выбранная скидки, и другое). didReceivePendingPurchase- Метод протокола, вызывается в случае зависшего платежа. Такое может произойти если при покупке ребенку нужно спросить разрешение на покупку у родителя, или другой вариант - при валидации пропал интернет, и повторная попытка валидации будет позже. Такие события не требуют дополнительных действий со стороны разработчиков, они служат только для оповещения пользователя.didReceiveCancelledPurchase- Метод протокола, вызывается в случае отмены пользователем платежа.- Появился колбек
didCompleteTransactionsRestore, который вызывается, когда процесс восстановления ранее купленных непотребляемых покупок и активных подписок закончен (Не работает в Samsung Store).
Важно - старый API мы оставили, просто пометили его как deprecated. Еще какое-то время мы будем его поддерживать, но советуем переехать на новый интерфейс, тем более переезд должен быть простым, так как основная логика работы не поменялась. Внутри сам банк мы не меняли, изменился только внешний интерфейс.
Подробнее про использование нового API читайте в документации по банку - https://mrgs.astrum.team/Doc/ru/payments/integration/base/
- Также исправлена ошибка некорректной работы некоторых видов GDPR с кастомной версткой (в частности некорректное отображение combo-box)
v4.2.3🔗
- Теперь при отправке событий регистрации и логина в MyTracker в эти события автоматически добавляется установленный нам пользователь (сделано, так как MyTracker поменяли API отправки этих событий)
- Обновлен MyTracker до версии 2.0.9
v4.2.2🔗
- Исправлена ошибка в модуле авторизации. При логине в Google Games, иногда, при первом вызове функции login возвращалась ошибка, а при втором вызове логин проходил корректно.
v4.2.1🔗
В данной версии:
Добавлен новый модуль:
Добавлен новый модуль MRGSRecommendations, для работы с внутренней системой RecSys для получения предсказаний о том, какой продукт скорее всего пользователь захочет купить. На данный момент функция работает в beta-режиме, а модуль позволяет только отправлять необходимые для системы события в MRGS. По результатам тестирования модуль будет расширяться и дополняться новыми функциями.
- Изменен режим генерации session_id. Мы постарались сделать его генерацию более уникальной, также сессия теперь "протухает" через 5 минут после сворачивания приложения
- Добавлен механизм включения/отключения как локальных, так и серверных уведомлений. Подробнее читайте об этом в документации по расширенной работе с уведомлениями
- Проброшен делегат MyTracker для получения данных по атрибуции (deffered deeplink)
- Исправлена работа метода
checkIntegration, теперь внутри он стал асинхронным, и более точно определяет ошибки, связанные с неверной настройкой appId/Secret и сетевых запросов. - Добавлена автоматическая отправка данных о впервые совершенном пользователем платеже в Firebase
- Метод
checkIntegrationснова возвращает void, а не string, но для проектов, которые хотят получить результаты проверки интеграции не только в логе, но и в виде строки, мы добавили еще одну вариацию метода с колбеком. - Теперь при обращении в службу поддержки MyGames можно прикреплять к тикету видеофайл
- Увеличен номер версии соглашения GDPR
Также исправлены баги:
- Исправлено редкое падение в роллере "Пилигрим"
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)
Прекращена поддержка MCSocial
Мы прекратили поддержку MCSocial, поскольку перенесли основной функционал в модуль MRGSAuthentication, улучшив качество и правильность работы. Большинство методов не изменилось, поэтому для миграции с MCSocial на MRGSAuthentication достаточно:
- Поменять в коде все вхождения "MCSocial" на "MRGSAuthentication"
- Поменять в коде все вхождения "MCS" на "MRGSAuthentication"
- Перенести параметры для соцсетей из MCSocial (appID/secret) в параметры, которые проставляются при инициализации MRGS (либо через код, либо в MRGService.plist/MRGService.xml, обратите внимание, что файлы MRGService.plist/MRGService.xml были изменены и идут в комплекте с SDK)
- Если вы указывали не дефолтные пермишны для соцсетей (friends в facebook, например), то необходимо использовать метод
loginWithScopes, вместо обычного логина, так как пермишны теперь выставляются не в настройках, а при самом логине. - На iOS можете убрать вызов метода application:openURL:sourceApplication: у класса
MCSocialSettings - Удалить библиотеку MCSocial из проекта вместе со связанными SDK (Facebook, OK,VK,Twitter,MailRu и другие), и импортировать SDK из MRGSAuthentication.
Важно отметить, что после переезда на MRGSAuthentication сессии пользователей, которые вошли через MCSocial сохранятся и будут доступны в MRGSAuthentication.
v4.2.0🔗
В данной версии:
Добавлен модуль MRGSAuthentication (Авторизации) с включенными в него такими сетями как:
- VKontakte
- Amazon
- MyGames
- Google Play Games
Напоминаем, что модуль MRGSAuthentication поможет вам быстро внедрить авторизацию в популярных сервисах и социальных сетях. Основное преимущество - универсальный API - набор основных методов авторизации реализуют все наши классы. Таким образом, вы можете настроить процесс авторизации используя абстрактный объект социальной сети, без привязки к конкретному сервису.
Обращаем внимание, модуль фейсбука работает без зависимости от нативного SDK, но тем не менее умеет вытаскивать из него данные авторизации, на наш модуль можно перейти даже с проектов, использующих сейчас нативное SDK. Также стоит отметить, что в из-за добавления новых социальных сетей, добавились и новые зависимости от VKSdk и AmazonSDK
Подробнее про внедрение каждого из модулей и их использование читайте в документации в соответствующем разделе. Также, те проекты, которые использовали MCSocial, теперь могут перейти на новый модуль авторизации.
Кроме того, данной версии произошли некоторые нововведения и изменения:
- Метод checkIntegration класса MRGSIntegrationCheck теперь возвращает строку, а не void, как раньше. (В остальном поведение не поменялось)
- Добавлены новые автоматические метрики в Firebase - Purchase14D и Purchase90D в случае, если покупка была совершена в первые 14 и 90 дней соответственно.
- Добавлена отправка в AppsFlyer информации о платежах в Samsung (Galaxy) Store
- Обновлен MyTracker до версии 2.0.7
Изменения в GDPR!
Теперь MRGS сам занимается отслеживанием версии соглашения и его обновлением. Поэтому начиная с этого релиза метод setAgreementVersion и все одноименные параметры, передаваемые в методы будут игнорироваться, а в последующих версиях и вовсе будут убраны.
Автоматическое обновлении версии позволит показать измененное соглашение всем пользователям без необходимости выпускать версию, таким образом, вам не нужно будет теперь следить за актуальной версией соглашения.
В ближайшее время юр. отдел выпустит обновление политик, поэтому лучше всего, если вы выпустите версию с новым MRGS как можно быстрее, чтобы пользователи смогли увидеть сообщение об обновлении документов, как только они будут обновлены.
- У класса по работе с GDPR появился новый метод - getAgreementTime(). Он возвращает текущую дату соглашения, полученную с сервера, или 0, если не удалось получить эту информацию.
Подробнее о новых функциях и их использовании читайте в документации.
v4.1.14🔗
Исправлена ошибка отображения некорректного текста в кастомных серверных уведомлениях
v4.1.13🔗
В данной версии изменена логика отправки пользователя в MyTracker, чтобы более корректно формировались связки пользователей в 1Link.
v4.1.12🔗
В данной версии изменены url для нашего api в связи с переездом на новый домен
- При создании канала для уведомлений теперь можно указывать приоритет (свойство Importance)
- Исправлена проблема, когда не всегда вызывался делегат о пришедшем уведомлении
- У серверных уведомлений теперь можно в json params указывать
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"
}
v4.1.11🔗
- Исправлена ошибка с выставлением флага html5Supported в true по умолчанию
v4.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)
v4.1.9🔗
- Исправлена ошибка дублирующего сообщения в групповых уведомлениях
- Если канал для уведомлений уже создан, то он не будет повторно создаваться во время срабатывания серверных уведомлений
v4.1.8🔗
- Обновили MyTracker до версии 2.0.1
- Вынесли вызов метода MRGSBilling.restoreTransaction в отдельный поток, что должно убрать сообщения ANR в консоли Google Play
- Перенесена отправка события показа роллера пилигрим. Теперь событие будет отравляться при отображении первого баннера
- Исправили падение если MRGS GameCenter открывается до инициализации MRGS
- Исправили редкое падения в окне GDPR
v4.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)
v4.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)
v4.1.5🔗
- Обновили MyTracker до версии 2.0.0
v4.1.4🔗
- Теперь MRGS всегда использует протокол HTTPS для передачи данных. Вы можете отключить флаг android:usesCleartextTraffic в AndroidManifest.xml
- Добавили поддержку локализации GDPR. Для установки нужного языка, перед показом соглашения, вызовите метод
setLacalizationLanguageи передайте буквенное обозначение языка в формате ISO-639-1. Получить список доступных языков можно вызвав методgetSupportedLocalizations - Добавили поддержку PlayableAds в Пилигрим
- Улучшили отображение StaticsAds и VideoAds в Пилигрим
- Убрали отправку события purchase в AppsFlyer.
Теперь будет отправляться только событие af_purchase - Обновили AppsFlyer до версии 5.1.0
- Добавили методы
setBufferingPeriod,setForcingPeriodиflushдля класса MRGSMyTracker - Обновили MyTracker до версии 1.5.14
v4.1.3🔗
- Исправлена ошибка в биллинге, которая не позволяла проводить платеж с ошибкой - Billing [MRGS] BuyItem: current user is unknown! Payment is not available!
v4.1.2🔗
- Сокращено число повторных запросов к серверу mrgs в случае восстановления подписок
- Переделан API по работе с пользователями
- Исправлено возможное падение в Google Billing
at ru.mail.mrgservice.utils.optional.Union.get1 (Union.java:38)
at ru.mail.mrgservice.utils.optional.Optional.get (Optional.java:34)
at ru.mail.mrgservice.MRGSGoogleBillingV2.userCanceledPurchases (MRGSGoogleBillingV2.java:640)
at ru.mail.mrgservice.MRGSGoogleBillingV2.onPurchasesUpdated (MRGSGoogleBillingV2.java:622)
Новый API для пользователей!
Теперь нет необходимости регистрировать, а затем авторизовать пользователя. Больше не нужно строить сложную логику вокруг простой установки пользователя нам, наконец то это произошло) Теперь достаточно вызывать метод setUserId.
Однако, для корректного подсчета статистики на стороне MyTracker, необходимо вызывать два метода - trackRegistrationEvent и trackLoginEvent у класса MRGSMyTracker.
Обратите внимание, что старый API полностью убран из SDK.
Зачем мы так сделали? Сейчас все события регистрации/авторизации неверно определяются в MyTracker, с кастомными именами event'ов, что затрудняет работу менеджеров. Оставление старых методов не могло гарантировать верный переход проектов на работу с пользователями, и корректную отправку статистики. Так как новый API крайне прост, будет очень легко на него перейти, и реализовать более корректный трекинг событий, связанных с пользователем.
v4.1.1🔗
- Исправлено отображение GDPR на телефонах с вырезом
- Исправлена некорректная работа GDPR при подмене SSL сертификата
- Изменено расстояние между баннерами в роллере Пилигрим
v4.1.0🔗
- MRGS теперь зависит от библиотек androidx. Внимательно прочтите руководство по миграции!
- Обновился MyTracker до версии 1.5.12
v4.0.11🔗
- Временно отключена отправка логов на сервер
v4.0.10🔗
- Уменьшено число обращений к серверу MRGS в случае ошибки загрузки пилигрима
v4.0.9🔗
- Исправлена ошибка, когда при первом запросе продуктов из банка, возвращался пустой список продуктов
v4.0.8🔗
- Исправлено падение в Google Billing на строке
- Валидация URL в кампаниях Пилигрим
- в GDPR добавлены три страны - Норвегия, Исландия, Лихтенштейн
v4.0.7🔗
- Исправлено некорректное отображение пилигрим
- Добавлен метод для валидации интеграции
MRGService.checkIntegration
v4.0.6🔗
- Новый банк для платежей в Google Play Store на основе библиотеки Google Billing Library 2.0.3
Добавьте зависимость в build.gradle
Получение In-app продуктов за пределами приложения
Теперь на платформе Android пользователь может получить In-app продукт за пределами приложения. Первый способ - ввод промокода в Google Play Подробнее. Второй способ - предварительная регистрация (предварительная покупка) вашего приложения в Google Play (если вы настроили выдачу бонуса за предварительную регистрацию) Подробнее
Для того, чтобы пользователь максимально быстро получили награду, необходимо вызвать метод restoreTransaction() у класса MRGSBilling. Google рекомендует вызывать этот метод при разворачивании приложения. Помните, что этот метод корректно сработает только в том случае, если уже был загружен список продуктов из Google Play с помощью метода getProductsInfoWithTypes.
Для активации промокода внутри приложения, вызовите метод
Отложенные платежи
Появилась поддержка отложенных платежей. После того, как пользователь начал процесс покупки и перешел в состояние "оплатить покупку", будет вызван метод purchaseIsPending интерфейса MRGSBillingDelegate. Как только пользователь оплатит покупку, в приложении будет вызван метод purchaseComplete. Если приложение было в этот момент закрыто, при следующем запуске необходимо вызвать метод restoreTransaction Подробнее
v4.0.5🔗
- Исправлена ошибка отправки не верифицированных платежей в AppsFlyer.
v4.0.4🔗
- Исправлена ошибка некорректной обработки настройки выбора протокола соединения с сервером mrgs
- У класса MRGSBroadcastReceiver добавлен метод restoreReferer, вызвав который можно получить INSTALL_REFERER с которым было установлено приложение
v4.0.3🔗
- Для тестирования нагрузки MRGS автоматически будет переключать протокол http/https в зависимости от настройки на сервере
- Исправлена ошибка, когда после закрытия окна MyComSupport не прятался Navigation Bar
v4.0.1🔗
- Исправлена ошибка некорректной генерации OpenUDID
- Исправлена ошибка некорректного "потребления" товара при покупке из Samsung Store
v4.0.0🔗
Пожалуйста, прочтите руководство по миграции! Оно расположено внутри документации на сайте Руководство по миграции
- MRGS теперь разбит на несколько библиотек Если ваш проект использует не все возможности MRGS, пожалуйста, просмотрите документацию, там указано какая функциональность требует определенную библиотеку. Может что-то вы сможете убрать. Например MRGSGameCenter.aar нужен только нескольким проектам
- Добавилась аналитика Firebase Если вы отправляете событие MRGSAnalytics.sendEvent(), помимо AppsFlyer оно уйдет и в Firebase. Можно слать отдельно в AppsFlyer, отдельно в Firebase, для этого надо вызвать метод MRGSAnalytics.getAppsFlyer() и MRGSAnalytics.getFirebase()
Важно!События Purchases1D, Purchases7D, Purchases28D отправляются в Firebase автоматически. Если вы отправляете их из своего проекта, убирайте, иначе будет дублирование.- Обновили Samsung Billing API до версии 5.0. Для подключения Samsung Billing не забудьте добавить файл IAPHelper.aar (из директории libs в архиве), в ваш проект
v3.8.137🔗
- Поддержка настройки каналов нотификаций на Android 8
- Исправлено возможное падение при быстром закрытии приложения перед показом GDPR
- Исправлено падение при прикреплении файла MyComSupport на устройстве CHUWI Hi10 pro
- Изменилась схема трекинга показов видео в пилигрим. Теперь информация о показе отправляется раньше (по такой же схеме как и у основных рекламных сетей IronSource и прочее). Это сделано для того, чтобы отслеживать показы одинаково и сократить время выдачи награды за просмотр.
v3.8.136🔗
- Отключен старый API проверки версии Google Play Services
- Кросс-промо слайдер должен корректно отображаться на Samsung S10e
v3.8.135🔗
- Теперь метод serverTime возвращает время правильно. После сворачивания приложения время сбрасывается. При следующем запросе к серверу mrgs время будет опять установлено.
v3.8.134🔗
- Исправлена ошибка в новом API GDPR, когда после вызова функции setUserHasAcceptedAgreementWithVersion не сохранялась версия соглашения
- Добавлена автоматическая отправка event'a о регистрации пользователя в myTracker, чтобы проекты могли считать уникальных пользователей и установок
- Появилась возможность показывать свой кастомный интерфейс в GDPR. Больше не нужно возиться с HTML, скоростью их загрузки и версткой. Мы добавили три новых метода: два для того, чтобы узнать, подходит ли пользователь под GDPR, нужно ли ему показывать соглашение, и третий - для уведомления нас о принятии соглашения. Подробнее про данную функцию читайте в документации по GDPR.
v3.8.132🔗
- Исправлена ошибка некорректного имени файла при прикреплении изображений из галереи к тикетам MyComSupport на Google Pixel2
- В статическом баннере пилигрим теперь полупрозрачный фон
v3.8.131🔗
ВАЖНО! Исправлена ошибка вложений в MyComSupport, когда прикрепленные файлы "теряли" расширение. Из-за этого в админке MyComSupport файлы отображались некорректно- Обновился MyTracker до версии 1.5.6, обновите свой build.gradle файл
v3.8.130🔗
- Исправлена ошибка, когда некоторые файлы не могли быть прикреплены к тикету MyCom Support с ошибкой "файл слишком большой"
- Исправлено возможное падение при инициализации MRGS Advertising (Пилигрим) на смартфонах без WebView
v3.8.129🔗
- MRGS переведен с Apache HttpClient на UrlConnection. Теперь можете убрать все зависимости
org.apache.httpcomponentsи строчку useLibrary 'org.apache.http.legacy' из build.gradle.
v3.8.128🔗
Из GoogleBilling убраны rewarded products! А BillingAPI вернулся с 6 обратно на 3тью версию
v3.8.127🔗
- Исправлена ошибка формирования подписи для запросов к MyComSupport. Эта ошибка могла приводить к тому, что окно с MyComSupport не открывалось.
v3.8.126🔗
- MRGSGDPR теперь использует реальный, а не фейковый, адрес в качестве baseurl при открытии html из файла, что должно исправить проблему с отображением GDPR в некоторых странах
- Убран вызов колбека в GoogleBillingActivity при сворачивании приложения
v3.8.124🔗
- При авторизации пользователя и запуске приложения MRGS автоматически проставляет поле customUserId у MyTracker
- При авторизации пользователя в MyTracker отправляется событие authorizeUser
v3.8.122🔗
- Исправлена ошибка в пилигрим, некорректно поворачивался баннер в Android 8
v3.8.121🔗
- Текстовые метрики. Раньше Вы могли отправлять метрики MRGS, состоящие только из числовых значений, теперь добавилась возможность отправлять метрики с текстовым ключом. Они будут автоматически создаваться в админке MRGS.
- MRGSMyTracker. Мы сделали обертку для отправки событий напрямую в MyTracker. Теперь если вам надо отправить кастомное событие напрямую в MyTracker, минуя MRGS, вы можете вызвать метод
MRGService.instance().getMyTracker().trackEvent(eventname, params) - Piligrimm Metrics. Теперь можно наблюдать точную картину поведения пользователя при просмотре рекламы. На наш сервер теперь отправляются 4 типа событий: во время просмотра произошел креш, пользователь закрыл приложение во время просмотра рекламы, ошибка загрузки кампании, ошибка с проверкой хеша кампании. Таким образом, статистика станет более понятной.
- Кастомные серверные 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"
v3.8.116🔗
- Исправлена ошибка в пилигрим, когда при вызове метода canShowContent() и отсутствии файлов, на сервер мог несколько раз отправляться запрос с информацией об ошибке
v3.8.115🔗
- Исправлена ошибка, когда пользователь отказывался совершать платеж, колбек в делегат не приходил
v3.8.114🔗
- Добавлена отправка метрик в биллинге
- Вызывается метод flush() у MyTracker после запуска приложения для отправки метрики запуска
- Добавлен API для проверки включены у приложения нотификации, или выключены
MRGSLocalPushService.areNotificationsEnabled(Context context)
v3.8.112🔗
- Поддержка Google Rewarded Prouducts в биллинге
После загрузки информации по продуктам, у объектов MRSPurchaseItem можно вызвать метод isRewarded(). Если вернулся true - это rewarded продукт. Перед его "покупкой" необходимо вызывать метод loadRewardedSku. После получения колбека со статусом 0 (BILLING_RESPONSE_RESULT_OK), данный товар можно "покупать", т.е. демонстрировать рекламу пользователям.
- При показе статических и виде баннеров Пилигрим, можно добавлять payload (дополнительную информацию разработчика, которую в дальнейшем можно получить через серверный API.
v3.8.106🔗
- Методы
getAdvertisingиcreateAdvertisingмогут кинуть исключениеMRGServiceNotInitializedException, если сервис не был проинициализирован до вызова этих методов. - Исправлено возможное падение, если метод
serviceу класса MRGService был вызван не из главного потока.
v3.8.105🔗
- Добавлены мульти метрики. Теперь метрики не будут отправляться сразу, а копиться и отправляться сериями.
- Добавлены правила для ProGuard
- Теперь корректно передается флаг skipped при клике на рекламу (он будет в false)
- Исправлено возможное падение в Пилигриме
AndroidJavaException: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String MRGSAdvertisingSlider.getId()' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String MRGSAdvertisingSlider.getId()' on a null object reference
at MRGSAdvertImpl.canShowContent(MRGSAdvertImpl.java:179)
at com.my.hustlecastle.PiligrimAdvertisingVideoHelper.canShowContent(PiligrimAdvertisingVideoHelper.java:27)
at com.my.hustlecastle.PiligrimAdvertisingVideoHelper.canShow(PiligrimAdvertisingVideoHelper.java:64)
v3.8.104🔗
- Изменился протокол обращения к MyCom Support. Теперь параметр signature (раньше sig) использует день месяца, для того чтобы ссылка была валидна только один день.
- Таймаут запроса страны по GEO IP для GDPR уменьшен до 5 секунд, чтоб пользователь не ждал долго открытия окна на запуске приложения
- Обновлены сторонние SDK
v3.8.103🔗
- Исправлено повторное отправление лога о согласии с GDPR
v3.8.102🔗
- Исправлено падение в MRGSRestClient при запросах по протоколу https на Android 7.0 и выше при использовании network_config
Данное падение происходило по причине отсутствия нужного метода у MRGSX509TrustManager и не приводило к падению приложения, однако не давало возможность отправить запрос о совершении платежа на сервер mrgs, а так же порождало большое число запросов об ошибке платежа.
Caused by: java.security.cert.CertificateException: Domain specific configurations require that hostname aware String) is used
at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:111)
at ru.mail.mrgservice.MRGSX509TrustManager.checkServerTrusted(MRGSX509TrustManager.java:38)
at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:207)
at com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:607)
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
v3.8.101🔗
- Добавлен User-Agent в запросы gdpr
- Исправлены падения по репортам Studio Nord
Caused by: java.lang.NullPointerException: at ru.mail.mrgservice.MRGSGoogleBillingActivity.onActivityResult (MRGSGoogleBillingActivity.java:25)
at android.app.Activity.dispatchActivityResult (Activity.java:6302)
at android.app.ActivityThread.deliverResults (ActivityThread.java:3835)
Caused by at ru.mail.mrgservice.MRGService.uploadFinished (MRGService.java:463)
at ru.mail.mrgservice.MRGSTransferManager.handleLoadData (MRGSTransferManager.java:457)
at ru.mail.mrgservice.MRGSTransferManager.access$600 (MRGSTransferManager.java:27)
at ru.mail.mrgservice.MRGSTransferManager$3.succeeded (MRGSTransferManager.java:163)
at ru.mail.mrgservice.MRGSTransferManager$5.result (MRGSTransferManager.java:430)
at ru.mail.mrgservice.MRGSDevice.generateMrgsDeviceId (MRGSDevice.java:539)
at ru.mail.mrgservice.MRGSDevice.getOpenUDID (MRGSDevice.java:496)
at ru.mail.mrgservice.MRGSTransferManager.requestRestClient (MRGSTransferManager.java:436)
at ru.mail.mrgservice.MRGSTransferManager.sendData (MRGSTransferManager.java:201)
at ru.mail.mrgservice.MRGSTransferManager.access$500 (MRGSTransferManager.java:27)
at ru.mail.mrgservice.MRGSTransferManager$2.run (MRGSTransferManager.java:110)
at java.lang.Thread.run (Thread.java:762)
v3.8.100🔗
- Добавлен метод в Billing для автоматического восстановления зависших транзакций после загрузки информации по продуктам. Для этого необходимо выставить флаг перед перед начало работы с банком:
- Исправлено возможное падение в классе MRGService при обработке ответа о не валидности подписи запроса
Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String ru.mail.mrgservice.MRGSPurchaseItem.type' on a null object reference
at ru.mail.mrgservice.MRGSGoogleBilling.requestSuccess(MRGSGoogleBilling.java:877)
at ru.mail.mrgservice.MRGSGoogleBilling.access$1300(MRGSGoogleBilling.java:33)
at ru.mail.mrgservice.MRGSGoogleBilling$8.run(MRGSGoogleBilling.java:870)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
v3.8.99🔗
- Исправлена ошибка с падением внутри ru.mail.mrgservice.MRGService.uploadFinished(MRGService.java:506)
- deviceToken для Firebase нотификаций отправляется только после инициализации MRGS
v3.8.98🔗
- GameCenter вынесен в отдельный проект
v3.8.97🔗
- Добавлена возможность в Custom нотификациях указывать поле счетчика, куда будет вставляться количество нотификаций при группировке
- Убран пробел в action iuas_click_campaign
- Загрузка изображений в роллере Пилигрим вынесена в отдельный поток
v3.8.95🔗
- Логирование соглашения о принятии GDPR отправляется через https
- При вызове функции sendPaymentInfo данные так же передаются в MyTracker
- Убран сбор IMEI даже если есть пермишн READ_PHONE_STATE
v3.8.94🔗
- MyComSupport checkTickets не будет вызываться, если не проставлен secret
- Убран автоматический вызов MyCom Support checkTickets после авторизации пользователя
- IDFA и OpenUDID в запросе после согласия с GDPR перенесены из GET в POST, так как гугл показывал warning об утечке рекламного идентификатора
- Обновление MyTracker до версии 1.5.3
v3.8.92🔗
- Дополнительные функции для установки CustomView в нотификациях из Unity
v3.8.91🔗
- Обновлена верстка GDPR для совместимости с некоторыми Android устройствами
v3.8.90🔗
- Разнесли отчеты об ошибках при открытии роллера Пилигрим по разным категориям.
v3.8.89🔗
- Исправлена ошибка в Пилигрим. Если, после корректной загрузки, при попытке открыть слайдер, кеш пустой, не показывать слайдер. На сервер теперь отправляется описание ошибки при невозможности показа изображения.
v3.8.88🔗
- Изменили логику выбора изображения для роллера Пилигрим. Теперь для промежуточных разрешений будет выбираться более низкое.
v3.8.87🔗
- Отключено аппаратное ускорение WebView для GDPR на устройствах младше Android 4.4
v3.8.86🔗
- Исправлено отображение GDPR на разных устройствах
v3.8.84🔗
- Определение страны на причастность к GDPR проводится один раз
Пример использования
private MRGSGDPR _gdpr;
@Override
void onCreate(Bundle bundle) {
_gdpr = MRGSGDPR.MRGSGDPRFactory.getMRGSGDPR();
_gdpr.setDelegate(this);
_gdpr.showDefaultAgreementAtActivity(this, "40");
}
@Override
public void onStart() {
super.onStart();
if (_gdpr.getAgreedVersion(this) == _gdpr.getAgreementVersion()) {
MRGService.instance().onStart(this);
}
}
@Override
public void onStop() {
super.onStop();
if (_gdpr.getAgreedVersion(this) == _gdpr.getAgreementVersion()) {
MRGService.instance().onStop(this);
}
}
@Override
public void userHasAcceptedGDPR(boolean withAdvertising) {
initMRGS();
MRGService.instance().onStart(this);
}
@Override
public void errorShowingAgreement() {
finish();
}
v3.8.83🔗
- Добавлена поддержка GDPR. Для отображения соглашения необходимо воспользоваться классом GDPR
Пример использования
private MRGSGDPR _gdpr;
@Override
void onCreate(Bundle bundle) {
_gdpr = MRGSGDPR.MRGSGDPRFactory.getMRGSGDPR();
_gdpr.setDelegate(this);
_gdpr.showDefaultAgreementAtActivity(this, "40");
}
@Override
public void onStart() {
super.onStart();
if (_gdpr.getAgreedVersion(this) == _gdpr.getAgreementVersion()) {
MRGService.instance().onStart(this);
}
}
@Override
public void onStop() {
super.onStop();
if (_gdpr.getAgreedVersion(this) == _gdpr.getAgreementVersion()) {
MRGService.instance().onStop(this);
}
}
@Override
public void userHasAcceptedGDPR(boolean withAdvertising) {
initMRGS();
MRGService.instance().onStart(this);
}
@Override
public void errorShowingAgreement() {
finish();
}
v3.8.82🔗
- Исправлено потенциальное падение в Пилигрим в методе
campaignComplete
v3.8.81🔗
- Добавлена поддержка нового API MyCom Support для проверки наличия ответов на тикеты.
Внимание! Теперь перед проверкой тикетов необходимо выставлять Secret, как это делалось раньше перед открытием окна MyCom Support
MRGSMyComSupport.setSecret("mysecret");
MRGSMyComSupport.setTicketListener(new SupportTicketListener());
MRGSMyComSupport.checkTicketsWithDelay(context, 5*1000);
- Исправлена ошибка отображения баннера в Пилигрим
- Отключен автотрекинг платежей MyTracker
- Исправлено падение внутри MRGSFileManager если не был установлен AppContext
- Исправлено возможное падение в MRGSLocaPushService
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference (at ?)
at ru.mail.mrgservice.MRGSLocalPushService._getAllLocalPushes(MRGSLocalPushService.java:302)
at ru.mail.mrgservice.MRGSLocalPushService.getAllLocalPushes(MRGSLocalPushService.java:296)
at com.my.moba.mrgs.localpushes.LocalPushesWrapper.removeAllLocalPushes(LocalPushesWrapper.java:54)
v3.8.80🔗
- Исправлена ошибка отображения баннера в Пилигрим
v3.8.79🔗
- Изменена логика выбора разрешения изображений в Пилигрим для экранов 1921px и выше
v3.8.78🔗
- Добавлена поддержка загрузки изображений в разных разрешениях для роллера в Пилигрим.
v3.8.77🔗
- При отправке данных о платежах в MyTracker, проверяем возвращаемое значение
- Исправлена ошибка падения в MRGSGCMActivity.processDelegate(MRGSGCMActivity.java:98) если не установлен AppContext
v3.8.76🔗
- Исправлена ошибка, приводящая к неправильному подсчету показов первого баннера в роллере Пилигрим
v3.8.75🔗
- Обновлен MyTracker до версии 1.5.2
- Добавлена возможность при открытии окна MyCom Support добавлять дополнительные параметры в формате JSON
MRGSMyComSupportDialog dialog = new MRGSMyComSupportDialog(this);
dialog.addExtraParam("{\"vip\" : true}");
v3.8.74🔗
- Исправлена ошибка, когда для проектов на GCM использовался токен от Firebase
v3.8.73🔗
- Исправлена ошибка возможного падения в MRGSAdvertisingBitmapLoader на определенных картинках большого размера. Актуально для MRGS Пилигрим Роллер.
v3.8.72🔗
- Изменения в MRGS Пилигрим
v3.8.71🔗
- Изменения в MRGS Пилигрим
- Откатили MyTracker до 1.4.4. Для подключения этой версии в своем проекте необходимо прописать в build.gradle
v3.8.70🔗
- Добавилась поддержка каналов в серверных нотификациях на Android 8.
v3.8.69🔗
- Добавилась поддержка каналов в нотификациях на Android 8.
Убедитесь, что в зависимостях build.gradle версии библиотек совместимости 26.1.0 или выше
По умолчанию все нотификации будут попадать в канал Default, группа Default.
Если вы хотите указать свою группу и свой канал, необходимо их задать при создании нотификации.
notification.setChannelGroupId("mrgs_default_group");
notification.setChannelGroupName("MRGS");
notification.setChannelId("mrgs_default");
notification.setChannelName("Default");
v3.8.68🔗
Важно
Метод closePayment в MRGSBilling объявлен как deprecated, из-за его частого и неправильного использования. Если ваша игра выдает награду не через сервер, то используйте метод notifyMRGSAboutConsume
v3.8.67🔗
- Добавилась поддержка передачи дополнительной информации (developerPayload) в локальных и серверных пуш уведомлениях. Для использования необходимо создать пуш
MRGSPushNotification notification = MRGSPushNotification.create("Test notification", 1, MRGS.timeUnix() + 10);
MRGSMap payload = new MRGSMap();
payload.addObject("params", "hello, world!");
notification.setDeveloperPayload(payload);
MRGSLocalPushService.addLocalPush(notification);
При установке делегата, теперь можно использовать новый интерфейс MRGSPushNotificationExDelegate
class MyNotificationDelegate implements MRGSPushNotificationExDelegate {
void clickOnNotification(int idNotify, String title, String msg, MRGSMap developerPayload, boolean isLocal) {
//your data in developerPayload
}
void receivedNotification(int idNotify, String title, String msg, MRGSMap developerPayload, boolean isLocal) {
//your data in developerPayload
}
}
MRGSLocalPushService.setDelegate(new MyNotificationDelegate());
Старый интерфейс MRGSPushNotificationDelegate по прежнему работает, можете использовать его, просто вам не будет приходить developerPayload
developerPayload так же можно передавать со стороны сервера (там это называется "Дополнительные параметры") в виде JSON объекта. Локально он превратится в MRGSMap
Для установки делегата о групповых нотификациях так же появился новый интерфейс MRGSPushNotificationExGroupDelegate
class MyNotificationGroupDelegate implements MRGSPushNotificationExGroupDelegate {
void clickOnNotificationGroup(int groupId, List<Integer> notificationIds, List<MRGSMap>developerPayload, boolean isLocal);
//your data in developerPayload
}
}
MRGSLocalPushService.setGroupDelegate(new MyNotificationGroupDelegate());
Старый интерфейс MRGSPushNotificationGroupDelegate по прежнему работает, можете использовать его, просто вам не будет приходить developerPayload
v3.8.66🔗
- Исправлена ошибка, которая могла приводит к падению в MRGS Пилигрим
v3.8.65🔗
- Исправлена ошибка, которая могла приводит к падению в MRGS Пилигрим
v3.8.64🔗
- Добавлена возможность у CustomView в нотификациях задавать текст строкой а не id из ресурсов
v3.8.63🔗
- Добавлена возможность у CustomView в нотификациях задавать текст и изображения
v3.8.62🔗
- Обновлен MyTracker до версии 1.4.5. Для подключения этой версии в своем проекте необходимо прописать в build.gradle
Так же обратите внимание, если у вас еще не подключен Google Maven Repository, его надо прописать в корневом build.gradle
Иначе может быть ошибка при сборке с сообщением, что зависимость com.android.installreferrer:installreferrer:1.0 не найдена
v3.8.61🔗
- MinSDK опущен до 15
v3.8.60🔗
- Визуальные изменения в Piligrim
v3.8.59🔗
- Исправлена ошибка возможного падения в MRGService.uploadFinished
v3.8.58🔗
- Исправлена ошибка, когда action clickPushNotification уходил на сервер MRGS без AppId
v3.8.57🔗
- IDFA и OpenUDID убраны из GET внутрь POST запросов. Это важно, если Google прислал вам Warning, что приложение передает рекламный идентификатор в открытом виде.
- Обновился интерфейс MRGS Piligrim
v3.8.56🔗
- у AppsFlyer вызывается метод trackAppLaunch во время инициализации, что должно решить проблему поздней фиксации установок
v3.8.55🔗
- Изменен механизм включения логов у AppsFlyer
v3.8.54🔗
- Обновлен AppsFlyer до версии 4.8.2
v3.8.53🔗
- Исправлено падение по NullPointerException в MRGSLocalPushService.java:59
v3.8.52🔗
- Исправлены ошибки
v3.8.51🔗
- Обновление библиотеки MyTarget до версии 4.6.19
- Обновление библиотеки MyTracker до версии 1.4.0
v3.8.50🔗
- Если включен MyTracker, то теперь по умолчанию все метрики MRGS транслируются в MyTracker. Если есть желание это отключить, то в MRGService.xml, в секции MyTracker необходимо добавить параметр
forwardMetricsи установить его значение в false. Например:<MyTracker enable="true" debug="false" forwardMetrics="false" />. Если ваш проект инициализирует MRGS из кода, без использования xml файла, то при вызовеMRGService.serviceнеобходимо в Bundle sdkBundle поместить
Bundle myTracker = new Bundle();
myTracker.putBoolean("forwardMetrics", false);
sdkBundle.putBundle("MyTracker", myTracker);
v3.8.49🔗
- При осуществлении платежа теперь можно добавлять информацию (developerPayload), которую бы вы хотели получить обратно после успешной операции. Для этого воспользуйтесь методом
MRGSBilling.buyItem(final String id, final String type, final String developerPayload)либоMRGSBilling.buyItem(final MRGSPurchaseItem purchase)предварительно задав нужное значение в поле purchase.developerPayload - Важное изменение для MyCom Support. Теперь в форме ввода обращения пользователя, поле ввода должно подниматься над клавиатурой
v3.8.48🔗
- Исправлены замечания, после проверки тестировщиками
v3.8.47🔗
- Изменения в скриптах сборки
v3.8.46🔗
- Исправлены ошибки
v3.8.45🔗
- Исправлены ошибки
v3.8.42🔗
- Обновилась библиотека myTarget до версии 4.6.13
v3.8.40🔗
- Исправлена ошибка в MRGSGoogleBilling. Для подписок при восстановлении используется текущий userid
v3.8.39🔗
- Исправлена ошибка в MRGSRestClient, из-за которой происходило падение при отсутствии ответа от DNS
v3.8.38🔗
- Исправлена ошибка некорректной передачи userId при платежах через Google Billing
v3.8.37🔗
- Исправлена ошибка нескольких вызовов функции
MRGSBilling.getProductsInfoWithTypes
v3.8.36🔗
- Добавлена поддержка подписок API очень прост. В первую очередь необходимо заменить вызов метода
MRGSBilling.getProductsInfo(final ArrayList<String> idList)наMRGSBilling.getProductsInfoWithTypes(final ArrayList<Pair<String, String>> idList)где каждая пара в массиве - это две строки, первая - название sku, вторая - тип (cons, noncons, subs). Пример использования:
ArrayList<Pair<String,String>>skuList = new ArrayList<>();
skuList.add(Pair.create("ru.mail.games.mrgservisetest.purchase1", "cons"));
skuList.add(Pair.create("ru.mail.games.mrgservisetest.purchase2", "cons"));
skuList.add(Pair.create("ru.mail.mrgs.subs1", "subs"));
skuList.add(Pair.create("android.test.purchased", "cons"));
skuList.add(Pair.create("ru.mail.games.mrgservisetest.fail", "cons"));
MRGSBilling.instance().getProductsInfoWithTypes(skuList);
В остальном покупка подписки осуществляется таким же способом, как и обычной покупки. При вызове метода MRGSBilling.restoreTransaction, если подписка активна, будет вызван метод purchaseComplete у MRGSBillingDelegate, в случае, если подписка не активна, данный метод вызван не будет.
v3.8.35🔗
- myTarget 4.6.3
- AppsFlyer 4.6.5
- Flurry 6.8.0
- myTracker 1.3.9
Добавилась поддержка Firebase Cloud Messaging. Даже если вы не хотите переходить на FCM, пропишите у себя в build.gradle зависимости:
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.firebase:firebase-core:10.0.0'
compile 'com.google.firebase:firebase-messaging:10.0.0'
Если вы хотите перейти на Firebase Cloud Messaging, выполните следующие условия:
- Добавьте ваше приложение в Firebase developer console и скачайте google-service.json
- В файле google-service.json в секции
"api_key" = [], замените на"api_key" = [{"current_key" : "<Ваш Server API key"}]. Server API Key можно получить в Firebase developer console - Этот же Server API Key прописать в настройках вашего приложения на сайте mrgs.astrum.team в поле "Ключ для отправки PUSH нотификаций". Поставьте галочку рядом с полем "Отправлять Push нотификации используя Firebase Cloud Messaging"
- В корневом build.gradle вашего проекта, в секции
buildscript {dependencies{}}пропишите зависимость
- Файл google-service.json необходимо поместить в поддиректорию app внутри вашего проекта (там же, где лежит build.gradle)
- Отредактируйте файл AndroidManifest.xml
Уберите секции
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
<category android:name="ru.mail.mrgservicetest"/>
</intent-filter>
</receiver>
<service
android:name="ru.mail.mrgservice.MRGSGCMIntentService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE"/>
</intent-filter>
</service>
<service
android:name="ru.mail.mrgservice.MRGSInstanceIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID"/>
</intent-filter>
</service>
И добавьте
<service
android:name="ru.mail.mrgservice.MRGSFirebaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service
android:name="ru.mail.mrgservice.MRGSFCMIntentService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
- В коде, перед вызовом MRGService.service(), добавьте вызов функции FirebaseApp.initializeApp(context);
v3.8.34🔗
- Исправлено падение при вызове
MRGSAdvertising.create(context, null, null, null);
v3.8.33🔗
- Добавилась поддержка Interstitial API из myTarget
Для использования нового API важно добавить в MRGService.xml в раздел Adman пункт interstitialSlotId
Работа с новым API идентична работе с обычной витриной. Сначала необходимо вызвать метод MRGSAdvertising.getLastInstance().loadInterstitial(this) После того как придет колбек onLoadComplete с типом AdvertisingType.INTERSTITIAL можно показать витрину с помощью вызова MRGSAdvertising.getLastInstance().openInterstitial()
v3.8.32🔗
- Обновлена библиотека myTarget до версии 4.6.1
- Обновлена библиотека myTracker до версии 1.3.8
- Зависимость от Google Play Services 9.6
v3.8.31🔗
- В локальных пуш уведомлениях добавилась функция для задания заголовка
MRGSPushNotification.setTitle
v3.8.30🔗
- Обновили IInAppBillingService.aidl
v3.8.29🔗
- Обновили версии библиотек
- myTarget 4.5.12
- myTracker 1.3.8
- Chartboost 6.5.1
- Flurry 6.6.0
- Google Conversions 2.2.4
v3.8.28🔗
- В глобальные пуши можно добавлять заголовок, маленькую и большие иконки, если заголовка нет, вставляется название приложения Иконки задаются в разделе Params в админке MRGS, в виде
где icon и largeIcon это имена ресурсов Android приложения
v3.8.27🔗
- Обновлен AppsFlyer до версии 4.6.0
v3.8.26🔗
Обновление актуально для Androi 6.0 и выше. Исправлена ошибка с генерацией DeviceID до получения пермишенов на телефонии (и гугл аккаунт) и после получения пермишенов
v3.8.25🔗
- При отправке INSTALL_REFERRER в mrgs, отправляется не только разобранный referrer, но и изначальный без изменений
v3.8.24🔗
- Исправлена ошибка приводившая к исключению
java.lang.ClassNotFoundException:ru.mail.android.mytracker.campaign.CampaignReceiver
v3.8.23🔗
- Обновился класс
MRGSAdvertising. Добавился методhandleBannerClick(NativeAppwallBanner banner), который необходимо вызывать при нажатии на баннер рекламы myTarget, если разработчик создает кастомный интерфейс витрины
v3.8.22🔗
- Обновился интерфейс
MRGSAdvertising.LoadDelegate. Теперь методonLoadCompleteв последнем параметре получаетList<NativeAppwallBanner>
v3.8.21🔗
- MyCom Support. Если пользователь, при попытке прикрепить файл, отказал в разрешении доступа к внешнему носителю и отметил опцию никогда не спрашивать, а потом еще раз пытается прикрепить файл, можно отобразить диалог а не Activity с сообщение о том, что надо перейти в окно настроек.
- Логирование в MyTracker о совершенной покупке
v3.8.20🔗
- Во все сообщения на сервер добавился идентификатор сессии
v3.8.19🔗
- Поменялись зависимости от myTarget и myTracker
- Добавилась функция
MRGSMyComSupportDialog.setRequestRationalDialogParamsтут можно задать заголовок, текст диалога и тему для объяснения необходимости пермишна (как альтернатива activity). Кнопки по умолчанию OK и Cancel (локализуются системой). ОК - запросит пермишн, Cancel - закроет диалог
v3.8.18🔗
- Добавлена обработка разрешения при работе с окном суппорта
- Поправлена смена id устройства при смене пользователя
v3.8.17🔗
- Поправлено падение при отказе от покупке
v3.8.16🔗
- Добавлены функции генерации UDID для targetSdkVersion меньше 23, для совместимости
v3.8.15🔗
- Поправлены платежи на Хуавей устройствах с OS старше 5.0
- Обновились версии myTracker и myTarget
- Добавился aar файл в архив
ОБРАТИТЕ ВНИМАНИЕ
Изменился package name у myTracker. Обновите AndroidManifest.xml Необходимо заменить <service android:name="ru.mail.android.mytracker.campaign.CampaignService"/> на <service android:name="com.my.tracker.campaign.CampaignService"/>
v3.8.14🔗
- Теперь поддерживается API Level 23
- Поменялся вызов getOpenUDID, он стал асинхронным (смотри Migration_ru.md)
v3.7.13🔗
- Обновлены SDK myTracker и myTarget. Добавлена функция MRGSAir_watchDog для Air SDK.
v3.7.12🔗
- Покупки по промо коду помечаются как promo, а не sandbox
v3.7.11🔗
- Исправлены ошибки связанные с AmazonBilling
- В конструктор MRGSMyComSupportDialog добавлен параметр hwAcceleration (включить/выключить аппаратное ускорение у WebView). По умолчанию включено (как было раньше), но можно отключать для специфических устройств (например Amazon Kindle Fire HD)
v3.7.10🔗
- Обновлены библиотеки myTarget до версии 4.3.6 и myTracker до версии 1.2.2
v3.7.9🔗
- Исправлена ошибка с записью в лог биллинга
v3.7.8🔗
- Добавлена возможность задавать текст и категорию при открытии окна My.com Support
v3.7.7🔗
- Исправлена привязка к жизненному циклу активности
v3.7.6🔗
- Исправлена ошибка с сохранением буфера отправки
v3.7.5🔗
- Исправлена незначительная ошибка в Google Billing, которая приводила к выводу ошибки в лог. На платежи это никак не сказывается!
v3.7.4🔗
- Исправлена опечатка в названии параметра, отвечающего за локальные уведомления. В MRGService.xml никаких изменений вносить не требуется.
Если вы передавали параметры MRGS через код, то необходимо заменить параметр "localPushNotification" на "localPushNotifications" (добавилась 's' в конце)
v3.7.3🔗
- Обновлены сервисы Google Play Services до версии 8115000
v3.7.2🔗
- Обновлен Aps Flyer до версии 2.3.1.18
- Обновлен Charboost 5.5.3
- Обновлен Flurry до версии 6.0.0
- Обновлен Google Conversion до 2.2.3
- Обновлен myTarget до 4.0.16
- Обновлен myTracker до 1.1.4
- Изменился MRGSAdvertising.LoadDelegate - добавился метод public void onVideoComplete(MRGSAdvertising.AdvertisingType type), вызывается на окончание просмотра видео т.е. когда можно давать награду за просмотр рекламы
- Добавлена обработка невалидных данных платежей от samsung
Для Charboost требуется пермишн WRITE_EXTERNAL_STORAGE, если его не установить charboost будет выключен
v3.7.1🔗
- Обновлен Aps Flyer до версии 2.3.1.17
v3.7.0🔗
- Обновлены сервисы Google Play Services до версии 7571000
- Обновлена библиотека android-support-v4
- Внедрение последней версии Google Cloud Messaging
На Android 2.2 теперь не будут работать PUSH-уведомления
В AndroidManifest.xml требуется внести коррективы для нового GCM. За подробностями обращайтесь к файлу Migration_ru.md, который идет в архиве MRGS
v3.6.5🔗
- Исправлено падение приложения при первом запуске
v3.6.4🔗
- myTarget v 4.0.4
- В MRGSAdvertising#release добавлено принудительное освобождение ресурсов fullscreen баннера
v3.6.3🔗
- Добавлена проверка взломано устройство или нет;
- В окно поддержки My.com добавлена возможность выставить слушателя для получения событий.
По последнему пункту подробнее читайте в инструкции по использованию MRGS
v3.6.2🔗
- Исправлено дубликатное проведение платежа через промо-код;
ОБРАТИТЕ ВНИМАНИЕ, на параметр answer в методе purchaseComplete в слушателе покупок MRGSBillingDelegate. В этом параметре приходит ответ от сервера MRGS, позволяющий понять, что именно произошло с покупкой и почему она успешна. Если сервер ответил "OK" (латиницей), то это значит, что платеж валиден и можно отправлять его в сторонние системы, в которые MRGS не отслеживает автоматически. Например, в Facebook. Также возможны и другие варианты, например "OK. Платеж уже существует и уже закрыт!".
v3.6.0🔗
- Adman заменен на myTarget 4.0.1;
ОБРАТИТЕ ВНИМАНИЕ, что библиотеки Adman больше не существует. Поэтому в проекте вам необходимо заменить adman.jar на myTarget.jar. Также в коде вам следует отказаться от вызовов MRGSAdvertising.releaseShowcase() и MRGSAdvertising.releaseFullscreen(). Вместо них следует вызывать единый метод MRGSAdvertising.release(). Следует понимать, что экземпляр MRGSAdvertising привязан к активности и, соответственно, к ее жизненному циклу. Поэтому вызывать release() необходимо в парном к createInstance() методе (с точки зрения жизненного цикла активности). Например, если вы создаете экземпляр в onCreate, то освободить ресурсы следует в onDestroy.
v3.5.3🔗
- Обновлен myTracker до версии 1.0.19;
- Исправление падения при проведение платежа через промо-код;
- Исправлено падение, если в игре более 15 внутриигровых покупок.
v3.5.2🔗
- Исправления в рендеринге саппорта My.com
Если вы используете My.Com Support, то РЕКОМЕНДУЕТСЯ в тег application в AndroidManifest.xml добавить атрибут
v3.5.1🔗
- Убрана возможность отправлять файлы на сервер MRGS;
- Исправлено падение в биллинге Samsung для Android 5.0 и выше.
v3.5🔗
- Исправлены платежи в Amazon;
- Поправлено заполнение поля transactionId в Amazon-платежах.
v3.4.13🔗
- Обновлен myTracker до версии 1.0.14;
v3.4.12🔗
- Более детальные метрики на запуск приложения
v3.4.11🔗
- Исправлена проблема с "дерганным" рендерингом окна My.com Support;
- Добавлен индикатор загрузки на окно My.Com Support;
v3.4.10🔗
- Обновлен myTracker до версии 1.0.12;
- Отправка на сервер цены и кода валюты при покупке;
- Обновлен Amazon in-app до версии 2.0.61;
v3.4.9🔗
- Добавлена возможность создавать произвольное количество витрин Adman’а;
v3.4.8🔗
- Отправка IMEI в каждом запросе;
- Исправление падения в Google Billing при неожиданном отключении сервиса;
v3.4.7🔗
- Поправлено падение если в системе был испорчен ArrayBlockingQueue
v3.4.6🔗
- Обновлен myTracker до версии 1.0.11
v3.4.5🔗
- Трекинг клика по серверному пуш уведомлению;
- Исправлено получение Advertising ID для версий Android менее 4.0.
v3.4.4🔗
- Добавлен кэш для OpenUDID’ов.
v3.4.3🔗
- Сокращено время инициализации сервиса.
v3.4.2🔗
- Исправлено кэширование офферов в витрине Adman
v3.4.1🔗
- Исправлено подвисание при отсутствии интернета при включенном сборе геоданных.
v3.4.0🔗
- Исправление загрузки витрин на старых версиях Android;
- Удалена старая реализация MRGSAdman и все связанные с ней методы в MRGService (начинались с префикса “adman”). Вместо этих метод следует использовать класс MRGSAdvertising, который реализует аналогичный функционал;
- В Adman callback onNoAdd() добавлен тип рекламы, чтобы можно было понять для чего именно нет данных: для витрины или баннеров;
- Обновлен Adman до версии 2.1.37;
v3.3.10🔗
- Исправление Google-биллинга для Android 5.0
v3.3.9🔗
- Добавлен обратный вызов для Adman при отсутствии рекламы.
v3.3.8🔗
- Исправление ситуации, когда приложение зависало при возникновении необработанного исключения;
- Исправлено падение в Adman при неустановленном слоте для полноэкранных баннеров.
v3.3.7🔗
- Добавлена возможность программно задать источник установки для предустановленных приложений
Задать источник установки можно двумя способами:
- Через файл MRGService.xml: в тег Options добавить тег utmSource, в который положить источник. Например:
<utmSource>test-utm-source</utmSource> - Программно. Передать в MRGSerivce.service() параметр options в виде Bundle, в которой положить ключ "utmSource".
v3.3.5🔗
- Обновление Google Play Services до версии 6171000
- Обновлен Google Analytics до версии 4
- Исправлено падение при логине в Samsung
- Добавлен механизм пересылки источника предустановки в сторонние системы
ОБРАТИТЕ ВНИМАНИЕ
- В AndroidManifest.xml заменить
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService"/>
на
<service android:name="com.google.android.gms.analytics.CampaignTrackingService"/> - Удалить libGoogleAnalyticsServices.jar из проекта;
- Добавить google-play-services.jar (и желательно ресурсы к проекту)
v3.3.4🔗
- Обновлен Flurry до версии 4.2.0
v3.3.3🔗
- Добавлены методы для закрытия адмана и освобождения занимаемых ресурсов
Методы closeShowcase() и closeFullscreen() закрывают витрину и баннер соответственно. Их рекомендуется вызвать в методе onStop() у Activity.
Методы releaseShowcase() и releaseFullscreen() освобождают занимаемые витриной и баннером ресурсы соответственно. Освобождать ресурсы баннера рекомендуется сразу после его закрытия, так как картинка может занимать в памяти много места. Последующие вызовы loadShowcase() и loadFullscreen() загрузят необходимые ресурсы заново, поэтому пересоздавать экземпляр MRGSAdvertising не нужно.
v3.3.2🔗
- Обновлен Адман до версии 2.1.35
- Полноэкранные баннеры Adman
Класс MRGSAdman помечен как устаревший и вскоре будет удален. Тоже самое произойдет и с методами с префиксом adman в MRGService. Вместо них следует пользоваться классом MRGSAdvertising. Создавать объект нужно только в той активности, где планируется использовать витрину или баннеры. Также программист сам решает, когда начинать загрузку данных.
Пример использования:
final MRGSAdvertising adman = MRGSAdvertising.createInstance(this);
adman.setShowcaseTitle("Больше Игр!");
adman.loadShowcase(new MRGSAdvertising.LoadDelegate() {
@Override
public void onLoadComplete(final MRGSAdvertising.AdvertisingType type, final boolean notification) {
adman.openShowcase();
}
@Override
public void onViewComplete(final MRGSAdvertising.AdvertisingType type) {
}
});
Для баннеров следует использовать методы loadFullscreen() и openFullscreen().
Также в MRGService.xml в раздел Adman нужно добавить атрибут fullscreenSlotId, куда прописать слот для полноэкранных баннеров.
Для удобства есть метод MRGSAdvertising.getLastInstance(), который возвращает последний созданный объект. Это может помочь избежать создания нового поля в Activity для хранения экземпляра MRGSAdvertising.
v3.3.1🔗
- Исправлено падение при неустановленной иконке для пуш уведомлений
v3.3.0🔗
- Изменения в передаче контекста в MRGS
- Исправления в callback’е для клика по пуш уведомлениям
- Исправление ошибки с иконкой для серверного пуша
- Обновлен Adman до версии 2.1.33
- Обновлен myTracker до версии 1.0.9
- В архив добавлен валидатор AndroidManifest.
В AndroidManifest.xml требуется внести некоторые изменения:
- Удалить сервис
<service android:name="ru.mail.mrgservice.MRGSLocalPushService"/> - Переименовать пакет у сервиса
<service android:name="com.my.android.mytracker.campaign.CampaignService"/>
на
<service android:name="ru.mail.android.mytracker.campaign.CampaignService"/>
Если вы планируете использовать группировку пуш уведомлений, то также следует добавить в манифест следующий ресивер<receiver android:name="ru.mail.mrgservice.MRGSNotificationDeleteReceiver"/>
Чтобы проверить корректность AndroidManifest.xml воспользуйтесь утилитой mrgsmanifest. При запуске без параметров она подскажет как правильно ее запустить.
Внимание
В MRGS поменялся механизм хранения контекста приложения. Теперь необходимо этот контекст передать как можно раньше, до любого обращения к MRGS. Сделать это можно в методе onCreate у приложения с помощью вызова
MRGService.setAppContext(getApplicationContext());
Или же можно наследовать ваше приложение от MRGSBaseApplication.
Еще потребуется удалить вызов метода MRGSLocalPushService.runService(...).
DEPRECATED
Просим обратить внимание на то, что некоторые методы были помечены как deprecated. Например методы работы с локальными пуш уведомлениями. Это значит, что в ближайших релизах эти методы будут удалены из MRGS.
v3.2.17🔗
- Добавлена возможность полного выключения пуш уведомлений
v3.2.16🔗
- Исправлено падение при регистрации пуш уведомлений
- Обновлен Adman до версии 2.1.32
- Исправлена ошибка с установкой заголовка витрины в Adman
- Добавлена возможность инициализировать Adman только в требуемых активностях
- Исправления ошибок в менеджере геопозиции
Внимание
В идеале Adman нужно инициализировать только на тех активностях, где планируется показывать витрину. Если на какой-либо активности показ витрины не требуется, то в ее методе onStart() следует вызывать следующий код:
MRGService.instance().onStart(this, false);
вместо
MRGService.instance().onStart(this);
v3.2.15🔗
- Добавлена группировка пуш уведомлений
- Исправлено падение при добавлении записей в PayLog
- Обновлен myTracker до версии 1.0.7
- Обновлен Adman до версии 2.1.30
v3.2.14🔗
- Поправлено падение найденное при помощи ICQ (checkPermission)
- Нотификации сделаны с поддержкой большого текста
v3.2.13🔗
- Поправлена загрузка файлов в MyComSupport
- Поправлено падение найденное при помощи ICQ (getCountry)
v3.2.12🔗
- Добавлена поддержка большой иконки в пуш уведомлении, обычная используется для отображения в системном статус баре и должна по требованию Гугла быть 24х24 (и не цветной), большая иконка видна когда область уведомления разворачивают. Если не добавлять новые параметры, все будет вести себя как прежде.
- Добавлен необязательные параметр настройки pushLargeIcon в MRGService.xml
- Добавлен необязательный параметр JSON largeIcon для внешних нотификаций
v3.2.11🔗
- Поправлена загрузка файлов в MyComSupport
- Добавлена поддержка 4.4
v3.2.10🔗
- Нормально обрабатывается кнопка Back в MyComSupport
- Внешние ссылки в MyComSupport открываются в браузере
v3.2.8🔗
- Исправлено падение при отложенной инициализации пуш уведомлений
v3.2.7🔗
- Исправлено падение при проверке обновлений по тикетам в My.com Support
v3.2.6🔗
- Добавлена программная проверка наличия обязательных библиотек
- Добавлена возможность прикреплять файлы к тикету в My.com Support
ВНИМАНИЕ
Для корректной работы My.com Support надо прописать следующую активность в AndroidManifest: <activity android:name="ru.mail.mrgservice.MRGSMyComSupportUtilActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"/> А также добавить новый permission: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
v3.2.5🔗
- Исправление ошибок, связанных с окном My.com Support
v3.2.4🔗
- Исправление ошибок, связанных с окном My.com Support
- Обновлен Chartboost до версии 5.0.2
- Обновлен myTracker до версии 1.0.5
v3.2.0🔗
- Работа со сторонними SDK переделана на рефлекшн
- Сокращено время инициализации MRGS
- Исправлена ошибка с отправкой действия applicationExit на сервер MRGS
- Отправка действия online на сервер MRGS
v3.1.8🔗
- Исправления в нотификациях по тикетам в My.com Support
- Исправления в окне My.com Support на старых версиях Android
- Добавлена обработка PACKAGE_REMOVED для AppsFlyer
v3.1.7🔗
- Новое окно My.com Support
- Отслеживание платежей в Google Conversion
- Обновлен Chartboost до версии 5.0
v3.1.5🔗
- Уменьшение времени работы в главном потоке и увеличение общей производительности
- Добавлена возможность прокинуть инсталл рефер в сторонние ресиверы
Чтобы прокинуть рефер в сторонние ресиверы необходимо в AndroidManifest в тег <application> добавить строки, аналогичные следующим:
<meta-data android:name="ru.mail.mrgservice.install_refer_forward.1" android:value="com.example.InstallReferrerReceiver" />
<meta-data android:name="ru.mail.mrgservice.install_refer_forward.2" android:value="com.example.InstallReferrerReceiver" />
<meta-data android:name="ru.mail.mrgservice.install_refer_forward.3" android:value="com.example.InstallReferrerReceiver" />
v3.1.4🔗
- Отслеживание первого запуска в Google Conversion
- Отслеживание эффективной регистрации в Google Conversion
- Увеличение производительности при сборе данных о памяти устройства
- Увеличение производительности при работе с SharedPreferences
- Исправление падения при выключенном биллинге (Air)
v3.1.3🔗
- Исправлено падение при сборе информации о девайсе во время работы MRGSGCMIntentService с отсутствующим контекстом
- Обновлен Chartboost до версии 4.1.2
- Исправления в регистрации пуш уведомлений на клиенте
- Исправлена логика для приложений, в которых несколько активностей
- Обновлен myTracker до версии 1.0.3
v3.1.2🔗
- Добавлена возможность программной установки параметров сторонних SDK
v3.1.1🔗
- Обновлен myTracker до версии 1.0.2
v3.1.0🔗
- Возможность отметить приложение как “обновленное"
- Обновлен Google Conversion Tracking с версии 1.1.1 до 2.2.0
- Автоматический сбор статистики через Google Conversion Tracker
- Интегрирован MyTracker версии 1.0.1
- Обновлен Adman до версии 2.1.23
!!! ВНИМАНИЕ !!!
В AndroidManifest необходимо внести следующие изменения: Удалить:
<service android:name="com.my.android.adman.services.AdmanService" android:enabled="true"/>
Добавить:
<service android:name="com.my.android.mytracker.campaign.CampaignService" />
Также в MRGService.xml переименовать AdmanTracker в MyTracker
v3.0.30🔗
- Корректная отправка Advertising ID на сервер на старте приложения
v3.0.29🔗
- Исправлено падение при отключенном биллинге
- Отправка UDID на старте приложения
v3.0.28🔗
- Исправлено падение при включенном биллинге samsung на устройстве без этого биллинга
v3.0.27🔗
- Исправлена обработка ошибки покупки товара (теперь в callback MRGSBillingDelegate.purchaseFail может прийти null в параметре item)
v3.0.26🔗
- Обновлен AppsFlyer до версии 2.3.1.8
- Обновлен FlurryAnalytics до версии 4.1.0
- Обновлен Chartboost до версии 4.1.1
v3.0.25🔗
- Экстренное обновление Adman
v3.0.24🔗
- Теперь MRGS не получает номер телефона пользователя (по просьбе Google)
v3.0.23🔗
- Обновлен Adman до версии 2.1.14
v3.0.20🔗
- Исправление падения при сохранении isntall refferer
- Метод для добавления информации о Samsung-товаре
v3.0.18🔗
- Обновление Адман до 2.1.10
- Удален устаревший класс MRGSMoreGames
v3.0.17🔗
- Методы для сериализации MRGSPurchaseItem в строку и обратно
v3.0.16🔗
- Исправлены названия полей товаров в магазине (для AIR)
v3.0.15🔗
- Добавлен callback для ошибок магазина Samsung (для AIR);
- Исправлена ошибка в callback'ах для платежей.
v3.0.14🔗
- Обновлен Adman до версии 2.1.6
v3.0.13🔗
- Обновлен Adman до версии 2.1.5
v3.0.12🔗
- Трекинг платежей только в случае успешной валидации на сервере MRGS
v3.0.11🔗
- Исправлено падение при обработке ответов от сервера
v3.0.10🔗
- Добавлена валидация e-mail адреса в окне отправки отзыва. Чтобы изменить текст сообщения об ошибке можно выполнить следующий код:
MRGSSendFeedbackActivity fb = MRGSSendFeedbackActivity.create();
fb.setFeedBackEmailNotValid(ERROR_TEXT);
fb.open();
v3.0.9🔗
- Исправлена ошибка с окном MRGSRate (При отображении двух кнопок, кнопка Cancel не правильно себя вела)
v3.0.8🔗
- Исправлена ошибка с падением при старте при выключенном интернете
v3.0.7🔗
- Исправлена ошибка с восстановлением платежей
v3.0.6🔗
- Обновилась версия Adman до 2.0.14
v3.0.5🔗
- Исправлены ошибки с обработкой серверных пуш уведомлений
- Появилась возможность устанавливать иконку для пуш нотификаций
- Обновилась версия Flurry до 3.4.0
- Был встроен Google Conversion
v3.0.4🔗
- Новый класс MRGSSocial Предназначен для отправки в MRGS социальных данных о пользователе
v3.0.3🔗
- Обновление внешних библиотек: AdMan (2.0.10)
v3.0.2🔗
- Обновился Adman до версии 2.0.8
- Исправлено падение при вызове методов Adman'a
Дата создания: 2020-03-02