Adv.Cake

Инструкция по настройке AppMetrica

Эта инструкция поможет вам настроить интеграцию мобильных приложений через AppMetrica — платформы для аналитики и маркетинга приложений.

Данный тип интеграции настраивается для того, чтобы заказы, созданные через мобильное приложение, корректно учитывались в канале CPA:

  1. Если у пользователя установлено мобильное приложение — мы будем отправлять его в приложение, после чего наша система будет атрибуцировать все его покупки,
  2. Если у пользователя не установлено мобильное приложение — он будет как прежде совершать заказы на сайте по CPA-модели.

Важно понимать, что рекламодатель платит не за установки, а за конкретные покупки. Мы приводим и атрибуцируем каждую покупку за нужным партнёром и вебмастером.

AppMetrica также позволяет отслеживать установки не из магазина приложений – т.е. напрямую с сайта рекламодателя по клику на поп-ап сообщение «Скачать приложение/В приложении удобнее/Перейти в приложение» и т.д. В таком случае это будет единственным вариантом привлечения пользователя в приложение, однако оплачиваться в канале CPA будут только совершенные покупки, а не установки приложения.

Шаг 1. Создание аккаунта и настройка приложения

Для работы с AppMetrica необходим Яндекс ID. Если у вас его нет, зарегистрируйтесь.

Чтобы создать аккаунт в AppMetrica, перейдите на страницу добавления нового приложения и заполните необходимую информацию.

Подробнее: https://appmetrica.yandex.ru/docs/ru/common/quick-start

Шаг 2. Интеграция AppMetrica SDK

Чтобы начать получать статистическую информацию о приложении и его пользователях через AppMetrica, интегрируйте AppMetrica SDK в ваше приложение.

Подробнее: https://appmetrica.yandex.ru/docs/ru/common/quick-start#integration-sdk

Для iOS

  1. Выберите ваше приложение в шапке страницы;
  2. На странице выбранного приложения перейдите в раздел НастройкиОсновное → блок Universal Link;
  3. Введите «Bundle ID» и «App Prefix» приложения в соответствующие поля, установите переключатель «Использовать Universal Link» в положение «Вкл» и нажмите Сохранить настройки:

Как получить Bundle ID:

  • Bundle ID можно найти в Xcode по пути TargetGeneralIdentity → поле «Bundle Identifier». Как получить App Prefix:
  • App Prefix можно найти на странице https://developer.apple.com/account/#/membership/. В большинстве случаев App Prefix будет совпадать с Team ID.
  1. После этого, в поле «Universal Link» появится ссылка вида applinks:&lt;app_id>.redirect.appmetrica.yandex.com, где <app_id> — идентификатор вашего приложения в AppMetrica (ID приложения), скопируйте ее:

-


Далее, для корректной работы Universal Link, добавьте в ваше приложение следующие функции:

func application(_ application: UIApplication, handleOpenURL url: URL) -> Bool {
    return YMMYandexMetrica.handleOpen(url)
}

func application(_ application: UIApplication, openURL url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool {
    return YMMYandexMetrica.handleOpen(url)
}

// Delegate for tracking Universal links.
func application(_ application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
    if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
        if let url = userActivity.webpageURL {
            YMMYandexMetrica.handleOpen(url)
        }
    }
    return true
}

Теперь, добавьте поддержку открытия ссылок через ваше приложение:

  1. Перейдите в настройки своего проекта в раздел Targets;
  2. Перейдите на вкладку Signing & Capabilities;
  3. В блоке Associated Domains добавьте новую ссылку с брендированным доменом. К ней нужно добавить префикс applinks, после чего ссылка будет выглядеть так: applinks:1234567.redirect.appmetrica.yandex.com, где 1234567 – ID вашего приложения в «AppMetrica»:

-

Для Android

Чтобы отслеживать открытия приложения с помощью DeepLink, понадобится модифицировать активити, которое связано с DeepLink:

