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

Выручка магазина ROI360 Категория "Премиум"

  • Обновлено

Краткий обзор: настройте решение AppsFlyer ROI360 для измерения выручки магазина.

Важно!

Решение ROI360 для измерения выручки магазина доступно только клиентам с премиальным тарифным планом ROI360. Чтобы проверить свой тарифный план или перейти на более высокий, обратитесь к своему менеджеру по работе с клиентами (CSM).

Обзор

 Примечание

Дополнительные сведения о ROI360, в том числе о принципе его работы и о том, как включить его в AppsFlyer, см. в статье О выручке магазина ROI360.

Чтобы настроить выручку магазина ROI360, последовательно выполните следующие шаги:

  1. Настройте учетные данные магазина (iOS и Android):
    • iOS: настройте в AppsFlyer ключи App Store Connect (ключ для покупок в приложении, идентификатор ключа и идентификатор эмитента).
    • Android: Настройте сервисный аккаунт Google Cloud, задайте необходимые разрешения в Google Play Console и загрузите JSON-ключ сервисного аккаунта в AppsFlyer.
  2. Настройте уведомления сервера (iOS и Android):
    • iOS: настройте серверные уведомления App Store, отправляя их напрямую в AppsFlyer (рекомендуется) или перенаправляя с собственного сервера, и проверьте интеграцию.
    • Android: Настройте уведомления разработчика Google Play в реальном времени (RTDN): разрешите Google Play отправлять уведомления напрямую в AppsFlyer (рекомендуется) или перенаправляйте их через Pub/Sub.
  3. Внедрите коннектор SDK: подготовьте разработчиков к интеграции AppsFlyer Purchase SDK Connector.
  4. Проверка интеграции SDK: протестируйте покупки в приложении и подписки в тестовой среде (sandbox) на обеих платформах, чтобы убедиться, что AppsFlyer корректно получает и обрабатывает события SDK и серверные уведомления.
  5. Проверьте и обновите настройки: проверьте и подтвердите статусы валидации покупок, обработки возвратов, измерения подписок и интеграции с магазином, чтобы обеспечить точную и непрерывную атрибуцию дохода на разных платформах.
  6. Выпуск версий приложения: выпустите обновленные версии приложения с интегрированным коннектором SDK, убедившись, что флаги тестовой среды (sandbox) отключены, а правила валидации разрешают регистрацию необходимых событий, связанных с выручкой.

Шаг 1 (iOS): Настройка ключей App Store Connect

На шаге 1 получите следующие учетные данные в App Store Connect и введите их на странице «Настройки дохода» на платформе AppsFlyer

  • Ключ покупки в приложении
  • Идентификатор ключа
  • Идентификатор эмитента

Прежде чем начать:

Настройка учетных данных включает шаги, выполняемые как в App Store Connect, так и в AppsFlyer. Держите вкладки App Store Connect и AppsFlyer открытыми во время настройки.

1.1 Создание ключей App Store Connect

Чтобы настроить учетные данные iOS, выполните следующие шаги:

  1. В App Store Connect перейдите в Пользователи и доступ

  2. Перейдите в Пользователи и доступ > Интеграции, и в списке Ключи выберите Покупка в приложении.

  3. Нажмите + чтобы сгенерировать новый ключ покупки в приложении.

  4. Введите название для вашего ключа API.
  5. Нажмите Генерировать.
  6. Нажмите Скачать ключ покупки в приложении рядом с ключом, который вы только что сгенерировали, чтобы скачать его. Примечание: Вы можете скачать ключ только один раз.
  7. Скопируйте Идентификатор ключа , который вы только что сгенерировали, и вставьте его в настройки покупок и подписок AppsFlyer в поле Идентификатор ключа.

  8. Скопируйте Идентификатор эмитента. Примечание: если Идентификатор эмитента не отображается в верхней части страницы, создайте ключ API App Store Connect (с любым уровнем доступа). После этого идентификатор эмитента появится в верхней части страницы для ключа покупки в приложении.

1.2 Настройка ключа App Store Connect в AppsFlyer

  1. Включите измерение выручки магазина ROI360. 
  2. На этапе Ключи App Store Connect нажмите Загрузить в поле Ключ покупки в приложении , чтобы загрузить файл p8.
  3. В разделе titled В разделе Ключи App Store Connect вставьте значения, скопированные из App Store Connect.

    • Идентификатор ключа
    • Идентификатор эмитента
  4. Нажмите Валидация ключей, чтобы убедиться, что введенные вами ключи верны. Примечание: Валидация ключа может не работать, если ваше приложение еще не опубликовано в App Store.
  5. Нажмите Сохранить и продолжить

