Mindbox
Flutter SDK

Получение источника установки мобильного приложения

AppsFlyer

Если вам нужно отслеживать источник установки приложения (например, для оценки эффективности рекламных кампаний), выполните следующие шаги:

1. Установите библиотеку AppsFlyer SDK

Следуйте официальной инструкции: GitHub — AppsFlyer Flutter Plugin.

2. Инициализируйте AppsFlyer SDK

Создайте экземпляр AppsFlyerSdk и выполните инициализацию в initState() вашего виджета. Это позволит SDK начать обработку атрибуции сразу после запуска приложения.

DartCode
import 'package:appsflyer_sdk/appsflyer_sdk.dart'; late AppsflyerSdk _appsflyerSdk; @override void initState() { super.initState(); _initAppsFlyerSdk(); } void _initAppsFlyerSdk() async { // Настройки SDK final AppsFlyerOptions options = AppsFlyerOptions( afDevKey: 'YOUR_AF_DEV_KEY', // Ваш AppsFlyer Dev Key appId: 'YOUR_IOS_APP_ID', // ID приложения (только iOS) showDebug: true, ); _appsflyerSdk = AppsflyerSdk(options); // Инициализация SDK await _appsflyerSdk.initSdk( registerConversionDataCallback: true, registerOnAppOpenAttributionCallback: true, registerOnDeepLinkingCallback: true, ); // Обработка данных о конверсии _appsflyerSdk.onInstallConversionData((data) { print("onInstallConversionData data:"); data.forEach((key, value) { print('$key : $value'); }); final status = data['af_status']; if (status == 'Non-organic') { final sourceID = data['media_source']; final campaign = data['campaign']; print('Неорганическая установка. Источник: $sourceID Кампания: $campaign'); } else if (status == 'Organic') { print('Органическая установка.'); } final isFirstLaunch = data['is_first_launch'] == 'true' || data['is_first_launch'] == true; if (isFirstLaunch) { print('Первый запуск приложения.'); } else { print('Не первый запуск приложения.'); } }); }

3. Передача sourceID в Mindbox

  1. Создайте операцию в Mindbox с действием и/или заполнением дополнительного поля. Инструкция представлена в документации Mindbox.
  2. После получения sourceID из AppsFlyer отправьте его в кастомное поле операции:
DartCode
Mindbox.instance.executeAsyncOperation( operationSystemName: "<operationSystemName>", operationBody: { // передайте полученный sourceID }, );

Более подробную информацию можно найти в примере AppsFlyer SDK для Flutter.


Общая информация

Ошибки:

  1. 404 — указан неверный afDevKey или appID.
  2. 403 — план AppsFlyer Zero не позволяет просматривать данные об установках.
Last modified on