Skip to main content

onLoginClicked

Notifies the client app that the (Fantasy) login card was clicked.

Overview​

The SDK calls this method when a user clicks on a login card within the panel, typically in Fantasy or betting features. Your app should respond by initiating the login flow to authenticate the user.

Syntax​

abstract fun onLoginClicked()

Example​

override fun onLoginClicked() {
// Start your app's login flow
startLoginActivity()
}

private fun startLoginActivity() {
val intent = Intent(this, LoginActivity::class.java)
startActivityForResult(intent, REQUEST_CODE_LOGIN)
}

// After successful login
private fun onLoginSuccess(userId: String, token: String) {
// Update auth data flow
_authDataState.value = MaestroAuthData(
userId = userId,
token = token,
)
}

// Alternative: Show login bottom sheet
override fun onLoginClicked() {
lifecycleScope.launch {
showLoginBottomSheet()
}
}

@Composable
private fun showLoginBottomSheet() {
// Display login UI
LoginBottomSheet(
onLoginSuccess = { userId, token ->
_authDataState.value = MaestroAuthData(userId, token)
}
)
}

Notes​

  • Initiate your app's login flow when this is called
  • After successful login, update the authData() flow
  • Consider a seamless login experience (bottom sheet, modal, etc.)
  • Handle cases where the user cancels the login
  • authData() - Provides authentication data to the SDK