Open screens
The full-screen SDK opens over your app and closes back to it. Use it from a "Rewards" button, a tab, a push, or a deep link.
Home and common screens
- Android
- iOS
Flyy.open(context) // home
Flyy.open(context, FlyyScreen.WALLET) // any screen
Flyy.openRewards(context) // scratch cards and vouchers
Flyy.openWallet(context) // balance and transactions
Flyy.openReferrals(context) // refer and earn
Flyy.openSpin(context) // spin the wheel
Flyy.openMilestones(context) // milestone program
Flyy.openInbox(context) // notification inbox
Any Context works — Activity, Application, Service, or a Flutter/React Native
context. The SDK adds FLAG_ACTIVITY_NEW_TASK itself.
Flyy.open(from: self) // home
Flyy.open(from: self, screen: .wallet) // any screen
Flyy.navigateToRewards()
Flyy.navigateToWallet()
Flyy.navigateToReferAndEarn()
Flyy.navigateToSpinWheel()
Flyy.navigateToMilestones()
Flyy.openInbox()
The navigateTo… calls take an optional from: view controller. Without it
they present from the topmost view controller.
All screens are listed in Screens and widgets.
One offer, or a screen with parameters
- Android
- iOS
Flyy.open(context, deepPath = "offers/12") // one offer
Flyy.open(context, FlyyScreen.WALLET, mapOf("type" to "Cash")) // with query
Flyy.navigateToQuizActivity(context, 44) // a quiz
Flyy.navigateToTournamentDetailsActivity(context, 7) // a game
Flyy.openGiftCard(context, 31) // a gift card
Flyy.open(from: self, deepPath: "offers/12")
Flyy.open(path: "wallet", query: ["type": "Cash"])
Flyy.navigateToQuiz(gameId: 44)
Flyy.navigateToTournamentDetails(gameId: 7)
Flyy.openGiftCard(31)
Deep links
handleDeeplink accepts a web path (offers/12), a scheme link
(flyy://rewards), a full URL, or a v1 screen name (flyy_rewards,
stamp_campaign_new, …). Push notifications use the same mapping.
- Android
- iOS
Flyy.handleDeeplink(context, "flyy://rewards")
Flyy.handleDeeplink("flyy://rewards")
Handling your own links from inside the SDK
When a card in the rewards UI links to a screen in your app, you can take over the navigation:
Flyy.deeplinkListener(true) { event ->
// event.deeplink = "myapp://kyc", event.screenKey = "/checkin"
router.open(event.deeplink)
}