Step 1 (Android): Настройка ключа сервисного аккаунта и разрешений

На шаге 1 вы можете получить следующие учетные данные из App Store Connect и ввести их на странице «Настройка выручки» на платформе AppsFlyer.

Прежде чем начать:

  • Настройка измерения дохода от покупок в приложении и подписок включает шаги, выполняемые в Google Cloud Platform, Google Play Console, и в интерфейсе AppsFlyer. Мы рекомендуем не закрывать все три вкладки на протяжении всего процесса настройки.
  • Для настройки в интерфейсе AppsFlyer требуются права администратора.

1.1. Привяжите аккаунт разработчика Google Play к проекту в Google Cloud

Предварительные условия: доступ к Google Play Console и проекту в Google Cloud.

Чтобы привязать свой аккаунт разработчика Google Play к проекту в Google Cloud, выполните следующие действия:

  1. В Google Play Console откройте свой аккаунт разработчика в Google Play Developer.
  2. Привяжите аккаунт к своему проекту в Google Cloud. Инструкции см. в этом разделе справки Google.
  3. Активируйте API разработчика Google Play. Инструкции см. в этом разделе справки Google.

1.2. Настройте свой сервисный аккаунт на Google Cloud Platform

Предварительные условия: доступ к Google Cloud Platform.

Чтобы настроить свой сервисный аккаунт, выполните следующие действия:

  1. Создайте или найдите Сервисный аккаунт:
    1. Перейдите в раздел Сервисные аккаунты на платформе Google Cloud и нажмите Создать сервисный аккаунт.

    2. Введите данные для сервисного аккаунта.

    3. Скопируйте адрес электронной почты.

    4. Нажмите Создать и продолжить.

    5. На этапе Предоставление сервисному аккаунту доступа к проекту выберите роль подписчика Pub/Sub.

    6. НажмитеПродолжить>Выполнено.

  2. Скачайте закрытый ключ сервисного аккаунта:
    1. На платформе Google Cloud перейдите в раздел Сервисные аккаунты, найдите в списке нужный аккаунт (который вы только что создали) и нажмите на значок Дополнительные действия.
    2. Кликните Управление ключами.

    3. Нажмите Добавить ключ>Создать новый ключ.

    4. Во всплывающем окне Создать закрытый ключ в разделе Тип ключа выберите JSON и нажмите Создать.

    5. Нажмите Создать. Загрузится файл JSON закрытого ключа.

    6. Сохраните файл ключа JSON, который нужно будет загрузить в AppsFlyer позже. Важно! Ключ необходимо сохранить; его нельзя будет загрузить позже. Если вы его не сохраните, вам придется генерировать ключ заново.

1.3. Настройка прав доступа к API в Google Play Console

Предварительные условия: доступ к Google Play Console.

Примечание: после установки учетных данных и разрешений аккаунта службы может пройти некоторое время (иногда до 24 часов), прежде чем вы сможете их использовать. Это может привести к появлению ошибок на последующих этапах.

Настройка прав доступа к API в Google Play Console:

  1. В Google Play Console перейдите в раздел Пользователи и разрешения, найдите созданный сервисный аккаунт и нажмите кнопку Пригласить новых пользователей.

  2. Введите адрес электронной почты который вы скопировали при настройке сервисного аккаунта на шаге 1.2.1.3.

  3. В разделе Разрешения перейдите на вкладку Разрешения аккаунта и выберите оба варианта:

    • Просматривать финансовые данные, заказы и ответы на анкетирование после отмены.
    • Управление заказами и подписками.
  4. На вкладке Разрешения приложения нажмите Добавить приложение, затем выберите ваше приложение. Добавьте несколько приложений, если необходимо.

  5. Нажмите Пригласить пользователя.

  6. Во всплывающем окне подтверждения нажмите Отправить приглашение.

1.4. Загрузите закрытый ключ сервисного аккаунта в AppsFlyer

Загрузите и выполните валидацию ключа JSON Google, который вы скачали в шаге 1.2.

Предварительные условия: доступ администратора к AppsFlyer.

