Android SDK (Russian)

Текущая версия Android SDK 3.5   Комплект MobileAppTracking™ (MAT) SDK для платформы Android™ предоставляет функционал регистрации сеансов и событий в приложении. MAT SDK для Android поставляется в формате Java-файла (JAR), который просто нужно включить в ваш проект Android. Данный комплект SDK совместим со всеми устройствами на Android версий 2.2 и выше. Чтобы начать отслеживание сеансов и событий, необходимо интегрировать MAT SDK для Android в ваше мобильное приложение. После запуска метода measureSession MAT начнет запись событий в приложении, таких как покупки, прохождение уровней в игре и прочие параметры вовлечения пользователей. Руководство по быстрому старту позволит вам начать пользоваться MAT SDK в самые короткие сроки. Если вы обновляете ваше приложение с версии MAT SDK 2.x до 3.x, обязательно прочтите статью-руководство.

Загрузка SDK

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

Внедрение

Как использовать скачанный комплект SDK.

      1. Скопируйте файл MobileAppTracker-3.5.jar в папку libs вашего мобильного приложения.
      2. Установите Google Play Services SDK и импортируйте его в свой проект.
      3. Добавьте в ваш файл AndroidManifest.xml следующие разделы:
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <application ...>
            <receiver android:name="com.mobileapptracker.Tracker" android:exported="true">
                <intent-filter>
                    <action android:name="com.android.vending.INSTALL_REFERRER" />
                </intent-filter>
            </receiver>
            <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
        </application>

        ПРИМЕЧАНИЕ. Если на вашем приложении для Android работает несколько SDK, нужно использовать несколько экземпляров Android Install Referrer. Подробную информацию вы найдете в специальном разделе.
      4. В Activity (Активность) запустите трекер:
        import com.mobileapptracker.MobileAppTracker;
        import com.google.android.gms.ads.identifier.AdvertisingIdClient;
        import com.google.android.gms.ads.identifier.AdvertisingIdClient.Info;
        import com.google.android.gms.common.GooglePlayServicesRepairableException;
        import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
        import java.io.IOException;     
        import android.provider.Settings.Secure;
         
        public class MyClass extends Activity {
            public MobileAppTracker mobileAppTracker = null;
         
            @Override public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
         
                // Initialize MAT
                MobileAppTracker.init(getApplicationContext(), "your_advertiser_ID", "your_conversion_key");
                mobileAppTracker = MobileAppTracker.getInstance();
         
                // If your app already has a pre-existing user base before you implement the MAT SDK, then
                // identify the pre-existing users with this code snippet.
                // Otherwise, MAT counts your pre-existing users as new installs the first time they run your app.
                // Omit this section if you're upgrading to a newer version of the MAT SDK.
                // This section only applies to NEW implementations of the MAT SDK.
                //boolean isExistingUser = ...
                //if (isExistingUser) {
                //    mobileAppTracker.setExistingUser(true); 
                //}
         
                // Collect Google Play Advertising ID; REQUIRED for attribution of Android apps distributed via Google Play
                new Thread(new Runnable() {
                    @Override public void run() {
                        // See sample code at http://developer.android.com/google/play-services/id.html
                        try {
                            Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext());
                            mobileAppTracker.setGoogleAdvertisingId(adInfo.getId(), adInfo.isLimitAdTrackingEnabled());
                        } catch (IOException e) {
                            // Unrecoverable error connecting to Google Play services (e.g.,
                            // the old version of the service doesn't support getting AdvertisingId).
                            mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                        } catch (GooglePlayServicesNotAvailableException e) {
                            // Google Play services is not available entirely.
                            mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                        } catch (GooglePlayServicesRepairableException e) {
                            // Encountered a recoverable error connecting to Google Play services.
                            mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                        } catch (NullPointerException e) {
                            // getId() is sometimes null
                            mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
                        }
                    }
                }).start();
            }
         
            @Override public void onResume() {
                super.onResume();
                // Get source of open for app re-engagement
                mobileAppTracker.setReferralSources(this);
                // MAT will not function unless the measureSession call is included
                mobileAppTracker.measureSession();
            }
        }
      5. Если ваше приложение распространяется только через Google Play, пропустите этот шаг. Если же приложение распространяется не только через Google Play, но и через другие Android-магазины, вы можете перейти к сбору ANDROID_ID, Device ID и MAC-адресов идентификаторов устройств. Передайте эти идентификаторы на MAT SDK через следующие сеттеры (после запуска MAT через onCreate).Android ID Required
        import android.provider.Settings.Secure;
         
        mobileAppTracker.setAndroidId(Secure.getString(getContentResolver(), Secure.ANDROID_ID));

        Device ID Required
        import android.telephony.TelephonyManager;
         
        String deviceId = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
        mobileAppTracker.setDeviceId(deviceId);

        MAC Address Required
        import android.net.wifi.WifiManager;
         
        // WifiManager objects may be null
        try {
            WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            mobileAppTracker.setMacAddress(wm.getConnectionInfo().getMacAddress());
        } catch (NullPointerException e) {
        }
      6. Если ваше приложение запускается с несколькими видами изначальной Активности (например, через диплинки), то каждая запускаемая активность должна инициализировать MAT и вызывать measureSession. Для этого предыдущий код инициализации MAT можно поместить в отдельный класс.

 

