Проверка интеграции 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
Строка "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 для системы Пилигрим не был вызван (опционально, только если проект подключен к системе Пилигрим).
Дата создания: 2020-01-16