Чтобы загрузить закрытый ключ учетной записи службы в AppsFlyer, выполните следующие шаги:

  1. Включите данные о доходах магазина в ROI360. 
  2. На этапе Ключ и разрешения служебной учетной записи в поле Загрузить ключ JSON Google нажмите (значок загрузки).
  3. Загрузите файл JSON, который вы скачали в шаге 1.2.
  4. Нажмите Проверить ключ.Примечание
    • После установки учетных данных и разрешений аккаунта службы может пройти до 24 часов, прежде чем вы сможете их использовать. Это может привести к ошибкам при попытке проверить ключ или выполнить тестовую валидацию.
    • Чтобы обойти 24-часовой период ожидания, откройте любое приложение в Google Play Console, перейдите в раздел Монетизация > Продукты > Подписки/Покупки в приложении и внесите изменения. Например, отредактируйте описание вашего продукта и сохраните его. Это должно привести к мгновенному обновлению учетных данных и разрешений аккаунта. Затем вы можете отменить эти изменения.
  5. Нажмите Сохранить и продолжить.

Шаг 2 (iOS): Настройка уведомлений сервера App Store

Задайте способ получения уведомлений от App Store в AppsFlyer.

  • Если в App Store Connect уже настроен адрес для получения серверных уведомлений App Store (например, ваш собственный сервер или сторонний сервис), выберите вариант 1 (рекомендуется) или вариант 2.
  • Если вы еще не настроили адрес для получения уведомлений в App Store Connect, выберите вариант 1.

Вариант 1 (рекомендуется) — AppsFlyer в качестве основного адреса для получения уведомлений

Замените существующий URL для получения уведомлений в App Store Connect на адрес AppsFlyer, а предыдущий адрес добавьте в AppsFlyer в качестве адреса для пересылки уведомлений. Текущая логика работы с подписками и связанные с ней процессы останутся без изменений и продолжат работать в обычном режиме.

Схема передачи уведомлений для этого варианта выглядит следующим образом:

  1. App Store Connect отправляет уведомления в AppsFlyer
  2. AppsFlyer обрабатывает их для ROI360
  3. AppsFlyer пересылает все уведомления на ваш существующий адрес в режиме реального времени.

Чтобы использовать этот вариант, выполните шаги 2.1, 2.2 и 2.4.

Вариант 2 — ваш адрес в качестве основного адреса для получения уведомлений

Если вы предпочитаете оставить существующую конечную точку в качестве основного адресата, настройте свой сервер так, чтобы он пересылал серверные уведомления App Store в AppsFlyer.

Чтобы использовать этот вариант, пропустите шаги 2.1, 2.2 и выполните шаги 2.3 и 2.4

Примечание

Apple поддерживает только один адрес для получения серверных уведомлений App Store на каждое приложение и отправляет на него все типы уведомлений, а не только уведомления о покупках и подписках. AppsFlyer использует уведомления о покупках и подписках для измерения дохода. Получение уведомлений любого другого типа подтверждается Apple, чтобы прекратить повторные попытки отправки, но сами уведомления не обрабатываются и не вызывают никаких действий.

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

  • Вариант 1: оставьте AppsFlyer в качестве основного адреса для получения уведомлений и включите их пересылку (шаг 2.1). AppsFlyer пересылает на ваш адрес копии всех уведомлений в режиме реального времени без изменений, в том виде, в котором их отправил Apple, включая типы уведомлений, которые AppsFlyer не обрабатывает.
  • Вариант 2: оставьте собственный адрес в качестве основного для получения уведомлений, чтобы ваш сервер напрямую получал и обрабатывал все типы уведомлений, а уведомления о покупках и подписках пересылал в AppsFlyer.

2.1 Скопируйте адрес AppsFlyer для получения серверных уведомлений

Чтобы скопировать адрес AppsFlyer для получения серверных уведомлений, выполните следующие действия:

  1. В AppsFlyer на этапе Серверные уведомления App Store скопируйте адрес AppsFlyer для получения серверных уведомлений.
  2. Если ранее вы настроили другой адрес для получения серверных уведомлений App Store и хотите, чтобы AppsFlyer пересылал на него уведомления, выберите Пересылать копии уведомлений на ваш сервер (только для варианта 1).
  3. Введите адрес для пересылки уведомлений в появившееся текстовое поле.

2.2 Как отправлять уведомления напрямую в AppsFlyer

