| Раздел | Подробности |
|---|---|
| Что нового? |
7 сентября 2026 года AppsFlyer прекратит поддержку устаревшего бэкенд-сервиса валидации чека. Устаревший метод Устаревший метод будет полностью удален в предстоящих релизах SDK. Приложения, обновленные до версии v7.0.0 или более поздней, не смогут вызывать устаревший метод. AppsFlyer предлагает два поддерживаемых альтернативных решения:
|
| Дата вступления в силу |
Применяются следующие даты:
|
| Важно знать |
|
| Что необходимо сделать: |
Чтобы перейти на одно из двух решений (до 7 сентября 2026 года), выполните одно из следующих действий:
Более подробную информацию см. здесь: |
Часто задаваемые вопросы
Как узнать, какие из моих приложений все еще используют устаревшую валидацию чека?
Legacy не отображается как тип продукта на странице настроек дохода, поэтому подтвердить использование Legacy только через UI нельзя. Используйте следующие методы вместе:
-
Сначала просканируйте сырые данные. Найдите события
af_purchaseсevent_source: SDKиis_receipt_validated: true. Это возможные кандидаты, но вызовыlogEventмогут создавать похожие события, поэтому само по себе это не является окончательным подтверждением. -
Подтвердите это в коде SDK. Если ваше приложение вызывает
validateAndLogInAppPurchaseс устаревшей сигнатурой, оно использует Legacy. Устаревшая сигнатура включает:- Android: лицензионный ключ, полезная нагрузка JSON, цена, валюта
- iOS: идентификатор продукта, цена, валюта, идентификатор транзакции ID
- Свяжитесь со своим CSM. Они могут подтвердить, какие из ваших приложений все еще используют Legacy.
Что именно произойдет 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 или релиза приложения. Чтобы переключиться, измените тип продукта на странице настроек дохода и выполните дополнительную настройку ROI360 (уведомления сервера App Store для iOS, Google Play RTDN для 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 автоматически повторяет валидацию после восстановления сервиса магазина и заново генерирует все пропущенные события за период сбоя.
Почему после миграции изменился доход на моем дэшборде?
Изменился источник данных о доходе. В устаревшей версии использовалось значение, которое вы передавали в вызове 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. Откройте Settings > ROI360 > Revenue settings > Purchases & subscriptions, выберите валидация чека или ROI360 и выполните шаги настройки.
Почему в новой сборке SDK регистрируются только события песочницы, а не af_purchase?
af_purchase регистрируется только для транзакций в production. Транзакции в sandbox регистрируются как af_purchase_sandbox_sdk. Чтобы создать реальное событие af_purchase, выполняйте тестирование через production-конвейер (не TestFlight на iOS и не Licensed Tester на Android).
This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.