Проблема с интеграцией Flutter AppsFlyer SDK: ADClientErrorTrackingRestrictedOrDeniedIOS

Программируем под IOS
Ответить
Anonymous
 Проблема с интеграцией Flutter AppsFlyer SDK: ADClientErrorTrackingRestrictedOrDenied

Сообщение Anonymous »

Я интегрирую SDK в свой проект Flutter для работы с приложениями для Android и iOS. Для Android я пока не обнаружил никаких проблем с этим. Однако для iOS необходим дополнительный шаг для отображения пользователям диалога авторизации отслеживания Apple для iOS 14+. Моя проблема в том, что AppsFlyer SDK неправильно считывает этот статус авторизации, SDK всегда инициализируется с этим статусом как «не определено» или «отказано». Из-за этой проблемы мои отслеживаемые данные не отображаются на панели управления AppsFlyer, поэтому вот правильный поток (что должно произойти) и подробный поток, который у меня есть (что происходит в конце):
Счастливый ход (что должно произойти):
  • Откройте приложение.
  • Отобразите авторизацию отслеживания Apple. li>
    Принять отслеживание.
  • AppsFlyer SDK инициализируется со статусом отслеживания: 2 — «авторизованный».
  • AppsFlyer SDK отправляет события без ошибок, и данные корректно отражаются на информационной панели.
Текущий ход решения проблемы:
  • Открыть приложение.
  • Показать разрешение Apple на отслеживание.
  • Принять отслеживание.
  • AppsFlyer SDK инициализируется со статусом отслеживания: 0 — «не определено» или 3 — «отказано».
  • AppsFlyer SDK отправляет события с ошибками, и данные не отражаются на Dashboard (поскольку для SDK пользователь, видимо, не разрешил отслеживание).
Здесь вы можете найти личную вилку ваш пример проекта с кодом для отображения диалогового окна авторизации отслеживания Apple: https://github.com/Themakew/appsflyer-flutter-plugin. По сути, я настроил проект для запуска приложения iOS и добавил весь необходимый код для отображения оповещений отслеживания.
Что происходит с моей стороны:
После шага 2 я могу просмотреть журнал консоли Xcode из AppsFlyer SDK, который показывает, что статус отслеживания рассматривается как «0», а затем как «3»:

Код: Выделить всё

[com.appsflyer.serial] [ATT] Tracking authorization update from `oldStatus`: -255 to `newStatus`: 0

[com.appsflyer.serial] [ATT] Tracking authorization update from `oldStatus`: 0 to `newStatus`: 3
А в журналах флаттера VSCode статус ATT:

Код: Выделить всё

[log] ATT status: TrackingStatus.authorized
После шага 3 журналы показывают, что, когда SDK отправляет запрос API, полезная нагрузка также рассматривает статус ATT как отклоненный или неопределенный (что является ошибкой):

Код: Выделить всё

"af_iad_data":{"error":"ADClientErrorTrackingRestrictedOrDenied"}
После шага 4 журналы показывают, что SDK отправляет событие покупки, и в его полезных данных снова появляется ошибка:

Код: Выделить всё

"af_iad_data":{"error":"ADClientErrorTrackingRestrictedOrDenied"}
Даже если я перезапущу приложение снова и снова, AppsFlyer SDK никогда не обновит статус ATT на своем конце (даже если статус ATT «авторизован»). Таким образом, это проблема не только при первом запуске приложения, но и после него, когда приложение будет открываться бесчисленное количество раз после того, как AppsFlyer SDK неправильно установит статус ATT.
Вопрос: делаю ли я это? что-то не так с моей стороны, или это, возможно, ошибка Appsflyer, поскольку он неправильно распознает текущий ввод статуса ATT?

Подробнее здесь: https://stackoverflow.com/questions/792 ... trictedord
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»