Чтобы отправлять уведомления напрямую в AppsFlyer, настройте AppsFlyer в качестве основного адреса для получения серверных уведомлений App Store.

  1. В App Store Connect перейдите в раздел Информация о приложении, прокрутите страницу до раздела Серверные уведомления App Store и рядом с полем URL рабочего сервера нажмите Изменить.

  2. Вставьте адрес AppsFlyer для получения серверных уведомлений, скопированный из AppsFlyer, выберите Уведомления версии 2 и нажмите Сохранить. Примечание: Уведомления версии 1 больше не поддерживаются. Если в App Store Connect не отображается список выбора версии уведомлений, значит, вы уже используете версию 2.

  3. В разделе Информация о приложении прокрутите до Уведомления сервера App Store и рядом с URL-адресом тестового сервера, нажмите Изменить.

  4. Вставьте адрес AppsFlyer для получения серверных уведомлений, скопированный из AppsFlyer, выберите Уведомления версии 2 и нажмите Сохранить. Примечание: Уведомления версии 1 больше не поддерживаются. Если селектор версии уведомлений не отображается в App Store Connect, это означает, что вы уже используете версию 2.

2.3 [Необязательно] Пересылка уведомлений от конечной точки в AppsFlyer

Используйте этот шаг, только если хотите оставить свою конечную точку основным назначением для серверных уведомлений App Store, вместо того чтобы отправлять уведомления напрямую в AppsFlyer.

Этот вариант не рекомендуется и требует реализации на стороне сервера. Если вы уже настроили AppsFlyer как основную конечную точку на шаге 2.2 выше, пропустите этот шаг.

Чтобы пересылать серверные уведомления с вашего сервера в AppsFlyer, выполните следующие действия:

  1. В App Store Connect перейдите в раздел Информация о приложении, прокрутите страницу до раздела Серверные уведомления App Store и рядом с полем URL рабочего сервера нажмите Изменить.

  2. Вставьте свой URL-адрес конечной точки сервера.

  3. Выберите Уведомления версии 2. Примечание: Уведомления версии 1 больше не поддерживаются. Если селектор версии уведомлений не отображается в Apple Store Connect, это означает, что вы уже используете версию 2.
  4. Нажмите Сохранить.
  5. В App Store Connect, в разделе Информация о приложении прокрутите до Уведомления сервера App Store, и рядом с URL-адресом тестового сервера нажмите Изменить.

  6. Вставьте свой URL-адрес конечной точки сервера.

  7. Выберите Уведомления версии 2. Примечание: Уведомления версии 1 больше не поддерживаются.
  8. Нажмите Сохранить.
  9. Настройте свой сервер для пересылки серверных уведомлений Apple на URL-адрес AppsFlyer для получения уведомлений. Запросы должны в точности соответствовать полезной нагрузке App Store в том виде, в котором она получена от Apple. См. требования к формату Apple.

2.4 Проверка интеграции уведомлений сервера

Чтобы убедиться, что AppsFlyer корректно получает серверные уведомления App Store, или если вы недавно настроили адрес для их получения, но уведомления еще не поступали:

  1. В AppsFlyer перейдите к шагу Уведомления сервера App Store.
  2. Кликните Тестировать интеграцию. AppsFlyer отправляет в Apple запрос на тестовое уведомление, проверяет, были ли получены корректные уведомления от Apple за последние 7 дней, и отображает один из следующих результатов:

    • Подтверждение получения реальных уведомлений.
    • Сообщение о статусе, указывающее, что уведомления не найдены.

     Примечание.

    Apple может потребоваться несколько секунд для отправки тестового уведомления.

    • Если статус по-прежнему указывает на ошибку, подождите немного и повторите попытку.
    • После успешного выполнения теста или когда будете готовы продолжить, нажмите Сохранить и продолжить.

Шаг 2 (Android): Настройка уведомлений сервера Google Play

Для получения данных о доходах от покупок в приложении и подписок из Google Play, выберите один из следующих вариантов:

Предварительные условия: доступ к Google Play Console и пользовательскому интерфейсу AppsFlyer.

2.1 Отправка уведомлений Google Play непосредственно в AppsFlyer

  1. В AppsFlyer на шаге 2 «Настройка серверных уведомлений Google Play» выберите Разрешить теме AppsFlyer получать сообщения RTDN напрямую от Google.
  2. Скопируйте тему AppsFlyer в буфер обмена.
  3. В Google Play Console >Главная, выберите приложение для просмотра. Откроется дэшборд.

  4. Перейдите в раздел Монетизация в Google Play > Настройка монетизации и в разделе Платежная система Google Play убедитесь, что установлен флажок Включить уведомления в реальном времени.

  5. В поле Название темы вставьте адрес темы AppsFlyer, который вы скопировали.

  6. В поле Содержимое уведомлений выберите Подписки, аннулированные покупки и все разовые покупки.

  7. Нажмите Сохранить изменения. Чтобы изменения вступили в силу, может потребоваться время (иногда вплоть до 24 часов). Поэтому не спешите проводить тестирование.

