Jump to: Загрузка SDK | Внедрение | Важно! | Отслеживание событий | события внутри приложения
Текущая версия 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.
- Скопируйте файл MobileAppTracker-3.5.jar в папку libs вашего мобильного приложения.
- Установите Google Play Services SDK и импортируйте его в свой проект.
- Добавьте в ваш файл 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. Подробную информацию вы найдете в специальном разделе. - В 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(); } }
- Если ваше приложение распространяется только через 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) { }
- Если ваше приложение запускается с несколькими видами изначальной Активности (например, через диплинки), то каждая запускаемая активность должна инициализировать 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 по событиям находится здесь.