Чем мы можем помочь?

Расширение для SDK Adobe Launch

  • Обновлено

Выберите или введите сопоставленные данные о конверсиях AppsFlyer и выберите предпочтительный вариант Persistence (Хранение данных).

Обзор

Adobe Launch SDK является неотъемлемой частью платформы Adobe Experience Platform. Adobe Experience Platform помогает компаниям собирать, консолидировать и анализировать данные из различных приложений и платформ. Она позволяет владельцам бизнеса и разработчикам лучше понять поведение клиентов, чтобы оптимизировать опыт и доставку контента. Если ваше приложение использует и Adobe Launch SDK, и AppsFlyer SDK, вы можете отправлять данные на обе платформы с помощью одной реализации AppsFlyer Adobe Launch SDK Extension. Это снижает общую сложность процесса разработки и делает кодовую базу более чистой и удобной для обслуживания.

Примечание

Если вы используете расширение Adobe Launch, нет необходимости в стандартной интеграции Adobe Analytics.

Необходимые условия

Перед интеграцией расширения AppsFlyer Adobe SDK необходимо выполнить несколько действий.

Получение ключа разработчика AppsFlyer (dev key)
dev_key.png
  1. На дэшборде вашего приложения нажмите Настройки приложения в разделе Конфигурация в левом меню.
  2. В разделе Установка SDKскопируйте Ключ разработчика.
Получите идентификатор приложения
  • Для Android ID приложения — это имя пакета, например example.com.app.
  • Для iOS ID приложения — это ID приложения в iTunes без префикса id, например 123456748.

 Примечание

Для настройки Adobe Launch следуйте приведенным здесь инструкциям.

1.1 Создание нового свойства в Adobe Launch
<em class="fa fa-edit"> </em>Примечание
  1. Войдите в Adobe Experience Cloud.
  2. Выберите Launch (Запуск).
  3. Нажмите Go to Launch (Перейти к запуску).
  4. Нажмите New Property (Новое свойство).
  5. Дайте свойству имя и выберите Mobile (Мобильный).
  6. Нажмите кнопку Save (Сохранить)
1.2 Установка необходимых расширений Adobe Launch

Установите следующие расширения в Adobe Launch:

adboe_extensions.png
  • Adobe Analytics соединяет записанные данные из SDK с модулем Adobe Analytics.
  • AppsFlyer SDK Extension отправляет данные и события в Adobe и AppsFlyer с помощью Adobe Launch SDK.
  • Adobe Profile позволяет SDK сохранять данные в профиле на стороне клиента.
  • Adobe Mobile Core позволяет настраивать мобильный SDK и предоставляет доступ к событиям и условиям жизненного цикла по умолчанию.

Установка расширения Adobe Analytics

  1. Войдите в Adobe Analytics.
  2. Создайте набор отчетов.
  3. Снова войдите в Adobe Launch.
  4. В списке свойств нажмите на свойство, которое вы создали ранее.
  5. Нажмите Extensions (Расширения).
  6. Найдите и установите Adobe Analytics.
  7. Под Наборами отчетовукажите набор отчетов, который вы создали в шаге 2.
  8. Нажмите кнопку Save (Сохранить)

Установка расширения AppsFlyer SDK

  1. Выберите Расширения снова.
  2. Найдите и установите AppsFlyer SDK Extension.
  3. В разделе AppsFlyer iOS App ID укажите идентификатор приложения для iOS, который вы получили на этапе предварительных условий.
  4. В разделе AppsFlyer Dev Key укажите ключ разработчика, полученный на этапе предварительных условий.
  5. Включите Отправка данных об атрибуции в Adobe Analytics. Обратите внимание, что существуют некоторые ограничения на передачу данных на уровне пользователя сторонним аналитическим платформам.
  6. Нажмите кнопку Save (Сохранить)

Установите расширение Profile и Mobile Core

  1. Выберите Расширения снова.
  2. Найдите и установите Профиль.
  3. Найдите и установите Mobile Core.
    • При установке Mobile Core просто сохраните расширение как есть. Нет необходимости указывать Experience Cloud Server (Сервер Experience Cloud).

Выберите вкладку Custom Variables (Пользовательские переменные) и настройте переменные для сопоставления данных AppsFlyer SDK с данными системы Adobe.

Следуйте инструкциям в этом разделе, чтобы внедрить расширение Adobe SDK в свое приложение.

2.1 Добавление SDK в приложение
adobe_sdk.png
  1. Внутри свойств Adobe выберите Environments (Среды).
  2. Выберите среду, для которой вы хотите развернуть SDK.
  3. С правой стороны нажмите на значок коробки.
  4. Скопируйте фрагменты кода из открывшегося окна и следуйте инструкциям. Если вы маркетолог, настраивающий Adobe, отправьте эти фрагменты кода своему разработчику приложений.
