<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
Android api level 14 (android 4.0).
Разрешение android.permission.INTERNET.
Разрешение android.permission.ACCESS_NETWORK_STATE.
Разрешение com.google.android.gms.permission.AD_ID.
Обязательно наличие в проекте библиотеки Google Play Services (модуль com.google.android.gms:play-services-ads-identifier).
Обязательно наличие в проекте библиотеки Google Play Install Referrer (модуль com.android.installreferrer:installreferrer).
Для приложений Huawei AppGallery обязательно наличие в проекте библиотеки Huawei Media Services (модуль com.huawei.hms:ads-identifier), чтобы MyTracker мог получить OAID.
iOS 9.0.
Подключенные фреймворки AdSupport, SystemConfiguration, CoreTelephony, CoreData, UIKit, iAd, StoreKit, AdServices, and AppTrackingTransparency.
Подключенная библиотека libz.tbd.
Импортируйте пакет myTracker.unitypackage (см. последнюю версию на https://github.com/myTrackerSDK/mytracker-unity/releases) в ваш Unity проект.
Для сборки Android версии необходимо добавить в проект зависимости с помощью Assets → Play Services Resolver → Android Resolver → Resolve Client Jars.
Для сборки iOS версии необходимо добавить зависимости с помощью CocoaPods, после создания xCode проекта.
AndroidManifest.xml
Средой Unity поддерживается слияние манифеста по умолчанию и манифестов, поставляемых вместе с различными плагинами. В случае ошибки или пост-обработки, возможно, потребуется ручное изменение манифеста Android-приложения. Для корректной работы в манифесте должны быть указаны разрешения:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
Для отслеживания источников трафика в манифесте должны быть указаны сервис и ресивер:
<application>
<receiver android:name="com.my.tracker.campaign.MultipleInstallReceiver"
android:permission="android.permission.INSTALL_PACKAGES"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>
<service android:name="com.my.tracker.campaign.CampaignService" />
</application>
Proguard
Если вы используете Proguard, необходимо добавить исключения:
-keep class com.my.tracker.** { *; }
-dontwarn com.my.tracker.**
-keep class com.android.installreferrer.** { *; }
-keep class com.android.vending.billing.** { *; }
-keep class com.android.billingclient.api.** { *; }
-keep class com.google.android.gms.** { *; }
Cреда сборки Gradle обеспечивает импорт данных правил автоматически при обработке aar-файлов
Для корректной работы MyTracker SDK настройку и инициализацию трекера необходимо производить
на начальном этапе инициализации приложения. Для инициализации трекера необходимо указать ваш
SDK_KEY
. До инициализации, при необходимости, можно настроить параметры трекера.
SDK_KEY
генерируется автоматически после того, как вы добавите ваше приложение в MyTracker.
Чтобы получить ключ, перейдите на страницу со списком приложений, выберите необходимое и во вкладке Обзор скопируйте ключ.
Обратите внимание, что для сборки приложения на разных платформах необходим отдельный SDK_KEY
для каждой из них.
public class YourMonoBehaviour : MonoBehaviour
{
public void Awake()
{
#if !UNITY_IOS && !UNITY_ANDROID
return;
#endif
// При необходимости настройте конфигурацию трекера
var myTrackerConfig = MyTracker.MyTrackerConfig;
// ...
// Настройте параметры трекера
// ...
// Инициализируйте трекер в зависимости от платформы
#if UNITY_IOS
MyTracker.Init("SDK_KEY_IOS");
#elif UNITY_ANDROID
MyTracker.Init("SDK_KEY_ANDROID");
#endif
}
}
Конфигурацию трекера можно настроить через экземпляр класса MyTrackerConfig
, доступный через свойство
MyTracker.MyTrackerConfig
. Можно настраивать следующие параметры:
IsTrackingLaunchEnabled: сбор данных о запусках приложения. По умолчанию true.
Boolean IsTrackingLaunchEnabled { get; set; }
LaunchTimeout: интервал в секундах, в течение которого не будет засчитываться новый запуск и прерываться сессия при сворачивании приложения. По умолчанию 30 секунд. Можно установить значение в диапазоне 30-7200 секунд.
Int32 LaunchTimeout { get; set; }
BufferingPeriod: интервал в секундах, в течение которого события будут накапливаться на устройстве перед отправкой на сервер. По умолчанию 900 секунд. Можно установить значение в диапазоне 1-86400 секунд.
Int32 BufferingPeriod { get; set; }
ForcingPeriod: интервал в секундах после установки или обновления приложения, в течение которого события будут незамедлительно отправляться на сервер без локальной буферизации. По умолчанию 0 секунд (незамедлительная отправка выключена). Можно установить значение в диапазоне 0-432000 секунд (5 суток).
Int32 ForcingPeriod { get; set; }
IsTrackingLocationEnabled: сбор данных о местоположении. По умолчанию true для iOS и false для Android платформ.
Если ваше Android приложение запрашивает доступ к местоположению пользователя, рекомендуем включить передачу данных для более точной аналитики. В описании приложения в Google Play не забудьте указать «Да» в вопросе про сбор данных о местоположении.
Для Android платформы параметр выключен по умолчанию начиная с версии SDK 3.0.2
Boolean IsTrackingLocationEnabled { get; set; }
Region: регион, где расположен сервер сбора статистики.
С 1 марта 2023г. параметр region
недействителен.
Вне зависимости от выбранного значения данные
будут отправляться на серверы, расположенные на территории Российской Федерации.
Чтобы выбрать другой регион,
обратитесь в службу поддержки
Необходимость изменить регион может возникнуть, например, в связи с требованиями законодательства. Доступные значения:
RegionEnum.RU — сервер, расположенный на территории Российской Федерации
RegionEnum.EU — сервер, расположенный на территории Европы
public RegionEnum Region { set; }
RegisterForSkAdAttribution: поддержка SKAdNetwork атрибуции. По умолчанию YES.
SKAdNetwork — это инструмент атрибуции от Apple, который позволяет связать установку приложения с рекламной кампанией, и при этом сохранить конфиденциальность пользователей.
По умолчанию при первом запуске приложения на устройствах iOS 14.5+,
MyTracker SDK версии 2.1.2 и выше вызовет метод SKAdNetwork — RegisterForSkAdAttribution
,
чтобы передать в рекламную сеть информацию о связанной установке.
Рекламная сеть в свою очередь может отправить данные в MyTracker.
С версии iOS 15 копию данных можно отправить напрямую в MyTracker,
без посредничества рекламных сетей.
Вы можете отключить параметр RegisterForSkAdAttribution
и самостоятельно настроить вызов методов SKAdNetwork.
Но без поддержки SKAdNetwork вам не удастся отследить атрибуцию по устройствам,
пользователи которых не давали разрешения на трекинг.
Подробнее см. раздел iOS и SKAdNetwork и документацию Apple
Boolean RegisterForSkAdAttribution { get; set; }
Включение/выключение режима отладки производится через
статические свойства класса MyTracker
. По умолчанию false.
Boolean IsDebugMode { get; set; }