Skip to Content
Документация для разработчиковКонцепцииDeep LinksАтрибуция глубоких ссылок
📝

Атрибуция по диплинкам требует подписки Business plan  или выше.

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

Аналитика конверсий

📝

Эта функция в настоящее время доступна только для iOS (Swift) и React Native. Поддержка Android (Kotlin) скоро появится. Если вы хотите получить ранний доступ, свяжитесь с нами .

Предварительные требования

Затем вам потребуется сгенерировать публичный ключ в вашем рабочем пространстве Revroute для отслеживания конверсий на стороне клиента.

Для этого перейдите на страницу настроек отслеживания вашего рабочего пространства  и сгенерируйте новый публичный ключ в разделе Publishable Key.

Включение отслеживания конверсий для рабочего пространства

После настройки можно приступать к отслеживанию событий конверсий для ваших диплинков.

Шаг 1: Установите мобильный SDK на стороне клиента

Установите Revroute React Native SDK и инициализируйте его с вашим публичным ключом и доменом коротких ссылок.

Шаг 2: Отслеживание событий открытия диплинков

После инициализации SDK вы можете начать отслеживать события диплинков и отложенных диплинков.

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

import { useState, useEffect, useRef } from "react"; import { Linking } from "react-native"; import AsyncStorage from "@react-native-async-storage/async-storage"; import dub from "@dub/react-native"; export default function App() { useEffect(() => { dub.init({ publishableKey: "<DUB_PUBLISHABLE_KEY>", domain: "<DUB_DOMAIN>", }); // Check if this is first launch const isFirstLaunch = await AsyncStorage.getItem("is_first_launch"); if (isFirstLaunch === null) { await handleFirstLaunch(); await AsyncStorage.setItem("is_first_launch", "false"); } else { // Handle initial deep link url (Android only) const url = await Linking.getInitialURL(); if (url) { await handleDeepLink(url); } } const linkingListener = Linking.addEventListener("url", (event) => { handleDeepLink(event.url); }); return () => { linkingListener.remove(); }; }, []); const handleFirstLaunch = async ( deepLinkUrl?: string | null | undefined, ): Promise<void> => { try { const response = await dub.trackOpen(deepLinkUrl); const destinationURL = response.link?.url; // Navigate to the destination URL } catch (error) { // Handle error } }; // Return your app... }

Если диплинк был успешно разрешён и сопоставлен с исходным кликом, объект response будет содержать целевой URL, который можно использовать для навигации пользователя на соответствующий экран.

Также он будет содержать clickId, который экземпляр dub сохранит внутренне.

Шаг 3: Отслеживание событий конверсий

Вы можете отслеживать события конверсий непосредственно в приложении с помощью методов trackLead и trackSale.

import dub from "@dub/react-native"; function trackLead(user: User) { try { await dub.trackLead({ eventName: "User Sign Up", customerExternalId: user.id, customerName: user.name, customerEmail: user.email, }); } catch (error) { // Handle sale tracking error } } function trackSale(user: User, product: Product) { try { await dub.trackSale({ customerExternalId: user.id, amount: product.price.amount, currency: "usd", eventName: "Purchase", }); } catch (error) { // Handle sale tracking error } }

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

Шаг 4: Просмотр конверсий

После включения отслеживания конверсий для ваших ссылок все отслеженные конверсии будут отображаться в панели аналитики . Мы предоставляем 3 различных представления для анализа конверсий:

Last updated on