Подключение и инициализация
Развитие и поддержка плагина прекращены. Корректная работа SDK не гарантируется.
AppMetrica Xamarin — плагин для платформы Xamarin. Он включает поддержку AppMetrica SDK для Android и iOS.
Ниже представлена общая схема использования плагина:
Плагин предоставляется в виде проектов, которые содержат следующие библиотеки:
- YandexMetricaPCL
-
Библиотека реализует интерфейс для работы с кросс-платформенными частями приложения. Библиотека содержит:
- общий интерфейс AppMetrica —
IYandexMetrica
; - статический прокси-класс
YandexMetrica
для работы через данный интерфейс с реализацией под текущую платформу; - заглушку
YandexMetricaDummy
(реализующую интерфейсIYandexMetrica
), используемую, если никакая реализация не произвела регистрацию в прокси-классеYandexMetrica
.
- YandexMetricaAndroid
-
Библиотека содержит AAR-файл библиотеки AppMetrica, сгенерированный код для работы с методами библиотеки и класс
YandexMetricaImplementation
, который реализует интерфейсIYandexMetrica
. - YandexMetricaiOS
-
Библиотека содержит A-файлы библиотеки AppMetrica, сгенерированный код для работы с методами библиотеки и класс
YandexMetricaImplementation
, который реализует интерфейсIYandexMetrica
.
Шаг 1. Подключите библиотеки плагина AppMetrica Xamarin
Загрузите и подключите библиотеки плагина одним из способов:
- подключите проекты YandexMetrica.Xamarin.PCL, YandexMetrica.Xamarin.iOSBinding и YandexMetrica.Xamarin.AndroidBinding;
- соберите и подключите библиотеки из проектов. После сборки библиотеки будут доступны в каталогах:
- YandexMetrica.Xamarin.PCL/bin/(Debug|Release)/YandexMetrica.Xamarin.PCL.dll;
- YandexMetrica.Xamarin.iOSBinding/bin/(Debug|Release)/YandexMetrica.Xamarin.iOS.dll;
- YandexMetrica.Xamarin.AndroidBinding/bin/(Debug|Release)/YandexMetrica.Xamarin.Android.dll.
Шаг 2. Инициализируйте библиотеку AppMetrica
Инициализируйте библиотеку AppMetrica с помощью метода Activate()
класса YandexMetricaImplementation
. Данный метод также производит регистрацию реализации интерфейса IYandexMetrica
.
public static void Activate(Context context, YandexMetricaConfig config, Application app = null) {...}
Параметр | Значение по умолчанию | Описание |
---|---|---|
config | — | Расширенная стартовая конфигурация. Для ее создания необходимо передать |
app | null | Позволяет включить/отключить автоматическое отслеживание жизненного цикла приложения. По умолчанию отслеживание отключено. Если параметр принимает значение |
Параметр | Значение по умолчанию | Описание |
---|---|---|
config | — | Расширенная стартовая конфигурация. Для ее создания необходимо передать |
app | null | Позволяет включить/отключить автоматическое отслеживание жизненного цикла приложения. По умолчанию отслеживание отключено. Если параметр принимает значение |
public static void Activate(YandexMetricaConfig config) {...}
Параметр | Значение по умолчанию | Описание |
---|---|---|
config | — | Расширенная стартовая конфигурация. Для ее создания необходимо передать |
Параметр | Значение по умолчанию | Описание |
---|---|---|
config | — | Расширенная стартовая конфигурация. Для ее создания необходимо передать |
API key — это уникальный идентификатор приложения, который выдается в веб-интерфейсе AppMetrica при добавлении приложения.
Убедитесь, что он указан верно.
Примеры подключения
Ниже представлены примеры работы с демонстрационными проектами.
Подключается библиотека YandexMetricaPCL. Работа с AppMetrica производится через класс YandexMetrica.Implementation
.
using System; using YandexMetricaPCL; using System.Collections.Generic; namespace Metrica.Xamarin.CrossPlatform { public class SharedLogic { public static void LogClick(int clickNumber) { var dict = new Dictionary<string, string>{ { "click", clickNumber.ToString() } }; YandexMetrica.Implementation.ReportEvent("Click from shared logic", dict); } } }
Скопировано
Подключаются библиотеки YandexMetricaAndroid и YandexMetricaPCL. При старте приложения необходимо произвести активацию. Затем можно использовать общий интерфейс YandexMetricaPCL или работать напрямую с YandexMetricaAndroid.
using Android.App; using Android.Widget; using Android.OS; using System.Collections.Generic; using YandexMetricaPCL; namespace Metrica.Xamarin.CrossPlatform.Droid { [Activity(Label = "Metrica.Xamarin.CrossPlatform", MainLauncher = true, Icon = "@mipmap/icon")] public class MainActivity : Activity { int count = 1; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Init Android AppMetrica directly. YandexMetricaConfig config = new YandexMetricaConfig("API_key"); YandexMetricaAndroid.YandexMetricaImplementation.Activate(this, config, this.Application); // Set our view from the "main" layout resource. SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it. Button button = FindViewById<Button>(Resource.Id.myButton); button.Click += delegate { button.Text = string.Format("{0} clicks!", count); var dict = new Dictionary<string, string> { { "click", count.ToString() } }; YandexMetrica.Implementation.ReportEvent("Click from Android", dict); SharedLogic.LogClick(count); ++count; }; } } }
Скопировано
Подключаются библиотеки YandexMetricaIOS и YandexMetricaPCL. При старте приложения необходимо произвести активацию. Затем можно использовать общий интерфейс YandexMetricaPCL или работать напрямую с YandexMetricaIOS.
using System; using UIKit; using YandexMetricaPCL; using System.Collections.Generic; namespace Metrica.Xamarin.CrossPlatform.iOS { public partial class ViewController : UIViewController { int count = 1; public override void ViewDidLoad() { base.ViewDidLoad(); // Init iOS AppMetrica directly. YandexMetricaConfig config = new YandexMetricaConfig("API_key"); YandexMetricaIOS.YandexMetricaImplementation.Activate(config); // Perform any additional setup after loading the view, typically from a nib. Button.AccessibilityIdentifier = "myButton"; Button.TouchUpInside += delegate { var title = string.Format("{0} clicks!", count); Button.SetTitle(title, UIControlState.Normal); var dict = new Dictionary<string, string> { { "click", count.ToString() } }; YandexMetrica.Implementation.ReportEvent("Click from iOS", dict); SharedLogic.LogClick(count); ++count; }; } } }
Скопировано
Шаг 3. (Android) Подключите библиотеку Play Install Referrer
Подключение библиотеки Play Install Referrer обязательно. Она используется для отслеживания источника установок.
- Скачайте последнюю версию библиотеки Play Install Referrer.
- Добавьте её в проект, например, в директорию lib.
- Установите для неё Build Action в AndroidAarLibrary.