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

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

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

Шаг 1 - Включите режим отладки🔗

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

import games.my.mrgs.MRGSExternalSDKParams;
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();

        // Setting MRGService
        // Available MRGSPlatform: AMAZON, ANDROID, HUAWEI, SAMSUNG and FACEBOOK_CLOUD
        final MRGServiceParams serviceParams
                = MRGServiceParams.init(<MRGS_APP_ID>, <CLIENT_SECRET>, MRGSPlatform.ANDROID)
        serviceParams.setDebuggable(true);

        // Setting External SDKS
        final MRGSExternalSDKParams externalSDKParams = MRGSExternalSDKParams.newInstance();
        // ...

        externalSDKParams.myTrackerParams = myTrackerParams;

        MRGService.service(context, serviceParams, externalSDKParams);
    }
}

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

Для корректной проверки интеграции, необходимо совершить ряд действий, которые описаны в разделе Установка:

  • Вызвать инициализацию библиотеки
  • Вызвать метод трекинга запуска игры
  • Установить id пользователя (если он есть)
  • Совершить тестовый платеж

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

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onStop() {
        super.onStop();

        // Call checkIntegration
        MRGService.getInstance().checkIntegration();
    }
}

Получение результатов проверки в виде строки

Если вам неудобен вывод в лог, то вы можете получить результаты проверки в виде строки, для этого воспользуйтесь методом:

import androidx.annotation.NonNull;

import games.my.mrgs.MRGSIntegrationCheckResult;
import games.my.mrgs.MRGService;
import games.my.mrgs.utils.optional.Consumer;

MRGService.getInstance().checkIntegration(new Consumer<MRGSIntegrationCheckResult>() {
    @Override
    public void accept(@NonNull MRGSIntegrationCheckResult result) {
        switch (result.getStatus()) {
            case PASSED:
                // Integration check passed successfully.
                // Get result as String
                result.getCheckResult();
                break;
            case FAILED:
                // There are some problems.
                // Get result as String
                result.getCheckResult();
                break;
            case DISABLED:
                // Looks like you forgot enable debug for MRGService.
                break;
        }
    }
});

Важно

Удостоверьтесь, чтобы данный код не попадал в релиз вашего приложения, то есть вызывать данный метод можно только в тестовой среде.

Шаг 3 - Запустите приложение🔗

Запустите приложение, дождитесь инициализации mrgs, выполните инициализацию MRGS, совершите тестовый платеж, после чего сверните приложение

Шаг 4 - Просмотр результата проверки интеграции🔗

Для просмотра логов, воспользуйтесь командой adb logcat. Можно сразу отфильтровать по ключу MRGService

adb logcat | grep -e MRGService

Строка "All checks has passed correctly" в выводе лога означает, что интеграция прошла корректно. Вот пример отображения статуса интеграции:

---------------------------------------------------------------------------
---------------------- [MRGS INTEGRATION CHECK] ---------------------------
---------------------------------------------------------------------------
MRGS integration check results:
MRGSFrameworkVersion:
   MRGSVersion: 4.0.7
   MRGSBuild: 11190
BaseSettings:
   appID: XXX
   appSecret: XXXXXXXXXXXXX
   isTestDevice: false
InitialisationProcess:
   allExternalSDKStarted: true
   mrgsInitWasCalled: true
   onStartCalled: true
   onStopCalled: true
   advertising identifier collected: true
   install referrer received: true
   install referrer forwarded to MyTracker: true
   install referrer forwarded to AppsFlyer: true
   mrgsInitialized: true
Network:
   networkRequestCompletedSuccessfully: true
   atLeastOneNetworkRequestCompleted: true
MyTrackerSettings:
   MyTrackerEnabled: true
   MyTrackerMetricsForwardingEnabled: true
Bank:
   AllBankMethodsWasCalled: true
   PaymentsAreHeldByMRGS: true
Users:
   userAuthorizationSuccessful: true
Advertising:
   loadAdvertisingWasCalled: false
   loadAdvertisingWasCalledWithLoadedAdvertising: false
   showAdvertisingWasCalled: false
---------------------------------------------------------------------------
MRGS integration recommendations:
All checks has passed correctly
---------------------------------------------------------------------------
MRGS settings:
   Bundle[{localPushNotifications=true, locations=false, billing=google, pushNotifications=879937202927, debug=true, crashReports=false, testDevice=false, pushIcon=push_icon}]
