Leaderboard
Configure leaderboard functionality. Applies to: Challenge (result submission happens on the challenge results screen) and Leaderboard view.
| Parameter | Type | Default | Applies to | What it does internally |
| showLeaderboard | boolean | false | Challenge | Shows the leaderboard entry point on the challenge screen, and — after a challenge with completed reps — opens the username-entry modal that publishes the result to the leaderboard |
| username | string | user ID | Challenge, Leaderboard | Display name for leaderboard entries. Saved to the WebView's localStorage (leaderboard_username) at verification so it persists across sessions. When absent, the raw userId is used as the display name |
| autoSubmitLeaderboard | boolean | false | Challenge | Silently publishes the challenge result to the leaderboard without showing the submission modal. The display name comes from the stored leaderboard_username (falls back to the user ID) — so pass username together with this flag |
How submission works internally: when a challenge with completed reps finishes, the result is always recorded; showLeaderboard controls whether the user is prompted to publish it with a display name, while autoSubmitLeaderboard: true skips the prompt and publishes immediately.
`autoSubmitLeaderboard` use case: Use this only for Challenge integrations where you want every completion silently posted to the leaderboard (e.g., when your host app already manages display names and doesn't want a second prompt). Leave it unset (or false) to keep the standard modal-based flow.
Leaderboard Configuration
Swift example:
1// Via customParams
2kinestex.createView(
3 customParams: [
4 "showLeaderboard": true,
5 "username": "FitnessPro123",
6 "autoSubmitLeaderboard": true // Challenge-only: skip submit modal
7 ]
8)