2.2. [Необязательно] Перенаправление уведомлений Google Play в AppsFlyer

Примечание: этот шаг предназначен только для тех случаев, когда вы не выбрали рекомендуемый способ получения данных о доходах от покупок в приложении и подписок от Google Play, отправляя уведомления напрямую в AppsFlyer. Если вы выполнили всё необходимое для выбора рекомендуемого метода и создали тему, в которой AppsFlyer напрямую получает RTDN-уведомления от Google Play, пропустите этот шаг.

Если вы хотите добавить AppsFlyer в качестве подписчика на существующий топик PUB/SUB, следуйте приведенным ниже инструкциям.

Предварительные условия: доступ к Google Cloud Platform и пользовательскому интерфейсу AppsFlyer.

Чтобы перенаправлять уведомления Google Play в AppsFlyer:

  1. В AppsFlyer в боковом меню выберите Настройки > Настройки выручки,
  2. Выберите свое приложение.
  3. В вкладкеПокупки и подпискивыберитеПереслать ваши RTDN сообщения на AppsFlyer.
  4. Скопируйте URL конечной точки в буфер обмена.
  5. В Google Cloud Platform в вашем проекте найдите Pub/Sub.

  6. В Pub/Sub перейдите в раздел Темы и убедитесь, что у вас есть отдельный топик Pub/Sub для подписок.

  7. В Pub/Sub, перейдите в Подписки раздел и нажмите Создать подписки.

  8. Введите идентификатор подписки.

  9. Выберите соответствующую тему pub/sub подписки из раскрывающегося списка.

  10. Для Типа доставки выберите Push.

  11. Вставьте URL-адрес конечной точки, который вы скопировали из AppsFlyer.

  12. В разделе Срок действия\ выберите Без срока действия\.

  13. Нажмите Создать.

  14. Перейдите в раздел Подписки и нажмите на название нужной темы.

  15. Скопируйте название темы в буфер обмена.

  16. В разделе Срок действия выберите Без срока действия А в разделе Платежная система Google Play вставьте в поле «Название топика» название, скопированное на предыдущем шаге.

  17. В поле Содержимое уведомлений выберите Подписки, аннулированные покупки и все разовые покупки.

  18. Нажмите Сохранить изменения. Чтобы изменения вступили в силу, может потребоваться время (иногда вплоть до 24 часов). Поэтому не спешите проводить тестирование.

2.3 Отправка тестового уведомления из Google Play Console

Чтобы проверить, что AppsFlyer корректно получает уведомления разработчика Google Play в реальном времени (RTDN), отправьте тестовое уведомление из Google Play Console:

  1. Нажмите кнопку Отправить тестовое уведомление. При этом в тему Pub/Sub, настроенную для AppsFlyer, отправляется тестовое сообщение RTDN.

    image (33).png
  2. В разделе Платежная система Google Play найдите поле «Название топика».
  3. В левом меню перейдите в раздел Монетизация в Google Play → Настройка монетизации.
  4. Перейдите в Google Play Console.

2.4 Подтверждение доставки уведомлений в AppsFlyer

  1. Когда тест завершится, или когда вы будете готовы продолжить, нажмите Сохранить и далее.
  2. Результат: AppsFlyer показывает, были ли получены какие-либо уведомления за последние 7 дней.
    • Если проверка прошла успешно, в интерфейсе отображаются дата и время самого последнего уведомления.
    • Если уведомления не были получены, интерфейс указывает, что за последние 7 дней уведомления не найдены.
    • Если статус не отображается, проверьте конфигурацию Pub/Sub и повторно отправьте тестовое уведомление.
  3. На шаге Google Play Server Notifications нажмите Тестировать интеграцию.

Шаг 3: Внедрение коннектора SDK

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