MRGS external SDK settings:
   Bundle[{GoogleAnalytics=Bundle[{enable=true, exceptionHandler=true, trackingId=UA-45510902-33, logLevel=0}], MyTracker=Bundle[{enable=true, appId=XXXXXXXXX, debug=true}], Adman=Bundle[{enable=true, slotId=10093, interstitialSlotId=169263, debug=false, fullscreenSlotId=10095}], AppsFlyer=Bundle[{enable=true, app_key=XXXXXXXXX, debug=false}], MyComSupport=Bundle[{enable=true, secret=dfdflls, projectId=40}], SamsungBilling=Bundle[{enable=false, mode=test}], Flurry=Bundle[{enable=false, applicationKey=XXXXXXXXX}]}]

---------------------------------------------------------------------------
------------------ [MRGS INTEGRATION CHECK FINISHED] ----------------------
---------------------------------------------------------------------------
  • MRGSVersion - Номер версии библиотеки MRGS
  • MRGSBuild - Номер сборки библиотеки MRGS
  • appID - ID приложения, используемое при инициализации MRGS
  • appSecret - Клиентский ключ. Обратите внимание на параметры appID и appSecret. Иногда при сборке разработчики используют эти параметры от тестового приложения
  • isTestDevice - В релизной сборке этот параметр обязательно должен быть false
  • allExternalSDKStarted - Все ли SDK, указанные при инициализации MRGS, были запущены. Если параметр false, стоит посмотреть логи, возможно там будет исключение или информация об ошибке
  • mrgsInitWasCalled - Метод инициализации MRGS был вызван
  • onStartCalled - Трекинг запуска приложения был вызван
  • onStopCalled - Трекинг сворачивания приложения был вызван
  • advertising identifier collected - Рекламный идентификатор получен. (GAID на Android и IDFA на iOS). Без этого идентификатора статистика в MRGS/MyTracker/1link будет считаться некорректно
  • mrgsInitialized - Процесс инициализации MRGS был корректно завершен
  • Трекинг установки
    • install referrer received - INSTALL_REFERRER был передан перед запуском и MRGS его получил.
    • install referrer forwarded to MyTracker - INSTALL_REFERRER был корректно перенаправлен в MyTracker
    • install referrer forwarded to AppsFlyer - INSTALL_REFERRER был корректно перенаправлен в AppsFlyer
  • Сеть
    • networkRequestCompletedSuccessfully - Если этот параметр false, с большой вероятность сервер MRGS не смог расшифровать запрос. Проверьте appId и secret вашего приложения.
    • atLeastOneNetworkRequestCompleted - Если этот параметр false, значит ни один запрос не завершился корректно. Возможно проблемы с сетью.
  • MyTracker
    • MyTrackerEnabled - Если этот параметр false, то это значит, что MyTracker не был включен при инициализации MRGS. Проверьте настройки MyTracker при инициализации.
    • MyTrackerMetricsForwardingEnabled - Если этот параметр false, значит MRGS не будет передавать метрики в MyTracker. Проверьте настройки MyTracker при инициализации.
  • Платежи
    • AllBankMethodsWasCalled - Если этот параметр false, значит не все необходимые методы по работе с банком были вызваны. В разделе MRGS integration recommendations они будут перечислены.
    • PaymentsAreHeldByMRGS - Если этот параметр false, значит игра использую свою систему по работе с платежами (банком) и лишь информирует MRGS о совершении платежа.
  • Трекинг входа в игровой аккаунт
    • userAuthorizationSuccessful - Если этот параметр false, значит не был вызван метод для авторизации пользователя.
  • Кросс-промо (Пилигрим)
    • loadAdvertisingWasCalled - Если этот параметр false, значит метод loadContent для системы Пилигрим не был вызван (опционально, только если проект подключен к системе Пилигрим).
    • loadAdvertisingWasCalledWithLoadedAdvertising - Если этот параметр true, значит метод loadContent был вызван повторно, когда контент Пилигрим уже загружен.
    • showAdvertisingWasCalled - Если этот параметр false, значит метод showContent для системы Пилигрим не был вызван (опционально, только если проект подключен к системе Пилигрим).

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