2.2 Публикация среды

Чтобы завершить реализацию SDK, необходимо опубликовать среду в библиотеке.

adobe_publishing.png
  1. Внутри свойств Adobe выберите Publishing (Публикация).
  2. Нажмите Add New Library (Добавить новую библиотеку).
  3. Дайте ей имя и в разделе "Environment" выберите Development (Разработка).
  4. Нажмите Save & Build for Development (Сохранить и собрать для разработки).
  5. После завершения сборки в разделе Developmentнажмите на три точки рядом с библиотекой и выберите Submit for Approval (Отправить на утверждение).
  6. В разделе Submitted (Отправленные) нажмите на три точки рядом с библиотекой и выберите Build for Staging (Собрать для стейджинга).
  7. Когда сборка завершится, нажмите на три точки рядом с библиотекой и выберите Approve for Publishing (Утвердить для публикации).
  8. Под кнопкой Утвердитьнажмите на три точки рядом с библиотекой и выберите Build & Publish to Production (Собрать и опубликовать в продакшн).
2.3 Добавление реферера установки для Android к вашему приложению

Инициатор установки для Android повышает точность атрибуции, защищает от мошеннических установок, а также выполняет другие функции. Его поддержка в SDK AppsFlyer для Android предусмотрена начиная с версии 4.8.6.

Примечание

Google прекратил поддержку BroadcastReceiverв марте 2020 г. 

  • Это изменение не влияет на приложение.
  • Возможно, вам по-прежнему понадобится BroadcastReceiver для атрибуции приложений, установленных не из магазина. Проверьте это в магазине, в котором зарегистрировано приложение.
  • Внедрение инициатора установки теперь является обязательным.

Добавить инициатор установки в приложение можно двумя способами:

  • С помощью системы Gradle (рекомендуется)
  • Добавление инициатора установки вручную
Добавление реферера установки с помощью Gradle

Добавьте инициатор установки для Android как зависимость. Загрузить последнюю версию можно здесь.

  1. dependencies {
    //убедитесь, что используете последнюю версию SDK: https://mvnrepository.com/artifact/com.appsflyer/af-android-sdk
    	implementation 'com.appsflyer:af-android-sdk:5.+'
    	implementation 'com.android.installreferrer:installreferrer:1.1'
    }
  2. Синхронизируйте проект для получения зависимостей — см. снимок экрана ниже:
    android_af_sdk_sync_gradle.png

Разработчикам, которые используют утилиту ProGuard и хотят использовать новый API для реферера от Google, необходимо добавить в ProGuard такое правило:-dontwarn com.android.installreferrer

Добавление инициатора установки с помощью Gradle Добавление инициатора установки вручную
  1. Загрузите файл реферера установки в формате aar.
  2. Добавьте его в проект.
  3. Добавьте следующее разрешение в манифест: com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
2.4. Настройка необходимых разрешений

Добавление разрешения повышает показатель атрибуции на основе вероятностного моделирования. Кроме того, это позволяет SDK отправлять больше данных, таких как данные WiFi и сети оператора связи. Эти данные можно получать из отчетов по сырым данным и использовать для анализа и оптимизации кампаний.

Добавление необходимых разрешений

  1. Добавьте в файл AndroidManifest.xml эти разрешения:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- Необязательно: -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    

Использование расширения Adobe SDK

Теперь вы можете начать использовать расширение Adobe SDK для отправки данных в Adobe и AppsFlyer.

Примечание

В настоящее время расширение Adobe Launch SDK поддерживает только получение данных о конверсиях и отправку событий. Однако, когда вы добавляете расширение Adobe Launch SDK в свое приложение, AppsFlyer SDK также добавляется. Таким образом, любая функциональность, отсутствующая в расширении Adobe SDK, может быть реализована с помощью AppsFlyer SDK.

Отправка событий

Отслеживая события внутри приложения, можно понять, что в нем происходит. Рекомендуется заранее определить, какие события нужно регистрировать. Регистрация внутренних событий приложения позволит измерять такие KPI, как ROI (окупаемость инвестиций) и LTV (суммарная прибыль от пользователя).

Расширение Adobe Launch SDK позволяет отправлять данные о событиях в приложении как в Adobe, так и в AppsFlyer. Затем вы можете использовать Adobe Analytics для анализа поведения пользователей и AppsFlyer для анализа ROI и LTV.

Android;
final Map<String,String> eventMap = new HashMap<>();  
eventMap.put("currency", "USD");  
eventMap.put("revenue", "200");  
eventMap.put("freehand", "param");

MobileCore.trackAction("af_purchase", eventMap);
https://support.appsflyer.com/hc/article_attachments/360016192917
[ACPCore trackAction:@"af_purchase" data:@{@"revenue":@"200",@"currency":@"USD"}];