public class DeeplinkActivity extends Activity {

    @Override
    protected void onCreate(@Nullable final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);    
        if (savedInstanceState == null) {
            YandexMetrica.reportAppOpen(this);
        }
    }
    @Override
    protected void onNewIntent(final Intent intent) {
        super.onNewIntent(intent);
        YandexMetrica.reportAppOpen(intent);
    }
}

Теперь, добавьте поддержку открытия ссылок через ваше приложение. В предыдущем разделе для iOS мы настроили работу Universal Link и получили ссылку для нашего приложения – добавьте такую же ссылку в файл AnroidManifest.xml в следующем виде:

<data android:scheme="https"
    android:host="1234567.redirect.appmetrica.yandex.com"
    android:pathPrefix="/"
    />

Вместо 1234567 у вас будет ID вашего приложения в «AppMetrica».

Шаг 4. Настройка отправляемых из приложения событий

При интеграции через AppMetrica, мы получаем информацию о заказе через значение отправленного события.

Обязательные для нас параметры – orderId (ID заказа) и price (цена). Вы также можете добавлять другие параметры: например, город или категорию.

Существует два типа подходящих событий:

  1. "purchase" – рекомендуется для покупок;
  2. "event" – подходит, если вы отправляете постбеки не по покупкам или в других случаях.

Отправка на Android

Для начала вам необходимо создать объект Revenue с помощью метода newBuilderWithMicros().

Первый аргумент метода – цена, умноженная в 1000000 раз, второй аргумент – объект Currency, который можно получить с помощью метода getInstance().

События типа "purchase" отправляются с помощью reportRevenue().

Revenue revenue = Revenue.newBuilderWithMicros(99000000, Currency.getInstance("RUB"))
        .withProductID("com.yandex.service.299")
        .withQuantity(2)
        .withPayload("{\"OrderID\":\"Identifier\"}")
        .build();
YandexMetrica.getReporter(getApplicationContext(), "Testing API key").reportRevenue(revenue);

При отправке событий типа "purchase", необходимо передать orderId в withPayload.

Любые другие события отправляются с помощью метода YandexMetrica.reportEvent(eventName, eventParameters), где eventName – имя события, а eventParameters – параметры события.

Параметры могут быть JSON-строкой или объектом map.

Map<String, Object> eventParameters = new HashMap<String, Object>();
eventParameters.put("orderId", "123123123");
eventParameters.put("price", 480);

YandexMetrica.reportEvent("customEventName", eventParameters);

Отправка на iOS

Для начала необходимо получить revenueInfo с помощью класса YMMMutableRevenueInfo. Объект этого класса должен быть отправлен с помощью метода reportRevenue():

let price = NSDecimalNumber(string: "2100.5")
let revenueInfo = YMMMutableRevenueInfo.init(priceDecimal: price, currency: "BYN")

revenueInfo.productID = "TV soundbar"
revenueInfo.quantity = 2
revenueInfo.payload = ["OrderID": "Identifier"]

let reporter = YMMYandexMetrica.reporterForApiKey("API_key")
reporter.reportRevenue(revenueInfo, onFailure: { (error) in
    print("REPORT ERROR: \(error.localizedDescription)")
})

Здесь необходимо указать OrderID в payload.

Остальные события отправляются с помощью метода YMMYandexMetrica.reportEvent(eventName, parameters, onFailure), где eventName – имя события, params – параметры, а onFailure – блок, выполняемый при возникновении ошибки.

Параметры должны быть парами ключ-значение:

let params : [AnyHashable : Any] = ["orderId": "123123123", "price": 480]
YMMYandexMetrica.reportEvent("purchase", parameters: params, onFailure: { (error) 
in
    print("DID FAIL REPORT EVENT: %@", message)
    print("REPORT ERROR: %@", error?.localizedDescription)
})

Нестандартная отправка событий

