Handles Leaderboard requests via IMS web services.
Opt in
Required information
*Identity: In order to opt in to leaderboard, the application must have a valid user (represented by the Identity). That user must be active.
Concrete Example
To opt in or join a user into the leaderboard, one can use following snippet.
let service = LeaderboardService(identity: identity)
service.optIn(then: { result in
switch result {
case .success:
// leaderboard opt in successful
break
case .failure:
// error
}
})
val service = LeaderboardService(identity)
service.optIn() { result: Result<Content?>? ->
if (result?.value == null || result.throwable != null) {
// failure
} else {
// Success
val content = result.value
completionHandler(content)
}
})
Opt out
Required information
*Identity: In order to opt out of leaderboard, the application must have a valid user (represented by the Identity). That user must be active.
Concrete Example
To opt out or leave the leaderboard, one can use following snippet.
let service = LeaderboardService(identity: identity)
service.optOut(then: { result in
switch result {
case .success:
// opts out successful
break
case .failure:
// error
}
})
val service = LeaderboardService(identity)
service.optOut() { result: Result<Content?>? ->
if (result?.value == null || result.throwable != null) {
// failure
} else {
// Success
val content = result.value
completionHandler(content)
}
})
Fetch
Required information
*Identity: In order fetch leaderboard, the application must have a valid user (represented by the Identity). That user must be active.
Concrete Example
To fetch the leaderboard, one can use following snippet.
Parameters:
dateComponents: The date (by component) to fetch the Leaderboard for. Leaderboards are fetched by month, so specifying the year and month in the components are necessary to receive the correct leaderboard. Defaults to fetching the current leaderboard.
let service = LeaderboardService(identity: identity)
service.fetch(dateComponents: DateComponents(year, month)) { result in
switch result {
case .success:
// fetch succesful
break
default:
// error
}
})
val service = LeaderboardService(identity)
val dataComponents = DataComponents(Date())
val filters = Set<Filter>
service.fetch(dataComponents, filters) { result: Result<Content?>? ->
if (result?.value == null || result.throwable != null) {
// failure
} else {
// Success
val content = result.value
completionHandler(content)
}
})