- PVSM.RU - https://www.pvsm.ru -
Привет!
Недавно мне понадобилось подключить систему для сбора данных о действиях пользователей и мой выбор пал на Yandex.Metrica для приложений. И я с удивлением обнаружил, что нет не одной инструкции, как подключить метрику в приложение, которое написано на Xamarin.
Всем, кому интересно как это сделать — прошу пожаловать под кат.

Загружаем отсюда [1] yandex-mobmetrica-lib-android-1.60-wlibs.jar.

Добавляем в папку Jars скачанную библиотеку:

Выставляем Build Action: EmbeddedJar.


namespace HabrYandexMetrica.Providers
{
public class MetricaContentProvider : Com.Yandex.Metrica.MetricaContentProvider
{
}
}
<!-- Yandex Metrica required permission. Open network sockets -->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- Yandex Metrica required permission. Access information about networks -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- Yandex Metrica optional permission. Approximate location derived from network location sources such as cell towers and Wi-Fi -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- Yandex Metrica optional permission. Precise location from location sources such as GPS, cell towers, and Wi-Fi -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- Yandex Metrica optional permission. Wifi state: mac, ssid, ... -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<application>
<!-- start of Yandex Metrica -->
<service android:name="com.yandex.metrica.MetricaService" android:enabled="true" android:exported="true" android:process=":Metrica">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="com.yandex.metrica.IMetricaService" />
<data android:scheme="metrica" />
</intent-filter>
<meta-data android:name="metrica:api:level" android:value="16" />
</service>
<receiver android:name="com.yandex.metrica.MetricaEventHandler" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="com.yandex.metrica.intent.action.SYNC" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
<data android:scheme="package" />
</intent-filter>
<!-- Необходимо для трэкинга кампаний -->
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<provider android:name="habryandexmetrica.providers.MetricaContentProvider" android:authorities="HabrYandexMetrica.HabrYandexMetrica.MetricaContentProvider" android:enabled="true" android:exported="true"/>
<!-- end of Yandex Metrica -->
</application>
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Com.Yandex.Metrica;
namespace HabrYandexMetrica
{
[Activity(Label = "HabrYandexMetrica", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
YandexMetrica.Initialize(Application.Context,"111");
SetContentView(Resource.Layout.Main);
}
protected override void OnResume()
{
YandexMetrica.OnResumeActivity(this);
base.OnResume();
}
protected override void OnPause()
{
YandexMetrica.OnPauseActivity(this);
base.OnPause();
}
}
}
Всё, метрика готова к работе.
Тут [2] можно подсмотреть методы, которые доступны.
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/pesochnitsa/88941
Ссылки в тексте:
[1] отсюда: https://github.com/yandexmobile/metrica-sdk-android/tree/master/yandex-mobmetrica-lib-android-1.60
[2] Тут: https://tech.yandex.ru/metrica-mobile-sdk/doc/mobile-sdk-dg/concepts/android-methods-docpage/
Нажмите здесь для печати.