Проверка интеграции Flutter SDK
Проверяйте и UI приложения, и фактические запросы/события. Успешная загрузка кампании не подтверждает видимый показ, а завершение вызова события не гарантирует его доставку.
Чеклист перед выпуском
- В приложении используется
gravity_sdk 0.24.0или совместимый обновлённый релиз; проверена фактическая сборка. -
initialize()завершён до первого запроса; ключ и секция соответствуют окружению. - Android release-манифест разрешает интернет.
- Просмотры отправляются при открытии экранов, не на каждом
build(). - SKU, категории и
lngсовпадают с фидом, включая регистр. - Кампания опубликована; selector, контекст, аудитория и расписание совпадают с запросом.
- Обрабатываются
FollowUrlEventс browser/webview, диплинки и запрос push. - Login/SignUp содержат CUID с типом или hashedEmail.
- Выход/смена аккаунта сбрасывает профиль и персонализированный UI; очистка очереди выбрана явно.
- Headless имеет fallback; JSON проверяется до применения.
- Ручные показы привязаны к видимости, клики — к действиям; tracking SDK не дублируется.
- У покупок постоянный уникальный
uniqueTransactionId. - Проверены офлайн-доставка, перезапуск и блокировка автопоказа.
Диагностика
Проверка запросов
На тестовом устройстве включите LogLevel.debug. Сверьте:
- Ключ/секцию и адрес SDK API/прокси.
ctx.type,data,locationи атрибуты.- Идентификацию между просмотром, событием и запросом контента.
- Выбранный контент и переменные кампании.
- Tracking URL, которые действительно отправлены после видимости/клика.
- Событие покупки/формы на стороне Gravity Field.
До отправки логов в поддержку удалите ключи и пользовательские данные.
Сценарии собственной отрисовки
В A/B и BDUI приведены скачиваемые примеры с этими проверками.
Сценарии очереди и блокировки
- Отключить сеть, отправить событие, перезапустить приложение: запись сохраняется до доставки, очистки или истечения срока.
- Восстановить сеть и вызвать
flushQueue(): проверить очередь и фактическое событие с исходным временем. - Сменить аккаунт до доставки: прежнее событие не должно приписаться новому пользователю.
- Выполнить
clearQueue(): ожидающие события не должны появиться снова после перезапуска. - Заблокировать автопоказ, отправить просмотр: UI не появляется; запрос контента может выполняться.
- Снять блокировку: пропущенная кампания не показывается автоматически задним числом.
- Проверить tooltip отдельно: presentation lock не блокирует этот путь.
- Отправить форму офлайн: UI может перейти к следующему действию до доставки результата.
Обновление с прежних версий
При переходе на 0.24.0 проверьте:
- новую идентификацию контентных запросов после
setUser(); - наличие включённой по умолчанию очереди и выбранную политику выхода;
customProps/eventTimeи ID покупок;- обработку headless-ответа: модель в
GravityDataResponse.data, исходный JSON вGravityDataResponse.json; - доступ к
rawVariablesиContentClickEngagement; - блокировку и актуальность автопоказа.
История релизов: changelog 0.24.0. Полные сигнатуры: Справочник API.