Важно!

Значения your_advertiser_ID и your_conversion_key соответствуют параметрам Advertiser ID (идентификатор рекламодателя) и Conversion Key (ключ преобразования), которые предоставляет платформа MAT при создании на платформе записи мобильного приложения. Чтобы получить информацию об этих параметрах, перейдите в раздел Как найти идентификатор рекламодателя и ключ преобразования.

Если у вашего приложения уже есть пользовательская база (то есть его уже устанавливали), а вы решили использовать MAT SDK, то MAT будет принимать существующих пользователей за новые установки, потому что платформа не может определить, какие пользователи новые, а какие нет. Чтобы определить существующих пользователей для MAT, задайте для них параметр setExistingUser:TRUE, прежде чем использовать measureSession. Информацию по переносу существующих пользователей перед внедрением SDK вы найдете в соответствующем разделе.

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

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

Отслеживание событий

    Внедрив MAT SDK в свое мобильное приложение и начав записывать сеансы, вы можете перейти и к записи других событий в приложении, например регистраций и встроенных покупок. Записывая и анализируя события внутри приложения, вы сможете оптимизировать как функционал самого приложения, так и свою рекламную стратегию. Короче говоря, отслеживать события внутри приложения и понимать принцип взаимодействия с ним пользователя очень важно, чтобы давать эффективную и окупаемую рекламу. Главным образом, за счет вашей возможности сопоставлять полученные ретенцию, вовлечение и «срок жизни» пользователя с потраченными на это средствами. У каждого приложения свои важные события. Вот самые распространенные.
  • Авторизация и создание аккаунта
    • Login (Вход), Registration (Регистрация)
  • Электронные продажи
    • Add to Cart (Добавить в корзину), Add to Wishlist (Добавить в список желаний), Added Payment Info (Добавление платежных данных), Checkout Initiated (Идет завершение заказа), Purchase (Покупка), Reservation (Бронь), Spent Credits (Трата валюты)
  • Игровые
    • Achievement Unlocked (Новое достижение), Level Achieved (Новый уровень), Tutorial Complete (Обучение пройдено)
  • Использование, оценки и публикации
    • Content View (Просмотр материала), Invite (Приглашение), Rated (Оценка), Search (Поиск), Share (Публикация)

Хотите узнать больше? Тогда перейдите в раздел Какие события в приложении стоит отслеживать и почему. Уже готовы действовать? Документация SDK по событиям находится здесь.

события внутри приложения

Have a Question? Please contact support@tune.com for technical support.