Installation and initialization

AppMetrica Xamarin is a plugin for using AppMetrica features if you are developing apps using Xamarin for Android and iOS.

The general flow of using the plugin is shown below:

The plugin is provided as projects containing the following libraries:

Connecting AppMetrica to a project

To integrate AppMetrica in your project, you need to:

  1. Download and enable the plugin libraries. There are several ways to do this:

    • Connect the projects YandexMetrica.Xamarin.PCL, YandexMetrica.Xamarin.iOSBinding and YandexMetrica.Xamarin.AndroidBinding.

    • Build and enable the libraries from the projects. After building, the libraries will be available in the directories:

      • 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. In your app code, perform initialization of AppMetrica using the Activate() method of the YandexMetricaImplementation class. This method also performs registration of the IYandexMetrica interface implementation.

    public static void Activate(Context context, string apiKey, Application app = null) {...}
    Parameter Default value Description
    apiKey A unique application identifier that is issued in the AppMetrica web interface during app registration.
    app null

    Allows enabling or disabling automatic app lifecycle tracking. By default, tracking is disabled.

    If this parameter takes the null value, for correct displays of sessions, use the OnPause() and OnResume() methods of the YandexMetricaImplementation class in the corresponding sections of the project

Connection examples

Examples of working with demonstration projects are shown below.

The YandexMetricaPCL library is connected. The YandexMetrica.Implementation is used for working with AppMetrica.

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 methods

The plugin is accessed using the methods of the IYandexMetrica interface.

Event tracking
void ReportEvent(string message);
void ReportEvent(string message, IDictionary<string, string> parameters);
void ReportError(string message, Exception exception);
AppMetrica settings
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; }
Information about the version of AppMetrica used
int LibraryApiLevel { get; }
string LibraryVersion { get; }

Information about techniques and integration AppMetrica in the application, see the documentation for Android and iOS.