Чтобы реализовать коннектор SDK, выполните следующие шаги:

  1. На этапе Интеграция SDK-коннектора\ скопируйте готовое сообщение\, отображаемое в дэшборде.
  2. Отправьте его своим разработчикам. Оно включает:
    • Название и идентификатор приложения;
    • Ссылка на руководство по интеграции SDK.
    • Инструкции по настройке тестовой среды (sandbox = true)
    • Этапы тестирования (с использованием TestFlight)

Это сообщение содержит всю информацию, необходимую вашим разработчикам для завершения интеграции и начала тестирования.

 Примечание.

Коннектор использует автоматическое обнаружение транзакций. В качестве альтернативы можно внедрить метод SDK validateAndLog, чтобы вручную регистрировать каждую транзакцию. Этот метод поддерживает не все функции, доступные при использовании коннектора. Подробнее о двух вариантах интеграции SDK см. в документации DevHub.

Шаг 4. Проверка реализации SDK

Протестируйте интеграцию для измерения выручки от покупок в приложении и подписок в тестовой среде (sandbox), чтобы убедиться, что SDK-коннектор корректно интегрирован, а серверные уведомления правильно настроены и поступают в AppsFlyer.

Тестирование реализации SDK

Чтобы проверить, получал ли AppsFlyer корректные данные о событиях покупок и подписок из вашего приложения за последние 7 дней, выполните следующие действия:

  1. На шаге Проверка реализации SDK нажмите Тест реализации SDK.
  2. Просмотрите результаты, включая временную метку самой последней полезной нагрузки, полученной AppsFlyer.

     Примечание.

    Этот тест только подтверждает, что запросы доходят до AppsFlyer, и не проверяет полноту или корректность данных.

  3. Чтобы полностью проверить реализацию, выполните приведенные ниже шаги тестирования.

События и параметры песочницы

  • Коннектор SDK генерирует события только для начальной транзакции в песочнице:
    • Покупка в приложении: af_purchase_sandbox_sdk
    • Подписка: af_ars_sandbox_sdk
  • AppsFlyer обрабатывает уведомления сервера, только если было зафиксировано событие SDK для исходной транзакции.
    • Покупка в приложении S2S: af_purchase_sandbox_s2s
    • Подписка S2S: af_ars_sandbox_s2s
  • Если SDK никогда не регистрирует исходную транзакцию. S2S-событие не создается.

Особенности iOS

  • Если af_purchase_sandbox_sdk включает af_sandbox_revenue, оно сопоставляется с production-событием af_purchase.
  • Если выручка отсутствует, событие сопоставляется с af_purchase_free в рабочей среде.

Особенности Android

  • Покупки, совершенные лицензированными тестировщиками, всегда генерируют события песочницы. даже если режим песочницы не настроен в SDK.

Обязательные параметры для тестовых событий

Убедитесь, что каждое событие покупки в песочнице включает:

  • Выручка= 0 (чтобы не повлиять на реальные отчеты).
  • af_sandbox_revenue = фактическая цена продукта (чтобы корректный доход был атрибутирован).
  • af_validated = true. Если false, вернитесь назад и проверьте ключ магазина.
  • af_validation_type = receipt_validation.

Тестирование измерения доходов от внутренних покупок (IAP) и подписок

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

  • Для iOS убедитесь, что в App Store Connect в разделе App Store Server Notifications эндпоинт AppsFlyer указан в качестве Sandbox Server URL.

Чтобы протестировать доход от покупок в приложении и подписок:

  1. Скажите разработчикам, чтобы они следовали инструкциямAndroid, iOS и Unity , чтобы настроить среду песочницы в коннекторе SDK.
  2. Сделайте тестовые покупки или оформите подписку с помощью Тестировщика лицензий в Google Play. Для iOS используйте TestFlight. Примечание: продукт подписки можно протестировать только один раз на устройстве. На практике устройство не может зарегистрировать несколько тестовых покупок одной и той же подписки. Дополнительные попытки не будут зарегистрированы.
  3. Выполните тестовый возврат средств, продление или отмену подписки с помощью тестировщика лицензий в Google Play и TestFlight в iOS. Примечание. Если вы тестируете подписку, подождите, пока AppsFlyer получит серверное уведомление от магазина. Обычно оно поступает в течение нескольких минут после первоначальной покупки.
  4. На шаге Проверка реализации коннектора SDK нажмите Проверить реализацию SDK. Показывает, были ли за последние 7 дней успешно получены данные SDK от коннектора покупок.
  5. Убедитесь, что тестовые события отображаются одним из следующих способов:

  6. Убедитесь, что событие отображается на дэшборде активности AppsFlyer. В AppsFlyer перейдите в раздел Анализ > Активность, затем на графике Динамика активности откройте вкладку «События в приложении» и выберите событие для тестирования. Покупка подписки с автоматическим продлением называется af_ars_s2s_sandbox. Мероприятие включает в себя:
    • Значение выручки равно 0 (чтобы не искажать реальные отчеты AppsFlyer).
    • Параметр af_sandbox_revenue, который содержит значение выручки от купленного продукта, обеспечивая корректную отчетность по выручке.
       

