Подключение и инициализация

AppMetrica Xamarin — это плагин для использования возможностей AppMetrica, если вы разрабатываете приложения с помощью Xamarin под Android и iOS.

Ниже представлена общая схема использования плагина:

Плагин предоставляется в виде проектов, которые содержат следующие библиотеки:

Подключение AppMetrica в проект

Чтобы интегрировать AppMetrica в ваш проект необходимо:

  1. Загрузить и подключить библиотеки плагина. Это можно сделать несколькими способами:

    • Подключить проекты 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 с помощью метода Activate() класса YandexMetricaImplementation. Данный метод также производит регистрацию реализации интерфейса IYandexMetrica.

    public static void Activate(Context context, string apiKey, Application app = null) {...}
    Параметр Значение по умолчанию Описание
    apiKey Уникальный идентификатор приложения, который выдается в веб-интерфейсе AppMetrica при добавлении приложения
    app null

    Позволяет включить/отключить автоматическое отслеживание жизненного цикла приложения. По умолчанию отслеживание отключено.

    Если параметр принимает значение null, для корректного отображения сессий используйте методы OnPause() и OnResume() класса YandexMetricaImplementation в соответствующих частях проекта

Примеры подключения

Ниже представлены примеры работы с демонстрационными проектами.

Подключается библиотека 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);
        }
    }
}

Методы API

Работа с плагином производится с помощью методов интерфейса IYandexMetrica.

Отслеживание событий
void ReportEvent(string message);
void ReportEvent(string message, IDictionary<string, string> parameters);
void ReportError(string message, Exception exception);
Настройки AppMetrica
void SetLocation(float latitude, float longitude);
void SetTrackLocationEnabled (bool enabled);
void SetCustomAppVersion(string appVersion);
void SetEnvironmentValue(string key, string value);
void SetSessionTimeout (uint sessionTimeoutSeconds);
void SetReportCrashesEnabled (bool enabled);
void SetLoggingEnabled();

bool CollectInstalledApps { get; set; }
Информация об используемой версии AppMetrica
int LibraryApiLevel { get; }
string LibraryVersion { get; }

Подробно о методах и интеграции AppMetrica в приложение смотрите в разделах документации для Android и iOS.