Report a score and optionally open the native Leaderboard UI.
Make sure the player is authenticated first. Use use-case-1-auth-bootstrap.md for a safe startup flow.
use-case-1-auth-bootstrap.md
GameServicesReportScore
GameServicesGetReportScoreSuccessResult (on success)
GameServicesGetReportScoreSuccessResult
GameServicesGetReportScoreError (on failure)
GameServicesGetReportScoreError
GameServicesShowLeaderboardUI (optional)
GameServicesShowLeaderboardUI
leaderboardId (String) e.g. "top_scores"
leaderboardId
"top_scores"
scoreValue (Int)
scoreValue
When the match ends (or on a milestone), store the score in scoreValue.
State: ReportScore
ReportScore
Action: GameServicesReportScore
Inputs: leaderboardId, scoreValue (and optional tag)
tag
Events:
successEvent β GetReportScoreSuccessResult β (optional) ShowLeaderboardUI
successEvent
GetReportScoreSuccessResult
ShowLeaderboardUI
failureEvent β GetReportScoreError (log/ignore)
failureEvent
GetReportScoreError
State: ShowLeaderboardUI (optional)
Action: GameServicesShowLeaderboardUI
Input: leaderboardId (to open a specific board)
GameServicesReportScore waits for completion. Use the extractor actions immediately after its successEvent/failureEvent.
Some platforms keep only the best score; submitting a lower score may not change ranking.
Last updated 1 month ago