Troubleshooting
Turn on logs first
- Android:
adb logcat -s FlyySDK. Init logs the mode (bundled or hosted), the OTA version and every page load (web ready → injecting init, url=…). - iOS: filter the Xcode console for
Flyy.
Common problems
Gradle can't resolve com.theflyy:flyy
Add maven { url = uri("https://cdn.flyyx.in/maven") } to the repositories in
settings.gradle.kts. If your project declares repositories in
build.gradle instead (repositoriesMode isn't FAIL_ON_PROJECT_REPOS), add it there.
A callback never fires
Callbacks run only on a real success — a 2xx whose body isn't {"success": false}.
Check the partner key matches the environment, and look for the backend
message in the logs.
An embed stays blank or collapses to zero height
The widget reported empty: this user has nothing to show (for example, no live
milestone campaign in their segment). Hide the section on empty. If the state
is error, check the logged URL.
A new bundled build doesn't show
An OTA build takes priority over the files in your app. Clear app data or reinstall, then check Flyy.getOtaVersion().
iOS push never arrives
You're probably syncing the APNs device token. Pass the FCM registration token
from MessagingDelegate to Flyy.syncPushToken. Also check the APNs key is
uploaded in the Firebase console.
Android 13+ notifications don't show in the tray
Request POST_NOTIFICATIONS at runtime. Without it the tray copy is dropped; in-app popups still show.
Floating widget or placement doesn't appear
floatingWidgetsisfalseby default — turn it on at init.- Check the dashboard rule matches the screen name. For Compose / SwiftUI / Flutter routes, call
setCurrentScreen. - Check the user is in the targeted segment and frequency caps haven't been reached.
The rewards UI ignores my app's fonts
Android: fonts must be in res/font (or assets/fonts/ with setCustomFontName).
iOS: fonts must be listed in UIAppFonts. In hosted mode only the family name is
sent, so bundled fonts render only with bundled assets.