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

Подключение Android SDK🔗

Минимальные требования🔗

Минимальная поддерживаемая версия Android 4.4 (api 19);

Интеграция🔗

Шаг 1 - Добавьте библиотеку в проект🔗

Установите MRGS SDK, используя предпочитаемый вами метод: через Maven или Ручная установка. А так же не забудьте подключить сервисы в зависимости от того через какой магазин вы планируете распространять ваше приложение.

Gradle - Maven установка🔗

  • Добавьте MRGS Maven репозиторий в корневой build.gradle (для com.android.tools.build:gradle:7.0.4 и ниже ) или в settigns.gradle (для com.android.tools.build:gradle:7.1.0 и выше) файл вашего проекта:
allprojects {
    repositories {
        google()
        mavenCentral()
        // MRGS Maven repository.
        maven { url 'https://mrgs-nexus.my.games/repository/maven2/' }
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // MRGS Maven repository.
        maven { url 'https://mrgs-nexus.my.games/repository/maven2/' }
    }
}
  • Добавьте следующие зависимости в файл build.gradle вашего приложения:
dependencies {
    def mrgsVersion = "6.x.x"

    implementation "games.my.mrgs:core:$mrgsVersion"
}

Gradle - Ручная установка🔗

  • Загрузите последнюю версию библиотеки с сайта MRGS. Распакуйте архив.
  • Скопируйте из архива файл MRGService.aar в директорию с библиотеками своего проекта (обычно libs)
  • Добавьте директорию libs в раздел flatDir списка репозиториев в build.gradle
allprojects {
   repositories {
      flatDir {
        dirs 'libs'
      }
      google()
      jcenter()
   }
}

Google Play Store - Подключение сервисов🔗

Если ваше приложение нацелено на Google Play Store, то следует добавить следующие зависимости:

dependencies {
    implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
    implementation 'com.google.android.gms:play-services-appset:16.0.2'
}

Huawei/AppTouch Store - Подключение сервисов🔗

Если ваше приложение нацелено на Huawei/AppTouch Store, то следует добавить следующие зависимости:

dependencies {
    implementation 'com.huawei.hms:ads-identifier:3.4.62.300'
    implementation 'com.huawei.hms:opendevice:6.11.0.300'
}

Шаг 2 - Вызовите метод инициализации🔗

Вызовите метод инициализации MRGServices.service в методе onCreate класса Application, либо в методе onCreate класса вашей главной Activity. В качестве аргументов необходимо передать Context, а также MRGS_APP_ID, CLIENT_SECRET.

import games.my.mrgs.MRGSPlatform;
import games.my.mrgs.MRGService;
import games.my.mrgs.MRGServiceParams;

public class YourApplicationClass extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        final MRGServiceParams serviceParams = MRGServiceParams.init(<MRGS_APP_ID>, <CLIENT_SECRET>, MRGSPlatform.ANDROID);
        serviceParams.setDebuggable(false);

        MRGService.service(context, serviceParams);
    }
}
MRGS_APP_ID и CLIENT_SECRET

MRGS_APP_ID - ID приложения на сайте MRGS. CLIENT_SECRET - Клиентский ключ. Их можно получить на сайте MRGS в разделе настройки вашего приложения app_settings

Шаг 3 (Опциональный) - Добавьте трекинг входа в игровой аккаунт🔗

Если ваше приложение использует идентификатор игрока (USER_ID), его необходимо передать в MRGS с помощью метода:

MRGSUsers.getInstance().setUserId(USER_ID);

Шаг 4 - Добавьте трекинг платежей🔗

Биллинг MRGS

Трекинг платежей необходим в том случае, если вы не используете модуль MRGSBilling.

После валидации платежа необходимо сообщить данные о нем в MRGS.

MRGSMetrics.addPurchase(MRGSPurchaseEvent);
Пример для Amazon

productJson - информация о товаре в формате JSON. Получить ее можно вызвав метод com.amazon.device.iap.model.Product#toJSON()
receiptJson - информация о покупке в формате JSON. Получить ее можно вызвав метод com.amazon.device.iap.model.Receipt#toJSON()
userDataJson - информация о покупателе в формате JSON. Получить ее можно вызвав метод com.amazon.device.iap.model.UserData#toJSON()

MRGSPurchaseEvent event = MRGSPurchaseEvent.amazon(productJson, receiptJson, userDataJson);
MRGSMetrics.addPurchase(event);
Пример для Android

skuDetails - информация о товаре в формате JSON. Получить ее можно вызвав метод getSkuDetails
purchaseData - это INAPP_PURCHASE_DATA поле полученное из ответа Google после покупки getBuyIntent
dataSignature - это INAPP_DATA_SIGNATURE поле полученное из ответа Google после покупки getBuyIntent

MRGSPurchaseEvent event = MRGSPurchaseEvent.google(skuDetails, purchaseData, dataSignature);
MRGSMetrics.addPurchase(event);
Пример для Huawei/AppTouch

inAppPurchaseDataJson - информация о покупке в формате JSON. Получить ее можно вызвав метод com.huawei.hms.iap.entity.PurchaseResultInfo#getInAppPurchaseData()
inAppSignature - зашифрованная платежная информация. Получить ее можно вызвав метод com.huawei.hms.iap.entity.PurchaseResultInfo#getInAppDataSignature()

MRGSPurchaseEvent event = MRGSPurchaseEvent.huawei(inAppPurchaseDataJson, inAppSignature);
MRGSMetrics.addPurchase(event);
Пример для Samsung

productVoJson - информация о товаре в формате JSON. Получить ее можно вызвав метод com.samsung.android.sdk.iap.lib.vo.ProductVo#getJsonString()
purchaseVoJson - информация о покупке в формате JSON. Получить ее можно вызвав метод com.samsung.android.sdk.iap.lib.vo.PurchaseVo#getJsonString()

MRGSPurchaseEvent event = MRGSPurchaseEvent.samsung(productVoJson, purchaseVoJson);
MRGSMetrics.addPurchase(event);
Пример для сторонних платежных систем

Начиная с версии MRGS 6.1.0, появилась возможность отправлять информацию по платежам для любых сторонних платежных систем в MRGS. К таким платежам не будет применяться валидация платежей, и такие платежи будут записываться в базу данных как есть:

String transactionId = "1234-5678-000-ABCD";
String productId = "com.your.product.custom1";
float price = 10f;
String priceCurrency = "USD";
MRGSRevenue product = MRGSRevenue.newBuilder(transactionId, productId, price, priceCurrency)
    .setTitle("Custom Product")
    .setDescription("Custom product need for test")
    .build();
MRGSPurchaseEvent customPurchaseEvent = MRGSPurchaseEvent.custom(product);
MRGSMetrics.addPurchase(customPurchaseEvent);

Проверка интеграции🔗

После завершения интеграции MRGS, мы рекомендуем убедиться в том, что библиотека работает корректно. О том как провести данную процедуру, читайте в разделе Проверки интеграции и поиск неисправностей


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