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

Краткий обзор. Отправляйте данные в SDK Adobe Launch и SDK AppsFlyer с помощью единого расширения для SDK AppsFlyer Adobe Launch.

Обзор

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.

Шаг 1. Настройка Adobe Launch

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

1.1 Создание нового свойства в Adobe Launch

  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).

Шаг 2. Внедрение расширения AppsFlyer Adobe SDK

Следуйте инструкциям в этом разделе, чтобы внедрить расширение 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 {
    //make sure to use the latest SDK version: 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

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" />
    <!-- Optional : -->
    <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 iOS
final Map<String,String> eventMap = new HashMap<>();  
eventMap.put("currency", "USD");  
eventMap.put("revenue", "200");  
eventMap.put("freehand", "param");

MobileCore.trackAction("af_purchase", eventMap);

Отправка событий, как указано в приведенном выше коде, создает на дэшборде 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

Данные о конверсиях используются в приложении, которое вы создаете в Adobe Mobile Services. Существуют и другие параметры, которые могут появляться в данных о конверсиях. Подробнее см. тут.

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

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

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

Android iOS

В глобальном классе 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);
		}
	});

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

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

adobe_analytics.png

  1. Войдите в систему Adobe Mobile Services.
  2. Выберите соответствующее приложение и войдите на страницу Manage Variables & Metrics (Управление переменными и метриками).
  3. Выберите вкладку Custom Variables (Пользовательские переменные) и настройте переменные для сопоставления данных AppsFlyer SDK с данными системы Adobe.
  4. Для каждой пользовательской переменной введите осмысленное имя.
  5. Выберите или введите сопоставленные данные о конверсиях AppsFlyer и выберите предпочтительный вариант Persistence (Хранение данных).

См. следующую таблицу для сопоставления переменных контекста 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 для атрибуции и анализа событий в приложении.