Возможна нестандартная отправка событий при условии наличия в передаваемых данных номера и стоимости заказа – в этом случае нужно предоставить нам примеры пакетов данных, которые будут направляться в AppMetrica, чтобы мы могли корректно атрибуцировать покупки.

Шаг 5. Настройки панели AppMetrica

Предоставление доступа на чтение

  1. Перейдите в раздел НастройкиУправление доступом;
  2. Добавьте почту нашего пользователя metrika@advcake.com в поле «Аккаунт на Яндексе»;
  3. В поле «Права доступа» выберите «Только чтение»;
  4. Нажмите Добавить:

-

  1. Перейдите в раздел НастройкиDeepLinks:

- 2. В настройках deeplink для iOS и Android для главной страницы сайта добавьте следующие параметры: c={campaign}&afpub_id={afpub_id}&click_id={click_id}&site_id={site_id}:

-

Создание трекера

  1. Перейдите в раздел Трекинг;

  2. Нажмите Создать трекер и укажите:

    • название – в формате «Appname_Advcake_Remarketing»;
    • партнёр – «AdvCake»;
    • тип трекера – Основной;
  3. Включите и настройте функцию «Использовать SmartLink»:

    • Укажите целевую ссылку – она должна вести на ваш сайт. Если у вас нет такой ссылки, создайте ее, нажав на + Создать целевую ссылку,
    • Добавьте созданный ранее Deeplink (с кастомными параметрами),
    • (Опционально) Добавьте Fallback – он будет соответствовать целевой ссылке:

-

Блок «Настройка атрибуции»

Включите функции «Реатрибуция» и «Атрибуция по заказам».

Блок «Настройка постбеков»

  1. Нажмите + Добавить постбек;

  2. Настройте необходимые типы постбеков – мы рекомендуем добавить шаблоны конверсий Installation, Deep Link Opening и Ecommerce "purchase";

  3. Ссылки постбеков отобразятся в поле «Postback URL» – они должны выглядеть так:

Шаг 6. Проведение тестов

После внесения всех правок в приложение и создания трекера можно приступить к тестированию интеграции – это поможет вам выявить и исправить допущенные ошибки.

Подготовка

  1. Добавьте мобильные устройства и другие необходимые данные в разделе НастройкиТестовые устройства;
  2. Перейдите на страницу настроенного ранее трекера и скопируйте ссылку «App to app link»:

-


  1. Удалите из ссылки все параметры, кроме appmetrica_tracking_id и referrer;
  2. Добавьте в ссылку параметры c=affiliate, afpub_id=affiliate, site_id=test и click_id=(cлучайное число).

Пример измененной ссылки:

https://1234567.redirect.appmetrica.yandex.com/?appmetrica_tracking_id=2415974239893120&referrer=reattribution%3D1&с=affiliate&afpub_id=affiliate&site_id=test&click_id=00001

Параметр click_id должен быть уникальным значением. Это значит, что после каждого перехода по ссылке нужно заменять click_id на другое значение.

Порядок тестирования

  1. Перейдите по ссылке с ПК, после чего у вас должна открыться веб-версия вашего приложения. Если этого не произошло – проверьте настройки трекера;
  2. Отправьте ссылку на мобильные устройства для тестирования. Не забудьте изменить click_id в ваших ссылках;
  3. Удалите приложения с мобильных устройств и перейдите по ссылке. Если после перехода открылась веб-версия вашего приложения – значит, все настроено правильно. В противном случае, перепроверьте настройки трекера;
  4. Установите приложения на мобильные устройства и перейдите по ссылке. Ваши приложения должны перехватывать ссылки и открывать их изнутри. Если этого не происходит – проверьте, все ли правки вы внесли в приложение (AndroidManifest.xml / Associated domains);
  5. Перейдите по новой ссылке и совершите тестовую покупку в приложении. Должен выполниться код, который вы настраивали ранее.

Как узнать приходят ли события покупок

Узнать приходят ли события покупок можно двумя способами:

Вам помогла эта страница?

Последнее изменение: 2026-02-22