Шаг 5: Проверьте и обновите настройки

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

  1. Убедитесь, что переключатель Проверять покупки через App Store включен.
  2. Проверьте следующие варианты в разделе Покупки:
    • Предотвращать дублирование покупок для чистоты данных: предотвращает запись транзакций, о которых уже сообщалось в отчетности.
    • Автоматически измерять возвраты, отмены и отрицательный доход: измеряет события, связанные с возвратами, и регистрирует их как отрицательный доход.
    • Избегать двойного учета дохода от Family Sharing: предотвращает дублирование дохода от Family Sharing. Эти события помечаются значением purchase_ownership_type=FAMILY_SHARED и сообщают о нулевом доходе.
  3. Убедитесь, что переключатель Измерять и атрибутировать доход для автоматически продлеваемых подписок включен:
  4. Статус следующих настроек:
    • Настройка ключа App Store
    • Настройка конечной точки уведомлений сервера
    • Внедрение и тестирование коннектора SDK

Шаг 6: Выпустите версии приложения с коннектором SDK

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

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

  • Внутренние события приложения, которые вы хотите регистрировать как покупки в приложении или подписки, не блокируются одним из правил проверки, которые вы настроили в AppsFlyer.
  • Ваш разработчик должен отметить все флажки безопасной среды как false.

После выпуска приложения с интегрированным SDK-коннектором начнут регистрироваться события покупок в приложении и события подписок. Они будут доступны во всех дэшбордах AppsFlyer, а также в агрегированных отчетах и отчетах с необработанными данными, включая ETL выручки.

Примечание: События будут генерироваться только для пользователей, которые обновились до версии приложения, включающей коннектор SDK. В результате до полного перехода на обновленную версию приложения ожидается расхождение между данными о доходе из приложения и данными магазина.

Переход с валидации чеков на измерение выручки магазинов в ROI360

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

  1. В AppsFlyer в боковом меню откройте Настройки и в разделе ROI360 выберите Настройки выручки.
  2. Откройте вкладку Покупки и подписки. Появится баннер о том, что ROI360 доступен, но не активен.
  3. Нажмите Сравнить продукты, чтобы узнать о преимуществах, включая атрибуцию возвратов средств, отчетность по чистой выручке и измерение полного жизненного цикла подписки.
  4. Кликните Активировать ROI360.
  5. Выполните шаг Включить уведомления сервера магазина приложений. Дополнительные сведения см. в разделе Настройка серверных уведомлений App Store или Настройка серверных уведомлений Google Play.
  6. На вкладке Покупки и подписки убедитесь, что Тип продукта установлен ROI360.
  7. Проверьте текущую настройку SDK, чтобы убедиться, что она поддерживает необходимую вам функцию учета дохода ROI360 Store.

 Примечание.

ROI360 для измерения выручки из магазинов приложений поддерживает два способа интеграции: SDK-коннектор покупок и валидацию с регистрацией событий (Validate and Log). Из двух способов мы рекомендуем использовать SDK-коннектор покупок, чтобы получить следующие преимущества:

  • Автоматическое обнаружение транзакций
  • Измерение дохода от существующих подписчиков (пользователей, оформивших подписку до интеграции)
  • Поддержка изменений цены подписки, обеспечивающая точную отчетность по доходу при обновлении цен.

Если вам не нужны эти возможности, вы можете продолжить использовать интеграцию Валидация и регистрация событий.

Как проверить метод интеграции SDK

Чтобы проверить, какой способ интеграции используется в вашем приложении — SDK-коннектор покупок или валидация и регистрация событий, выполните следующие действия:

  1. Перейдите к шагу Интегрировать SDK коннектор.
  2. Нажмите Тестировать интеграцию SDK . Вы увидите, когда AppsFlyer в последний раз получал данные SDK за последние 7 дней, а также их источник — SDK-коннектор покупок или Валидация и регистрация событий.