Возможные ошибки
В этом разделе собраны типичные проблемы, с которыми можно столкнуться при интеграции Carrot quest SDK для Android, и рекомендации по их исправлению.
Что проверить в первую очередь
Если SDK ведёт себя не так, как ожидается, начните с базовых вещей:
API KeyиUser Auth Keyвзяты из раздела Настройки → Разработчикам, а не из webApi (см. Ключи для SDK).Carrot.setupвернулonResponse(true), в Logcat есть“SDK init success”и нет ошибок вonFailure.- Для пушей: настроен Firebase Cloud Messaging, серверный ключ загружен в кабинет, токен пробрасывается через
Carrot.sendPushToken(см. Push-уведомления). - В
compileOptionsуказана Java 17 иminSdkVersion≥ 21.
Ошибки на этапе установки
Конфликт версий Kotlin/Gradle
Если сборка падает на странных Kotlin-метаданных или несовместимости плагинов AGP — приведите версии Kotlin, AGP и Gradle к набору, который точно поддерживается. SDK собирается под Java 17, и старые Gradle/AGP его не примут.
Не находятся транзитивные зависимости
Если Gradle сообщает «could not resolve …» для зависимостей вида com.github.… — проверьте, что в settings.gradle[.kts] (или в allprojects старого формата) добавлены оба репозитория:
https://raw.githubusercontent.com/carrotquest/android-sdk/carrotquest
https://jitpack.ioЧасть транзитивных зависимостей SDK резолвится с Jitpack — без него сборка не пройдёт.
Дубликаты в манифесте
SDK объявляет в своём AndroidManifest.xml сервис SdkFirebaseMessagingService и PushTapReceiver. Если вы регистрируете свои FirebaseMessagingService или ресивер с теми же intent-filter, manifest merger выберет один из них. Не дублируйте регистрацию — достаточно одного FirebaseMessagingService в приложении, который пробрасывает токен и сообщения в SDK (см. Push-уведомления).
Дальше
- Сверьтесь с чеклистом интеграции, если нужно быстро локализовать проблему.
- Для нестандартных кейсов фиксируйте issue с минимальным воспроизводимым сценарием.