| Раздел | Подробности |
|---|---|
| Что нового |
7 сентября 2026 года AppsFlyer прекратит поддержку устаревшего бэкенд-сервиса валидации чека. Устаревший метод Устаревший метод будет полностью удален в предстоящих релизах SDK. Приложения, обновленные до v7.0.0 или более поздней версии, не смогут вызывать устаревший метод. AppsFlyer предлагает два поддерживаемых альтернативных решения:
|
| Дата вступления в силу |
Действуют следующие даты:
|
| Что важно знать |
|
| Что необходимо сделать: |
Чтобы перейти на одно из двух решений (до 7 сентября 2026 года), выполните одно из следующих действий:
Более подробную информацию см. здесь: |
Часто задаваемые вопросы
Как узнать, какие из моих приложений все еще используют устаревшую валидацию чека?
Legacy не отображается как тип продукта на странице настроек дохода, поэтому подтвердить использование Legacy только по интерфейсу нельзя. Используйте следующие методы вместе:
-
Сначала просканируйте сырые данные. Найдите события
af_purchaseсevent_source: SDKиis_receipt_validated: true. Это возможные кандидаты, но вызовыlogEventмогут создавать похожие события, поэтому само по себе это не является окончательным подтверждением. -
Подтвердите это в коде SDK. Если ваше приложение вызывает
validateAndLogInAppPurchaseс устаревшей сигнатурой, значит, оно использует Legacy. Устаревшая сигнатура включает:- Android: лицензионный ключ, полезная нагрузка JSON, цена, валюта
- iOS: идентификатор ID продукта, цена, валюта, идентификатор ID транзакции
- Свяжитесь со своим CSM. Он может подтвердить, какие из ваших приложений все еще работают на устаревшей версии.
Что именно произойдет 7 сентября 2026 года?
Бэкенд-сервис Legacy для валидации чека будет отключен. Начиная с этого дня:
- Начиная со следующих версий SDK, прежний метод
validateAndLogInAppPurchaseпомечен как устаревший: -
События
af_purchase, прошедшие валидацию и зарегистрированные этим методом, больше не фиксируются в AppsFlyer. - Дэшборды, сырые данные и партнерские постбэки больше не получают данные о покупках из Legacy.
Чтобы продолжить сбор валидированных покупок, перейдите на один из поддерживаемых альтернативных вариантов до 7 сентября 2026 года.
Повлияет ли включение новой валидации чека на рабочие версии приложения, которые по-прежнему вызывают устаревший метод?
№ № Оба продукта работают параллельно до 7 сентября 2026 года. Включение новой валидации чека в AppsFlyer не влияет на версии приложения, которые по-прежнему вызывают устаревший метод. Они продолжат работать как раньше до даты прекращения поддержки.
Что будет с пользователями старых версий приложения, которые никогда не обновятся?
Пользователи старых версий приложения продолжат генерировать валидированные события af_purchase до 7 сентября 2026 года. Чтобы продолжать получать валидированные данные о покупках, выпустите обновленную версию приложения с достаточным запасом времени, чтобы до прекращения поддержки ее успело получить большинство ваших пользователей.
Можно ли позже перейти с валидации чека на ROI360 Store Revenue?
Да Да Оба продукта используют один и тот же метод SDK validateAndLogInAppPurchase (v2), поэтому переход с валидации чека на ROI360 Store Revenue не требует изменения SDK или релиза приложения. Чтобы перейти, измените Product type на странице Revenue settings и выполните дополнительную настройку ROI360 (уведомления сервера App Store для iOS, RTDN Google Play для Android). См. Переход с валидации чека на ROI360 Store Revenue.
Если вы хотите пойти дальше и включить автоматическое обнаружение покупок, полное покрытие жизненного цикла подписки (включая продления, улучшения и текущих подписчиков), а также обработку изменений цен на подписку, интегрируйте компонент SDK Purchase Connector. Это обновление приложения, но оно необязательное. Ручной поток validateAndLogInAppPurchase (v2) работает в ROI360 Store Revenue и без него.
Можно ли полностью пропустить валидацию покупок в AppsFlyer?
Да Да Вы можете отправлять события покупок в приложении с помощью стандартного API logEvent. Но тогда вы не получите:
- Валидацию чека в магазинах приложений, которая отфильтровывает мошеннические покупки
- Флаг
af_validatedв событиях: имеет значениеtrue, когда AppsFlyer успешно проверяет покупку в магазине, иfalse, когда проверка не проходит. Без валидации этот флаг отсутствует. - Точные постбэки о доходе вашим партнерам по UA. Без валидации любой переданный вами
af_revenueзаписывается и отправляется в сети как есть — без подтверждения того, что покупка действительно произошла
По этим причинам AppsFlyer рекомендует использовать валидацию чека или ROI360 Store Revenue, а не полностью пропускать валидацию.
Что произойдет, если в сервисе валидации Apple или Google произойдет сбой?
Это зависит от того, какой продукт вы используете:
- Валидация чека: callback SDK возвращает код ошибки. Ваше приложение должно обработать сбой и реализовать собственную логику повторных попыток.
- ROI360 Store Revenue: AppsFlyer автоматически повторяет валидацию, как только сервис магазина восстанавливается, и заново генерирует все пропущенные события за период сбоя.
Почему после миграции изменился доход на моем дэшборде?
Изменился источник дохода. В Legacy использовалось значение, которое вы передавали в вызове SDK. Новая валидация чека использует валовой доход, возвращаемый магазином. Если раньше вы передавали пользовательское значение, например чистый доход после вычета комиссии магазина, ваши дэшборды и партнерские постбэки после миграции будут отражать другое значение.
Если вам нужен чистый доход, используйте ROI360 Store Revenue. Он фиксирует и валовой, и чистый доход (валовой за вычетом комиссий магазина и налогов).
Что происходит с моим пользовательским значением af_revenue?
Если вы по-прежнему передаете значение af_revenue, оно сохраняется в событии внутри объекта custom_data. Дэшборды и партнерские постбэки используют валовое значение из ответа магазина, а не ваше пользовательское значение.
Увидят ли мои партнеры новый доход брутто в постбэках?
Да Да После миграции постбэки af_purchase передают валовой доход из магазина. Если ранее вы передавали пользовательское значение в рамках Legacy, ваши партнеры увидят другое число. Обязательно сообщите вашим UA-партнерам о предстоящем переходе до начала миграции, особенно тем, кто использует данные о доходе для оптимизации кампаний.
Как изменятся названия событий после миграции?
Legacy создавал одно событие af_purchase для всех типов транзакций. В новой валидации чека используются разные названия событий:
- Разовая покупка:
af_purchase - Начало пробного периода:
af_ars_trial_started - Начало подписки:
af_ars_subscription_started - Покупка в песочнице:
af_purchase_sandbox_sdk - Подписка или пробный период в песочнице:
af_ars_sandbox_sdk
Полный набор событий жизненного цикла подписки (продления, отмены, возвраты средств, апгрейды) доступен только в ROI360 Store Revenue. Полный список событий см. в статье О валидации чека.
Можно ли использовать ответ SDK при валидации для управления доступом к купленному контенту?
Новая валидация чека по-прежнему возвращает результат валидации в callback SDK, и вы можете использовать его для управления доступом к купленному контенту. Результат стал точнее, потому что он основан на новейших механизмах валидации, предоставляемых Apple App Store и Google Play, поэтому сигнал, который вы получаете в callback, более надежен.
Как новый метод различает подписки и разовые покупки?
Для нового метода validateAndLogInAppPurchase обязателен параметр PurchaseType. Укажите значение one-time или subscription в зависимости от типа транзакции.
Решение Валидация чека для покупок в приложении теперь официально не поддерживается во всех SDK AppsFlyer.
В вашем приложении интегрирован новый метод validateAndLogInAppPurchase (v2), но продукт не настроен в дэшборде AppsFlyer. Откройте Настройки> ROI360 > Настройки дохода > Покупки& подписки, выберите валидация чека или ROI360 и выполните шаги настройки.
Почему в новой сборке SDK регистрируются только события песочницы, а не af_purchase?
af_purchase регистрируется только для транзакций в продуктивной среде. Транзакции в песочнице регистрируются как af_purchase_sandbox_sdk. Чтобы получить реальное событие af_purchase, тестируйте через production-конвейер (не через TestFlight на iOS и не через Licensed Tester на Android).