Отправка событий, как указано в приведенном выше коде, создает на дэшборде AppsFlyer событие af_purchase с доходом в 200 долларов. Это событие также отправляется и отображается в Adobe Analytics.

Все данные о конверсиях, отправляемые вместе с событиями, имеют префикс appsflyer. Подробнее см. в таблице ниже.

Переменные в префиксах данных о конверсиях
appsflyer.af_click_lookback
appsflyer.install_time
appsflyer.cost_cents_USD
appsflyer.media_source
appsflyer.af_adset
appsflyer.click_time
appsflyer.orig_cost
appsflyer.campaign

Данные конверсии доступны в Analysis Workspace в Adobe Analytics. Дополнительные сведения о переносе правил обработки Adobe Mobile Services в Adobe Analytics см. в документации Adobe.

Получение данных для диплинкинга и отложенного диплинкинга.

Диплинкинг и отложенный диплинкинг позволяют улучшить пользовательский опыт. Они позволяют открывать приложение при определенных действиях и настраивать контент в соответствии с данными кампании.

Чтобы получить данные из диплинка, реализуйте обратные вызовы расширения.

Android;

В глобальном классе application выполните следующий код:

AppsFlyerAdobeExtension.registerAppsFlyerExtensionCallbacks(new AppsFlyerExtensionCallbacksListener() {
		@Override
		public void onCallbackReceived(Map<String, String> callback) {
			Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
			if(callback.get("callback_type").equals("onConversionDataReceived")){
				// conversion data returned 
				if(callback.get("is_first_launch").equals("true")){
					String af_status = callback.get("af_status");
					if(af_status.equals("Non-organic")){
						Log.d(AppsFlyerLibCore.LOG_TAG, "this is first launch and a non organic install!");
					}
				}
			} else if(callback.get("callback_type").equals("onAppOpenAttribution")){
				// direct deeplink - redirect user
				Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
			}
		}
		@Override
		public void onCallbackError(String errorMessage) {
			Log.d("TAG", errorMessage);
		}
	});
https://support.appsflyer.com/hc/article_attachments/360016192917

В файле AppDelegate.m выполните следующий код:

[AppsFlyerAdobeExtension registerCallbacks:^(NSDictionary *dictionary) {
        NSLog(@"[AppsFlyerAdobeExtension] Received callback: %@", dictionary);
        if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onConversionDataReceived"]){
            if([[dictionary objectForKey:@"is_first_launch"] boolValue] == YES){
                NSString* af_status = [dictionary objectForKey:@"af_status"];
                if([af_status isEqualToString:@"Non-organic"]){
                    NSLog(@"this is first launch and a non organic install!");
                }
            }
        } else if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onAppOpenAttribution"]) {
            NSLog(@"onAppOpenAttribution Received");
        }
     }];
    [AppsFlyerAdobeExtension callbacksErrorHandler:^(NSError *error) {
          NSLog(@"[AppsFlyerAdobeExtension] Error receiving callback: %@" , error);
    }];
    

Подключение данных о конверсиях AppsFlyer

Данные о конверсии отправляются вместе с событиями на платформу Adobe. Эти переменные позволяют применять логику и правила к измерениям, метрикам или фильтрам отчетности.

  1. Войдите в систему Adobe Mobile Services.

    adobe_analytics.png
  2. Перейдите в Admin > Report Suites
  3. Выберите набор отчетов, настроенный во время внедрения Adobe Analytics.
  4. Выберите соответствующее приложение и войдите на страницу Manage Variables & Metrics (Управление переменными и метриками).
  5. Создайте правила обработки, чтобы сопоставить переменные AppsFlyer Context Data с eVars.

См. следующую таблицу для сопоставления переменных контекста AppsFlyer:

Рекомендуемое название для сопоставления Данные о конверсиях
Окно атрибуции AppsFlyer appsflyer.af_click_lookback
Время установки AppsFlyer appsflyer.install_time
Стоимость в AppsFlyer в центах доллара США appsflyer.cost_cents_USD
Медиа-источник AppsFlyer appsflyer.media_source
Группа объявлений AppsFlyer appsflyer.af_adset
Время клика AppsFlyer appsflyer.click_time
Первоначальная стоимость AppsFlyer appsflyer.orig_cost
Кампания AppsFlyer appsflyer.campaign

Использование данных о конверсии, сопоставленных с AppsFlyer, для аналитики и анализа

Все данные, поступающие из SDK, доступны в пакете отчетов Adobe Analytics, который подключен к приложению.

Вы можете использовать данные и связанные с ними показатели и метрики в созданных отчетах и панелях Adobe Analytics. Эти данные также доступны на дэшборде AppsFlyer для атрибуции и анализа событий в приложении.