DefinitelyTyped/types/gapi.client.games/index.d.ts
Nathan Shively-Sanders 608c146d89 Mark non-npm packages
2019-02-13 15:44:35 -08:00

3078 lines
174 KiB
TypeScript

// Type definitions for non-npm package Google Google Play Game Services API v1 1.0
// Project: https://developers.google.com/games/services/
// Definitions by: Bolisov Alexey <https://github.com/Bolisov>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
// IMPORTANT
// This file was generated by https://github.com/Bolisov/google-api-typings-generator. Please do not edit it manually.
// In case of any problems please post issue to https://github.com/Bolisov/google-api-typings-generator
// Generated from: https://www.googleapis.com/discovery/v1/apis/games/v1/rest
/// <reference types="gapi.client" />
declare namespace gapi.client {
/** Load Google Play Game Services API v1 */
function load(name: "games", version: "v1"): PromiseLike<void>;
function load(name: "games", version: "v1", callback: () => any): void;
const achievementDefinitions: games.AchievementDefinitionsResource;
const achievements: games.AchievementsResource;
const applications: games.ApplicationsResource;
const events: games.EventsResource;
const leaderboards: games.LeaderboardsResource;
const metagame: games.MetagameResource;
const players: games.PlayersResource;
const pushtokens: games.PushtokensResource;
const questMilestones: games.QuestMilestonesResource;
const quests: games.QuestsResource;
const revisions: games.RevisionsResource;
const rooms: games.RoomsResource;
const scores: games.ScoresResource;
const snapshots: games.SnapshotsResource;
const turnBasedMatches: games.TurnBasedMatchesResource;
namespace games {
interface AchievementDefinition {
/**
* The type of the achievement.
* Possible values are:
* - "STANDARD" - Achievement is either locked or unlocked.
* - "INCREMENTAL" - Achievement is incremental.
*/
achievementType?: string;
/** The description of the achievement. */
description?: string;
/** Experience points which will be earned when unlocking this achievement. */
experiencePoints?: string;
/** The total steps for an incremental achievement as a string. */
formattedTotalSteps?: string;
/** The ID of the achievement. */
id?: string;
/**
* The initial state of the achievement.
* Possible values are:
* - "HIDDEN" - Achievement is hidden.
* - "REVEALED" - Achievement is revealed.
* - "UNLOCKED" - Achievement is unlocked.
*/
initialState?: string;
/** Indicates whether the revealed icon image being returned is a default image, or is provided by the game. */
isRevealedIconUrlDefault?: boolean;
/** Indicates whether the unlocked icon image being returned is a default image, or is game-provided. */
isUnlockedIconUrlDefault?: boolean;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinition. */
kind?: string;
/** The name of the achievement. */
name?: string;
/** The image URL for the revealed achievement icon. */
revealedIconUrl?: string;
/** The total steps for an incremental achievement. */
totalSteps?: number;
/** The image URL for the unlocked achievement icon. */
unlockedIconUrl?: string;
}
interface AchievementDefinitionsListResponse {
/** The achievement definitions. */
items?: AchievementDefinition[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementDefinitionsListResponse. */
kind?: string;
/** Token corresponding to the next page of results. */
nextPageToken?: string;
}
interface AchievementIncrementResponse {
/** The current steps recorded for this incremental achievement. */
currentSteps?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementIncrementResponse. */
kind?: string;
/** Whether the current steps for the achievement has reached the number of steps required to unlock. */
newlyUnlocked?: boolean;
}
interface AchievementRevealResponse {
/**
* The current state of the achievement for which a reveal was attempted. This might be UNLOCKED if the achievement was already unlocked.
* Possible values are:
* - "REVEALED" - Achievement is revealed.
* - "UNLOCKED" - Achievement is unlocked.
*/
currentState?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementRevealResponse. */
kind?: string;
}
interface AchievementSetStepsAtLeastResponse {
/** The current steps recorded for this incremental achievement. */
currentSteps?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementSetStepsAtLeastResponse. */
kind?: string;
/** Whether the the current steps for the achievement has reached the number of steps required to unlock. */
newlyUnlocked?: boolean;
}
interface AchievementUnlockResponse {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUnlockResponse. */
kind?: string;
/** Whether this achievement was newly unlocked (that is, whether the unlock request for the achievement was the first for the player). */
newlyUnlocked?: boolean;
}
interface AchievementUpdateMultipleRequest {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateMultipleRequest. */
kind?: string;
/** The individual achievement update requests. */
updates?: AchievementUpdateRequest[];
}
interface AchievementUpdateMultipleResponse {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateListResponse. */
kind?: string;
/** The updated state of the achievements. */
updatedAchievements?: AchievementUpdateResponse[];
}
interface AchievementUpdateRequest {
/** The achievement this update is being applied to. */
achievementId?: string;
/** The payload if an update of type INCREMENT was requested for the achievement. */
incrementPayload?: GamesAchievementIncrement;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateRequest. */
kind?: string;
/** The payload if an update of type SET_STEPS_AT_LEAST was requested for the achievement. */
setStepsAtLeastPayload?: GamesAchievementSetStepsAtLeast;
/**
* The type of update being applied.
* Possible values are:
* - "REVEAL" - Achievement is revealed.
* - "UNLOCK" - Achievement is unlocked.
* - "INCREMENT" - Achievement is incremented.
* - "SET_STEPS_AT_LEAST" - Achievement progress is set to at least the passed value.
*/
updateType?: string;
}
interface AchievementUpdateResponse {
/** The achievement this update is was applied to. */
achievementId?: string;
/**
* The current state of the achievement.
* Possible values are:
* - "HIDDEN" - Achievement is hidden.
* - "REVEALED" - Achievement is revealed.
* - "UNLOCKED" - Achievement is unlocked.
*/
currentState?: string;
/** The current steps recorded for this achievement if it is incremental. */
currentSteps?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateResponse. */
kind?: string;
/** Whether this achievement was newly unlocked (that is, whether the unlock request for the achievement was the first for the player). */
newlyUnlocked?: boolean;
/** Whether the requested updates actually affected the achievement. */
updateOccurred?: boolean;
}
interface AggregateStats {
/** The number of messages sent between a pair of peers. */
count?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#aggregateStats. */
kind?: string;
/** The maximum amount. */
max?: string;
/** The minimum amount. */
min?: string;
/** The total number of bytes sent for messages between a pair of peers. */
sum?: string;
}
interface AnonymousPlayer {
/** The base URL for the image to display for the anonymous player. */
avatarImageUrl?: string;
/** The name to display for the anonymous player. */
displayName?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#anonymousPlayer. */
kind?: string;
}
interface Application {
/** The number of achievements visible to the currently authenticated player. */
achievement_count?: number;
/** The assets of the application. */
assets?: ImageAsset[];
/** The author of the application. */
author?: string;
/** The category of the application. */
category?: ApplicationCategory;
/** The description of the application. */
description?: string;
/**
* A list of features that have been enabled for the application.
* Possible values are:
* - "SNAPSHOTS" - Snapshots has been enabled
*/
enabledFeatures?: string[];
/** The ID of the application. */
id?: string;
/** The instances of the application. */
instances?: Instance[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#application. */
kind?: string;
/** The last updated timestamp of the application. */
lastUpdatedTimestamp?: string;
/** The number of leaderboards visible to the currently authenticated player. */
leaderboard_count?: number;
/** The name of the application. */
name?: string;
/** A hint to the client UI for what color to use as an app-themed color. The color is given as an RGB triplet (e.g. "E0E0E0"). */
themeColor?: string;
}
interface ApplicationCategory {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#applicationCategory. */
kind?: string;
/** The primary category. */
primary?: string;
/** The secondary category. */
secondary?: string;
}
interface ApplicationVerifyResponse {
/** An alternate ID that was once used for the player that was issued the auth token used in this request. (This field is not normally populated.) */
alternate_player_id?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#applicationVerifyResponse. */
kind?: string;
/** The ID of the player that was issued the auth token used in this request. */
player_id?: string;
}
interface Category {
/** The category name. */
category?: string;
/** Experience points earned in this category. */
experiencePoints?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#category. */
kind?: string;
}
interface CategoryListResponse {
/** The list of categories with usage data. */
items?: Category[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#categoryListResponse. */
kind?: string;
/** Token corresponding to the next page of results. */
nextPageToken?: string;
}
interface EventBatchRecordFailure {
/**
* The cause for the update failure.
* Possible values are:
* - "TOO_LARGE": A batch request was issued with more events than are allowed in a single batch.
* - "TIME_PERIOD_EXPIRED": A batch was sent with data too far in the past to record.
* - "TIME_PERIOD_SHORT": A batch was sent with a time range that was too short.
* - "TIME_PERIOD_LONG": A batch was sent with a time range that was too long.
* - "ALREADY_UPDATED": An attempt was made to record a batch of data which was already seen.
* - "RECORD_RATE_HIGH": An attempt was made to record data faster than the server will apply updates.
*/
failureCause?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventBatchRecordFailure. */
kind?: string;
/** The time range which was rejected; empty for a request-wide failure. */
range?: EventPeriodRange;
}
interface EventChild {
/** The ID of the child event. */
childId?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventChild. */
kind?: string;
}
interface EventDefinition {
/** A list of events that are a child of this event. */
childEvents?: EventChild[];
/** Description of what this event represents. */
description?: string;
/** The name to display for the event. */
displayName?: string;
/** The ID of the event. */
id?: string;
/** The base URL for the image that represents the event. */
imageUrl?: string;
/** Indicates whether the icon image being returned is a default image, or is game-provided. */
isDefaultImageUrl?: boolean;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventDefinition. */
kind?: string;
/**
* The visibility of event being tracked in this definition.
* Possible values are:
* - "REVEALED": This event should be visible to all users.
* - "HIDDEN": This event should only be shown to users that have recorded this event at least once.
*/
visibility?: string;
}
interface EventDefinitionListResponse {
/** The event definitions. */
items?: EventDefinition[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventDefinitionListResponse. */
kind?: string;
/** The pagination token for the next page of results. */
nextPageToken?: string;
}
interface EventPeriodRange {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventPeriodRange. */
kind?: string;
/** The time when this update period ends, in millis, since 1970 UTC (Unix Epoch). */
periodEndMillis?: string;
/** The time when this update period begins, in millis, since 1970 UTC (Unix Epoch). */
periodStartMillis?: string;
}
interface EventPeriodUpdate {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventPeriodUpdate. */
kind?: string;
/** The time period being covered by this update. */
timePeriod?: EventPeriodRange;
/** The updates being made for this time period. */
updates?: EventUpdateRequest[];
}
interface EventRecordFailure {
/** The ID of the event that was not updated. */
eventId?: string;
/**
* The cause for the update failure.
* Possible values are:
* - "NOT_FOUND" - An attempt was made to set an event that was not defined.
* - "INVALID_UPDATE_VALUE" - An attempt was made to increment an event by a non-positive value.
*/
failureCause?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventRecordFailure. */
kind?: string;
}
interface EventRecordRequest {
/** The current time when this update was sent, in milliseconds, since 1970 UTC (Unix Epoch). */
currentTimeMillis?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventRecordRequest. */
kind?: string;
/** The request ID used to identify this attempt to record events. */
requestId?: string;
/** A list of the time period updates being made in this request. */
timePeriods?: EventPeriodUpdate[];
}
interface EventUpdateRequest {
/** The ID of the event being modified in this update. */
definitionId?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventUpdateRequest. */
kind?: string;
/** The number of times this event occurred in this time period. */
updateCount?: string;
}
interface EventUpdateResponse {
/** Any batch-wide failures which occurred applying updates. */
batchFailures?: EventBatchRecordFailure[];
/** Any failures updating a particular event. */
eventFailures?: EventRecordFailure[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#eventUpdateResponse. */
kind?: string;
/** The current status of any updated events */
playerEvents?: PlayerEvent[];
}
interface GamesAchievementIncrement {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#GamesAchievementIncrement. */
kind?: string;
/** The requestId associated with an increment to an achievement. */
requestId?: string;
/** The number of steps to be incremented. */
steps?: number;
}
interface GamesAchievementSetStepsAtLeast {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#GamesAchievementSetStepsAtLeast. */
kind?: string;
/** The minimum number of steps for the achievement to be set to. */
steps?: number;
}
interface ImageAsset {
/** The height of the asset. */
height?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#imageAsset. */
kind?: string;
/** The name of the asset. */
name?: string;
/** The URL of the asset. */
url?: string;
/** The width of the asset. */
width?: number;
}
interface Instance {
/** URI which shows where a user can acquire this instance. */
acquisitionUri?: string;
/** Platform dependent details for Android. */
androidInstance?: InstanceAndroidDetails;
/** Platform dependent details for iOS. */
iosInstance?: InstanceIosDetails;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#instance. */
kind?: string;
/** Localized display name. */
name?: string;
/**
* The platform type.
* Possible values are:
* - "ANDROID" - Instance is for Android.
* - "IOS" - Instance is for iOS
* - "WEB_APP" - Instance is for Web App.
*/
platformType?: string;
/** Flag to show if this game instance supports realtime play. */
realtimePlay?: boolean;
/** Flag to show if this game instance supports turn based play. */
turnBasedPlay?: boolean;
/** Platform dependent details for Web. */
webInstance?: InstanceWebDetails;
}
interface InstanceAndroidDetails {
/** Flag indicating whether the anti-piracy check is enabled. */
enablePiracyCheck?: boolean;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#instanceAndroidDetails. */
kind?: string;
/** Android package name which maps to Google Play URL. */
packageName?: string;
/** Indicates that this instance is the default for new installations. */
preferred?: boolean;
}
interface InstanceIosDetails {
/** Bundle identifier. */
bundleIdentifier?: string;
/** iTunes App ID. */
itunesAppId?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#instanceIosDetails. */
kind?: string;
/** Indicates that this instance is the default for new installations on iPad devices. */
preferredForIpad?: boolean;
/** Indicates that this instance is the default for new installations on iPhone devices. */
preferredForIphone?: boolean;
/** Flag to indicate if this instance supports iPad. */
supportIpad?: boolean;
/** Flag to indicate if this instance supports iPhone. */
supportIphone?: boolean;
}
interface InstanceWebDetails {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#instanceWebDetails. */
kind?: string;
/** Launch URL for the game. */
launchUrl?: string;
/** Indicates that this instance is the default for new installations. */
preferred?: boolean;
}
interface Leaderboard {
/** The icon for the leaderboard. */
iconUrl?: string;
/** The leaderboard ID. */
id?: string;
/** Indicates whether the icon image being returned is a default image, or is game-provided. */
isIconUrlDefault?: boolean;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboard. */
kind?: string;
/** The name of the leaderboard. */
name?: string;
/**
* How scores are ordered.
* Possible values are:
* - "LARGER_IS_BETTER" - Larger values are better; scores are sorted in descending order.
* - "SMALLER_IS_BETTER" - Smaller values are better; scores are sorted in ascending order.
*/
order?: string;
}
interface LeaderboardEntry {
/** The localized string for the numerical value of this score. */
formattedScore?: string;
/** The localized string for the rank of this score for this leaderboard. */
formattedScoreRank?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardEntry. */
kind?: string;
/** The player who holds this score. */
player?: Player;
/** The rank of this score for this leaderboard. */
scoreRank?: string;
/** Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986. */
scoreTag?: string;
/** The numerical value of this score. */
scoreValue?: string;
/**
* The time span of this high score.
* Possible values are:
* - "ALL_TIME" - The score is an all-time high score.
* - "WEEKLY" - The score is a weekly high score.
* - "DAILY" - The score is a daily high score.
*/
timeSpan?: string;
/** The timestamp at which this score was recorded, in milliseconds since the epoch in UTC. */
writeTimestampMillis?: string;
}
interface LeaderboardListResponse {
/** The leaderboards. */
items?: Leaderboard[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardListResponse. */
kind?: string;
/** Token corresponding to the next page of results. */
nextPageToken?: string;
}
interface LeaderboardScoreRank {
/** The number of scores in the leaderboard as a string. */
formattedNumScores?: string;
/** The rank in the leaderboard as a string. */
formattedRank?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScoreRank. */
kind?: string;
/** The number of scores in the leaderboard. */
numScores?: string;
/** The rank in the leaderboard. */
rank?: string;
}
interface LeaderboardScores {
/** The scores in the leaderboard. */
items?: LeaderboardEntry[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardScores. */
kind?: string;
/** The pagination token for the next page of results. */
nextPageToken?: string;
/** The total number of scores in the leaderboard. */
numScores?: string;
/**
* The score of the requesting player on the leaderboard. The player's score may appear both here and in the list of scores above. If you are viewing a
* public leaderboard and the player is not sharing their gameplay information publicly, the scoreRank and formattedScoreRank values will not be present.
*/
playerScore?: LeaderboardEntry;
/** The pagination token for the previous page of results. */
prevPageToken?: string;
}
interface MetagameConfig {
/** Current version of the metagame configuration data. When this data is updated, the version number will be increased by one. */
currentVersion?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#metagameConfig. */
kind?: string;
/** The list of player levels. */
playerLevels?: PlayerLevel[];
}
interface NetworkDiagnostics {
/** The Android network subtype. */
androidNetworkSubtype?: number;
/** The Android network type. */
androidNetworkType?: number;
/** iOS network type as defined in Reachability.h. */
iosNetworkType?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#networkDiagnostics. */
kind?: string;
/**
* The MCC+MNC code for the client's network connection. On Android:
* http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator() On iOS, see:
* https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html
*/
networkOperatorCode?: string;
/**
* The name of the carrier of the client's network connection. On Android:
* http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName() On iOS:
* https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName
*/
networkOperatorName?: string;
/** The amount of time in milliseconds it took for the client to establish a connection with the XMPP server. */
registrationLatencyMillis?: number;
}
interface ParticipantResult {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult. */
kind?: string;
/** The ID of the participant. */
participantId?: string;
/**
* The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants
* may have the same placing value in case of a type.
*/
placing?: number;
/**
* The result of the participant for this match.
* Possible values are:
* - "MATCH_RESULT_WIN" - The participant won the match.
* - "MATCH_RESULT_LOSS" - The participant lost the match.
* - "MATCH_RESULT_TIE" - The participant tied the match.
* - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
* - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
* - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
*/
result?: string;
}
interface PeerChannelDiagnostics {
/** Number of bytes received. */
bytesReceived?: AggregateStats;
/** Number of bytes sent. */
bytesSent?: AggregateStats;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#peerChannelDiagnostics. */
kind?: string;
/** Number of messages lost. */
numMessagesLost?: number;
/** Number of messages received. */
numMessagesReceived?: number;
/** Number of messages sent. */
numMessagesSent?: number;
/** Number of send failures. */
numSendFailures?: number;
/** Roundtrip latency stats in milliseconds. */
roundtripLatencyMillis?: AggregateStats;
}
interface PeerSessionDiagnostics {
/** Connected time in milliseconds. */
connectedTimestampMillis?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#peerSessionDiagnostics. */
kind?: string;
/** The participant ID of the peer. */
participantId?: string;
/** Reliable channel diagnostics. */
reliableChannel?: PeerChannelDiagnostics;
/** Unreliable channel diagnostics. */
unreliableChannel?: PeerChannelDiagnostics;
}
interface Played {
/** True if the player was auto-matched with the currently authenticated user. */
autoMatched?: boolean;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#played. */
kind?: string;
/** The last time the player played the game in milliseconds since the epoch in UTC. */
timeMillis?: string;
}
interface Player {
/** The base URL for the image that represents the player. */
avatarImageUrl?: string;
/** The url to the landscape mode player banner image. */
bannerUrlLandscape?: string;
/** The url to the portrait mode player banner image. */
bannerUrlPortrait?: string;
/** The name to display for the player. */
displayName?: string;
/** An object to represent Play Game experience information for the player. */
experienceInfo?: PlayerExperienceInfo;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#player. */
kind?: string;
/**
* Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection
* members.
*/
lastPlayedWith?: Played;
/** An object representation of the individual components of the player's name. For some players, these fields may not be present. */
name?: {
/** The family name of this player. In some places, this is known as the last name. */
familyName?: string;
/** The given name of this player. In some places, this is known as the first name. */
givenName?: string;
};
/**
* The player ID that was used for this player the first time they signed into the game in question. This is only populated for calls to player.get for
* the requesting player, only if the player ID has subsequently changed, and only to clients that support remapping player IDs.
*/
originalPlayerId?: string;
/** The ID of the player. */
playerId?: string;
/** The player's profile settings. Controls whether or not the player's profile is visible to other players. */
profileSettings?: ProfileSettings;
/** The player's title rewarded for their game activities. */
title?: string;
}
interface PlayerAchievement {
/**
* The state of the achievement.
* Possible values are:
* - "HIDDEN" - Achievement is hidden.
* - "REVEALED" - Achievement is revealed.
* - "UNLOCKED" - Achievement is unlocked.
*/
achievementState?: string;
/** The current steps for an incremental achievement. */
currentSteps?: number;
/**
* Experience points earned for the achievement. This field is absent for achievements that have not yet been unlocked and 0 for achievements that have
* been unlocked by testers but that are unpublished.
*/
experiencePoints?: string;
/** The current steps for an incremental achievement as a string. */
formattedCurrentStepsString?: string;
/** The ID of the achievement. */
id?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievement. */
kind?: string;
/** The timestamp of the last modification to this achievement's state. */
lastUpdatedTimestamp?: string;
}
interface PlayerAchievementListResponse {
/** The achievements. */
items?: PlayerAchievement[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerAchievementListResponse. */
kind?: string;
/** Token corresponding to the next page of results. */
nextPageToken?: string;
}
interface PlayerEvent {
/** The ID of the event definition. */
definitionId?: string;
/**
* The current number of times this event has occurred, as a string. The formatting of this string depends on the configuration of your event in the Play
* Games Developer Console.
*/
formattedNumEvents?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerEvent. */
kind?: string;
/** The current number of times this event has occurred. */
numEvents?: string;
/** The ID of the player. */
playerId?: string;
}
interface PlayerEventListResponse {
/** The player events. */
items?: PlayerEvent[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerEventListResponse. */
kind?: string;
/** The pagination token for the next page of results. */
nextPageToken?: string;
}
interface PlayerExperienceInfo {
/** The current number of experience points for the player. */
currentExperiencePoints?: string;
/** The current level of the player. */
currentLevel?: PlayerLevel;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerExperienceInfo. */
kind?: string;
/** The timestamp when the player was leveled up, in millis since Unix epoch UTC. */
lastLevelUpTimestampMillis?: string;
/** The next level of the player. If the current level is the maximum level, this should be same as the current level. */
nextLevel?: PlayerLevel;
}
interface PlayerLeaderboardScore {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScore. */
kind?: string;
/** The ID of the leaderboard this score is in. */
leaderboard_id?: string;
/** The public rank of the score in this leaderboard. This object will not be present if the user is not sharing their scores publicly. */
publicRank?: LeaderboardScoreRank;
/** The formatted value of this score. */
scoreString?: string;
/** Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986. */
scoreTag?: string;
/** The numerical value of this score. */
scoreValue?: string;
/** The social rank of the score in this leaderboard. */
socialRank?: LeaderboardScoreRank;
/**
* The time span of this score.
* Possible values are:
* - "ALL_TIME" - The score is an all-time score.
* - "WEEKLY" - The score is a weekly score.
* - "DAILY" - The score is a daily score.
*/
timeSpan?: string;
/** The timestamp at which this score was recorded, in milliseconds since the epoch in UTC. */
writeTimestamp?: string;
}
interface PlayerLeaderboardScoreListResponse {
/** The leaderboard scores. */
items?: PlayerLeaderboardScore[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerLeaderboardScoreListResponse. */
kind?: string;
/** The pagination token for the next page of results. */
nextPageToken?: string;
/** The Player resources for the owner of this score. */
player?: Player;
}
interface PlayerLevel {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerLevel. */
kind?: string;
/** The level for the user. */
level?: number;
/** The maximum experience points for this level. */
maxExperiencePoints?: string;
/** The minimum experience points for this level. */
minExperiencePoints?: string;
}
interface PlayerListResponse {
/** The players. */
items?: Player[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerListResponse. */
kind?: string;
/** Token corresponding to the next page of results. */
nextPageToken?: string;
}
interface PlayerScore {
/** The formatted score for this player score. */
formattedScore?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerScore. */
kind?: string;
/** The numerical value for this player score. */
score?: string;
/** Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986. */
scoreTag?: string;
/**
* The time span for this player score.
* Possible values are:
* - "ALL_TIME" - The score is an all-time score.
* - "WEEKLY" - The score is a weekly score.
* - "DAILY" - The score is a daily score.
*/
timeSpan?: string;
}
interface PlayerScoreListResponse {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreListResponse. */
kind?: string;
/** The score submissions statuses. */
submittedScores?: PlayerScoreResponse[];
}
interface PlayerScoreResponse {
/**
* The time spans where the submitted score is better than the existing score for that time span.
* Possible values are:
* - "ALL_TIME" - The score is an all-time score.
* - "WEEKLY" - The score is a weekly score.
* - "DAILY" - The score is a daily score.
*/
beatenScoreTimeSpans?: string[];
/** The formatted value of the submitted score. */
formattedScore?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreResponse. */
kind?: string;
/** The leaderboard ID that this score was submitted to. */
leaderboardId?: string;
/** Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986. */
scoreTag?: string;
/**
* The scores in time spans that have not been beaten. As an example, the submitted score may be better than the player's DAILY score, but not better than
* the player's scores for the WEEKLY or ALL_TIME time spans.
*/
unbeatenScores?: PlayerScore[];
}
interface PlayerScoreSubmissionList {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#playerScoreSubmissionList. */
kind?: string;
/** The score submissions. */
scores?: ScoreSubmission[];
}
interface ProfileSettings {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. */
kind?: string;
/** The player's current profile visibility. This field is visible to both 1P and 3P APIs. */
profileVisible?: boolean;
}
interface PushToken {
/**
* The revision of the client SDK used by your application, in the same format that's used by revisions.check. Used to send backward compatible messages.
* Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:
* - IOS - Push token is for iOS
*/
clientRevision?: string;
/** Unique identifier for this push token. */
id?: PushTokenId;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#pushToken. */
kind?: string;
/** The preferred language for notifications that are sent using this token. */
language?: string;
}
interface PushTokenId {
/** A push token ID for iOS devices. */
ios?: {
/** Device token supplied by an iOS system call to register for remote notifications. Encode this field as web-safe base64. */
apns_device_token?: string;
/** Indicates whether this token should be used for the production or sandbox APNS server. */
apns_environment?: string;
};
/** Uniquely identifies the type of this resource. Value is always the fixed string games#pushTokenId. */
kind?: string;
}
interface Quest {
/** The timestamp at which the user accepted the quest in milliseconds since the epoch in UTC. Only present if the player has accepted the quest. */
acceptedTimestampMillis?: string;
/** The ID of the application this quest is part of. */
applicationId?: string;
/** The banner image URL for the quest. */
bannerUrl?: string;
/** The description of the quest. */
description?: string;
/** The timestamp at which the quest ceases to be active in milliseconds since the epoch in UTC. */
endTimestampMillis?: string;
/** The icon image URL for the quest. */
iconUrl?: string;
/** The ID of the quest. */
id?: string;
/** Indicates whether the banner image being returned is a default image, or is game-provided. */
isDefaultBannerUrl?: boolean;
/** Indicates whether the icon image being returned is a default image, or is game-provided. */
isDefaultIconUrl?: boolean;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#quest. */
kind?: string;
/**
* The timestamp at which the quest was last updated by the user in milliseconds since the epoch in UTC. Only present if the player has accepted the
* quest.
*/
lastUpdatedTimestampMillis?: string;
/** The quest milestones. */
milestones?: QuestMilestone[];
/** The name of the quest. */
name?: string;
/** The timestamp at which the user should be notified that the quest will end soon in milliseconds since the epoch in UTC. */
notifyTimestampMillis?: string;
/** The timestamp at which the quest becomes active in milliseconds since the epoch in UTC. */
startTimestampMillis?: string;
/**
* The state of the quest.
* Possible values are:
* - "UPCOMING": The quest is upcoming. The user can see the quest, but cannot accept it until it is open.
* - "OPEN": The quest is currently open and may be accepted at this time.
* - "ACCEPTED": The user is currently participating in this quest.
* - "COMPLETED": The user has completed the quest.
* - "FAILED": The quest was attempted but was not completed before the deadline expired.
* - "EXPIRED": The quest has expired and was not accepted.
* - "DELETED": The quest should be deleted from the local database.
*/
state?: string;
}
interface QuestContribution {
/**
* The formatted value of the contribution as a string. Format depends on the configuration for the associated event definition in the Play Games
* Developer Console.
*/
formattedValue?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#questContribution. */
kind?: string;
/** The value of the contribution. */
value?: string;
}
interface QuestCriterion {
/** The total number of times the associated event must be incremented for the player to complete this quest. */
completionContribution?: QuestContribution;
/**
* The number of increments the player has made toward the completion count event increments required to complete the quest. This value will not exceed
* the completion contribution.
* There will be no currentContribution until the player has accepted the quest.
*/
currentContribution?: QuestContribution;
/** The ID of the event the criterion corresponds to. */
eventId?: string;
/**
* The value of the event associated with this quest at the time that the quest was accepted. This value may change if event increments that took place
* before the start of quest are uploaded after the quest starts.
* There will be no initialPlayerProgress until the player has accepted the quest.
*/
initialPlayerProgress?: QuestContribution;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#questCriterion. */
kind?: string;
}
interface QuestListResponse {
/** The quests. */
items?: Quest[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#questListResponse. */
kind?: string;
/** Token corresponding to the next page of results. */
nextPageToken?: string;
}
interface QuestMilestone {
/**
* The completion reward data of the milestone, represented as a Base64-encoded string. This is a developer-specified binary blob with size between 0 and
* 2 KB before encoding.
*/
completionRewardData?: string;
/** The criteria of the milestone. */
criteria?: QuestCriterion[];
/** The milestone ID. */
id?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#questMilestone. */
kind?: string;
/**
* The current state of the milestone.
* Possible values are:
* - "COMPLETED_NOT_CLAIMED" - The milestone is complete, but has not yet been claimed.
* - "CLAIMED" - The milestone is complete and has been claimed.
* - "NOT_COMPLETED" - The milestone has not yet been completed.
* - "NOT_STARTED" - The milestone is for a quest that has not yet been accepted.
*/
state?: string;
}
interface RevisionCheckResponse {
/** The version of the API this client revision should use when calling API methods. */
apiVersion?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#revisionCheckResponse. */
kind?: string;
/**
* The result of the revision check.
* Possible values are:
* - "OK" - The revision being used is current.
* - "DEPRECATED" - There is currently a newer version available, but the revision being used still works.
* - "INVALID" - The revision being used is not supported in any released version.
*/
revisionStatus?: string;
}
interface Room {
/** The ID of the application being played. */
applicationId?: string;
/** Criteria for auto-matching players into this room. */
autoMatchingCriteria?: RoomAutoMatchingCriteria;
/** Auto-matching status for this room. Not set if the room is not currently in the auto-matching queue. */
autoMatchingStatus?: RoomAutoMatchStatus;
/** Details about the room creation. */
creationDetails?: RoomModification;
/**
* This short description is generated by our servers and worded relative to the player requesting the room. It is intended to be displayed when the room
* is shown in a list (that is, an invitation to a room.)
*/
description?: string;
/** The ID of the participant that invited the user to the room. Not set if the user was not invited to the room. */
inviterId?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#room. */
kind?: string;
/** Details about the last update to the room. */
lastUpdateDetails?: RoomModification;
/** The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations. */
participants?: RoomParticipant[];
/** Globally unique ID for a room. */
roomId?: string;
/** The version of the room status: an increasing counter, used by the client to ignore out-of-order updates to room status. */
roomStatusVersion?: number;
/**
* The status of the room.
* Possible values are:
* - "ROOM_INVITING" - One or more players have been invited and not responded.
* - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
* - "ROOM_CONNECTING" - Players have joined and are connecting to each other (either before or after auto-matching).
* - "ROOM_ACTIVE" - All players have joined and connected to each other.
* - "ROOM_DELETED" - The room should no longer be shown on the client. Returned in sync calls when a player joins a room (as a tombstone), or for rooms
* where all joined participants have left.
*/
status?: string;
/** The variant / mode of the application being played; can be any integer value, or left blank. */
variant?: number;
}
interface RoomAutoMatchStatus {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchStatus. */
kind?: string;
/** An estimate for the amount of time (in seconds) that auto-matching is expected to take to complete. */
waitEstimateSeconds?: number;
}
interface RoomAutoMatchingCriteria {
/**
* A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive
* roles within a game.
*/
exclusiveBitmask?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomAutoMatchingCriteria. */
kind?: string;
/** The maximum number of players that should be added to the room by auto-matching. */
maxAutoMatchingPlayers?: number;
/** The minimum number of players that should be added to the room by auto-matching. */
minAutoMatchingPlayers?: number;
}
interface RoomClientAddress {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomClientAddress. */
kind?: string;
/** The XMPP address of the client on the Google Games XMPP network. */
xmppAddress?: string;
}
interface RoomCreateRequest {
/** Criteria for auto-matching players into this room. */
autoMatchingCriteria?: RoomAutoMatchingCriteria;
/** The capabilities that this client supports for realtime communication. */
capabilities?: string[];
/** Client address for the player creating the room. */
clientAddress?: RoomClientAddress;
/** The player IDs to invite to the room. */
invitedPlayerIds?: string[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomCreateRequest. */
kind?: string;
/** Network diagnostics for the client creating the room. */
networkDiagnostics?: NetworkDiagnostics;
/** A randomly generated numeric ID. This number is used at the server to ensure that the request is handled correctly across retries. */
requestId?: string;
/**
* The variant / mode of the application to be played. This can be any integer value, or left blank. You should use a small number of variants to keep the
* auto-matching pool as large as possible.
*/
variant?: number;
}
interface RoomJoinRequest {
/** The capabilities that this client supports for realtime communication. */
capabilities?: string[];
/** Client address for the player joining the room. */
clientAddress?: RoomClientAddress;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomJoinRequest. */
kind?: string;
/** Network diagnostics for the client joining the room. */
networkDiagnostics?: NetworkDiagnostics;
}
interface RoomLeaveDiagnostics {
/** Android network subtype. http://developer.android.com/reference/android/net/NetworkInfo.html#getSubtype() */
androidNetworkSubtype?: number;
/** Android network type. http://developer.android.com/reference/android/net/NetworkInfo.html#getType() */
androidNetworkType?: number;
/** iOS network type as defined in Reachability.h. */
iosNetworkType?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveDiagnostics. */
kind?: string;
/**
* The MCC+MNC code for the client's network connection. On Android:
* http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperator() On iOS, see:
* https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html
*/
networkOperatorCode?: string;
/**
* The name of the carrier of the client's network connection. On Android:
* http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName() On iOS:
* https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/occ/instp/CTCarrier/carrierName
*/
networkOperatorName?: string;
/** Diagnostics about all peer sessions. */
peerSession?: PeerSessionDiagnostics[];
/** Whether or not sockets were used. */
socketsUsed?: boolean;
}
interface RoomLeaveRequest {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomLeaveRequest. */
kind?: string;
/** Diagnostics for a player leaving the room. */
leaveDiagnostics?: RoomLeaveDiagnostics;
/**
* Reason for leaving the match.
* Possible values are:
* - "PLAYER_LEFT" - The player chose to leave the room..
* - "GAME_LEFT" - The game chose to remove the player from the room.
* - "REALTIME_ABANDONED" - The player switched to another application and abandoned the room.
* - "REALTIME_PEER_CONNECTION_FAILURE" - The client was unable to establish a connection to other peer(s).
* - "REALTIME_SERVER_CONNECTION_FAILURE" - The client was unable to communicate with the server.
* - "REALTIME_SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
* - "REALTIME_TIMEOUT" - The client timed out while waiting for a room.
* - "REALTIME_CLIENT_DISCONNECTING" - The client disconnects without first calling Leave.
* - "REALTIME_SIGN_OUT" - The user signed out of G+ while in the room.
* - "REALTIME_GAME_CRASHED" - The game crashed.
* - "REALTIME_ROOM_SERVICE_CRASHED" - RoomAndroidService crashed.
* - "REALTIME_DIFFERENT_CLIENT_ROOM_OPERATION" - Another client is trying to enter a room.
* - "REALTIME_SAME_CLIENT_ROOM_OPERATION" - The same client is trying to enter a new room.
*/
reason?: string;
}
interface RoomList {
/** The rooms. */
items?: Room[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomList. */
kind?: string;
/** The pagination token for the next page of results. */
nextPageToken?: string;
}
interface RoomModification {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomModification. */
kind?: string;
/** The timestamp at which they modified the room, in milliseconds since the epoch in UTC. */
modifiedTimestampMillis?: string;
/** The ID of the participant that modified the room. */
participantId?: string;
}
interface RoomP2PStatus {
/** The amount of time in milliseconds it took to establish connections with this peer. */
connectionSetupLatencyMillis?: number;
/**
* The error code in event of a failure.
* Possible values are:
* - "P2P_FAILED" - The client failed to establish a P2P connection with the peer.
* - "PRESENCE_FAILED" - The client failed to register to receive P2P connections.
* - "RELAY_SERVER_FAILED" - The client received an error when trying to use the relay server to establish a P2P connection with the peer.
*/
error?: string;
/** More detailed diagnostic message returned in event of a failure. */
error_reason?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatus. */
kind?: string;
/** The ID of the participant. */
participantId?: string;
/**
* The status of the peer in the room.
* Possible values are:
* - "CONNECTION_ESTABLISHED" - The client established a P2P connection with the peer.
* - "CONNECTION_FAILED" - The client failed to establish directed presence with the peer.
*/
status?: string;
/** The amount of time in milliseconds it took to send packets back and forth on the unreliable channel with this peer. */
unreliableRoundtripLatencyMillis?: number;
}
interface RoomP2PStatuses {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomP2PStatuses. */
kind?: string;
/** The updates for the peers. */
updates?: RoomP2PStatus[];
}
interface RoomParticipant {
/** True if this participant was auto-matched with the requesting player. */
autoMatched?: boolean;
/** Information about a player that has been anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.) */
autoMatchedPlayer?: AnonymousPlayer;
/** The capabilities which can be used when communicating with this participant. */
capabilities?: string[];
/** Client address for the participant. */
clientAddress?: RoomClientAddress;
/** True if this participant is in the fully connected set of peers in the room. */
connected?: boolean;
/** An identifier for the participant in the scope of the room. Cannot be used to identify a player across rooms or in other contexts. */
id?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomParticipant. */
kind?: string;
/**
* The reason the participant left the room; populated if the participant status is PARTICIPANT_LEFT.
* Possible values are:
* - "PLAYER_LEFT" - The player explicitly chose to leave the room.
* - "GAME_LEFT" - The game chose to remove the player from the room.
* - "ABANDONED" - The player switched to another application and abandoned the room.
* - "PEER_CONNECTION_FAILURE" - The client was unable to establish or maintain a connection to other peer(s) in the room.
* - "SERVER_ERROR" - The client received an error response when it tried to communicate with the server.
* - "TIMEOUT" - The client timed out while waiting for players to join and connect.
* - "PRESENCE_FAILURE" - The client's XMPP connection ended abruptly.
*/
leaveReason?: string;
/**
* Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or
* autoMatchedPlayer will be set.)
*/
player?: Player;
/**
* The status of the participant with respect to the room.
* Possible values are:
* - "PARTICIPANT_INVITED" - The participant has been invited to join the room, but has not yet responded.
* - "PARTICIPANT_JOINED" - The participant has joined the room (either after creating it or accepting an invitation.)
* - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the room.
* - "PARTICIPANT_LEFT" - The participant joined the room and then left it.
*/
status?: string;
}
interface RoomStatus {
/** Auto-matching status for this room. Not set if the room is not currently in the automatching queue. */
autoMatchingStatus?: RoomAutoMatchStatus;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#roomStatus. */
kind?: string;
/** The participants involved in the room, along with their statuses. Includes participants who have left or declined invitations. */
participants?: RoomParticipant[];
/** Globally unique ID for a room. */
roomId?: string;
/**
* The status of the room.
* Possible values are:
* - "ROOM_INVITING" - One or more players have been invited and not responded.
* - "ROOM_AUTO_MATCHING" - One or more slots need to be filled by auto-matching.
* - "ROOM_CONNECTING" - Players have joined are connecting to each other (either before or after auto-matching).
* - "ROOM_ACTIVE" - All players have joined and connected to each other.
* - "ROOM_DELETED" - All joined players have left.
*/
status?: string;
/** The version of the status for the room: an increasing counter, used by the client to ignore out-of-order updates to room status. */
statusVersion?: number;
}
interface ScoreSubmission {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#scoreSubmission. */
kind?: string;
/** The leaderboard this score is being submitted to. */
leaderboardId?: string;
/** The new score being submitted. */
score?: string;
/** Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986. */
scoreTag?: string;
/** Signature Values will contain URI-safe characters as defined by section 2.3 of RFC 3986. */
signature?: string;
}
interface Snapshot {
/** The cover image of this snapshot. May be absent if there is no image. */
coverImage?: SnapshotImage;
/** The description of this snapshot. */
description?: string;
/**
* The ID of the file underlying this snapshot in the Drive API. Only present if the snapshot is a view on a Drive file and the file is owned by the
* caller.
*/
driveId?: string;
/** The duration associated with this snapshot, in millis. */
durationMillis?: string;
/** The ID of the snapshot. */
id?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#snapshot. */
kind?: string;
/** The timestamp (in millis since Unix epoch) of the last modification to this snapshot. */
lastModifiedMillis?: string;
/** The progress value (64-bit integer set by developer) associated with this snapshot. */
progressValue?: string;
/** The title of this snapshot. */
title?: string;
/**
* The type of this snapshot.
* Possible values are:
* - "SAVE_GAME" - A snapshot representing a save game.
*/
type?: string;
/** The unique name provided when the snapshot was created. */
uniqueName?: string;
}
interface SnapshotImage {
/** The height of the image. */
height?: number;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#snapshotImage. */
kind?: string;
/** The MIME type of the image. */
mime_type?: string;
/** The URL of the image. This URL may be invalidated at any time and should not be cached. */
url?: string;
/** The width of the image. */
width?: number;
}
interface SnapshotListResponse {
/** The snapshots. */
items?: Snapshot[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#snapshotListResponse. */
kind?: string;
/** Token corresponding to the next page of results. If there are no more results, the token is omitted. */
nextPageToken?: string;
}
interface TurnBasedAutoMatchingCriteria {
/**
* A bitmask indicating when auto-matches are valid. When ANDed with other exclusive bitmasks, the result must be zero. Can be used to support exclusive
* roles within a game.
*/
exclusiveBitmask?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria. */
kind?: string;
/** The maximum number of players that should be added to the match by auto-matching. */
maxAutoMatchingPlayers?: number;
/** The minimum number of players that should be added to the match by auto-matching. */
minAutoMatchingPlayers?: number;
}
interface TurnBasedMatch {
/** The ID of the application being played. */
applicationId?: string;
/** Criteria for auto-matching players into this match. */
autoMatchingCriteria?: TurnBasedAutoMatchingCriteria;
/** Details about the match creation. */
creationDetails?: TurnBasedMatchModification;
/** The data / game state for this match. */
data?: TurnBasedMatchData;
/**
* This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is
* intended to be displayed when the match is shown in a list.
*/
description?: string;
/** The ID of the participant that invited the user to the match. Not set if the user was not invited to the match. */
inviterId?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch. */
kind?: string;
/** Details about the last update to the match. */
lastUpdateDetails?: TurnBasedMatchModification;
/** Globally unique ID for a turn-based match. */
matchId?: string;
/** The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch. */
matchNumber?: number;
/** The version of this match: an increasing counter, used to avoid out-of-date updates to the match. */
matchVersion?: number;
/** The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations. */
participants?: TurnBasedMatchParticipant[];
/** The ID of the participant that is taking a turn. */
pendingParticipantId?: string;
/** The data / game state for the previous match; set for the first turn of rematches only. */
previousMatchData?: TurnBasedMatchData;
/** The ID of a rematch of this match. Only set for completed matches that have been rematched. */
rematchId?: string;
/** The results reported for this match. */
results?: ParticipantResult[];
/**
* The status of the match.
* Possible values are:
* - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
* - "MATCH_ACTIVE" - The match has started.
* - "MATCH_COMPLETE" - The match has finished.
* - "MATCH_CANCELED" - The match was canceled.
* - "MATCH_EXPIRED" - The match expired due to inactivity.
* - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
*/
status?: string;
/**
* The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for
* the match.
* Possible values are:
* - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
* - "USER_AWAITING_TURN" - The user is waiting for their turn.
* - "USER_TURN" - The user has an action to take in the match.
* - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
*/
userMatchStatus?: string;
/** The variant / mode of the application being played; can be any integer value, or left blank. */
variant?: number;
/** The ID of another participant in the match that can be used when describing the participants the user is playing with. */
withParticipantId?: string;
}
interface TurnBasedMatchCreateRequest {
/** Criteria for auto-matching players into this match. */
autoMatchingCriteria?: TurnBasedAutoMatchingCriteria;
/** The player ids to invite to the match. */
invitedPlayerIds?: string[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchCreateRequest. */
kind?: string;
/** A randomly generated numeric ID. This number is used at the server to ensure that the request is handled correctly across retries. */
requestId?: string;
/**
* The variant / mode of the application to be played. This can be any integer value, or left blank. You should use a small number of variants to keep the
* auto-matching pool as large as possible.
*/
variant?: number;
}
interface TurnBasedMatchData {
/** The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option. */
data?: string;
/** True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data. */
dataAvailable?: boolean;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData. */
kind?: string;
}
interface TurnBasedMatchDataRequest {
/** The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option. */
data?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchDataRequest. */
kind?: string;
}
interface TurnBasedMatchList {
/** The matches. */
items?: TurnBasedMatch[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchList. */
kind?: string;
/** The pagination token for the next page of results. */
nextPageToken?: string;
}
interface TurnBasedMatchModification {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification. */
kind?: string;
/** The timestamp at which they modified the match, in milliseconds since the epoch in UTC. */
modifiedTimestampMillis?: string;
/** The ID of the participant that modified the match. */
participantId?: string;
}
interface TurnBasedMatchParticipant {
/** True if this participant was auto-matched with the requesting player. */
autoMatched?: boolean;
/** Information about a player that has been anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.) */
autoMatchedPlayer?: AnonymousPlayer;
/** An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. */
id?: string;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant. */
kind?: string;
/**
* Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or
* autoMatchedPlayer will be set.)
*/
player?: Player;
/**
* The status of the participant with respect to the match.
* Possible values are:
* - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent
* when it becomes their turn.
* - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
* - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
* - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
* - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
* - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
* - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
*/
status?: string;
}
interface TurnBasedMatchRematch {
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchRematch. */
kind?: string;
/** The old match that the rematch was created from; will be updated such that the rematchId field will point at the new match. */
previousMatch?: TurnBasedMatch;
/** The newly created match; a rematch of the old match with the same participants. */
rematch?: TurnBasedMatch;
}
interface TurnBasedMatchResults {
/** The final match data. */
data?: TurnBasedMatchDataRequest;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchResults. */
kind?: string;
/** The version of the match being updated. */
matchVersion?: number;
/** The match results for the participants in the match. */
results?: ParticipantResult[];
}
interface TurnBasedMatchSync {
/** The matches. */
items?: TurnBasedMatch[];
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchSync. */
kind?: string;
/** True if there were more matches available to fetch at the time the response was generated (which were not returned due to page size limits.) */
moreAvailable?: boolean;
/** The pagination token for the next page of results. */
nextPageToken?: string;
}
interface TurnBasedMatchTurn {
/** The shared game state data after the turn is over. */
data?: TurnBasedMatchDataRequest;
/** Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchTurn. */
kind?: string;
/** The version of this match: an increasing counter, used to avoid out-of-date updates to the match. */
matchVersion?: number;
/**
* The ID of the participant who should take their turn next. May be set to the current player's participant ID to update match state without changing the
* turn. If not set, the match will wait for other player(s) to join via automatching; this is only valid if automatch criteria is set on the match with
* remaining slots for automatched players.
*/
pendingParticipantId?: string;
/** The match results for the participants in the match. */
results?: ParticipantResult[];
}
interface AchievementDefinitionsResource {
/** Lists all the achievement definitions for your application. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources
* returned may be less than the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<AchievementDefinitionsListResponse>;
}
interface AchievementsResource {
/** Increments the steps of the achievement with the given ID for the currently authenticated player. */
increment(request: {
/** The ID of the achievement used by this method. */
achievementId: string;
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/**
* A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the request is handled
* correctly across retries.
*/
requestId?: string;
/** The number of steps to increment. */
stepsToIncrement: number;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<AchievementIncrementResponse>;
/** Lists the progress for all your application's achievements for the currently authenticated player. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources
* returned may be less than the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** A player ID. A value of me may be used in place of the authenticated player's ID. */
playerId: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** Tells the server to return only achievements with the specified state. If this parameter isn't specified, all achievements are returned. */
state?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<PlayerAchievementListResponse>;
/** Sets the state of the achievement with the given ID to REVEALED for the currently authenticated player. */
reveal(request: {
/** The ID of the achievement used by this method. */
achievementId: string;
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<AchievementRevealResponse>;
/**
* Sets the steps for the currently authenticated player towards unlocking an achievement. If the steps parameter is less than the current number of steps
* that the player already gained for the achievement, the achievement is not modified.
*/
setStepsAtLeast(request: {
/** The ID of the achievement used by this method. */
achievementId: string;
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The minimum value to set the steps to. */
steps: number;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<AchievementSetStepsAtLeastResponse>;
/** Unlocks this achievement for the currently authenticated player. */
unlock(request: {
/** The ID of the achievement used by this method. */
achievementId: string;
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<AchievementUnlockResponse>;
/** Updates multiple achievements for the currently authenticated player. */
updateMultiple(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<AchievementUpdateMultipleResponse>;
}
interface ApplicationsResource {
/**
* Retrieves the metadata of the application with the given ID. If the requested application is not available for the specified platformType, the returned
* response will not include any instance data.
*/
get(request: {
/** Data format for the response. */
alt?: string;
/** The application ID from the Google Play developer console. */
applicationId: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Restrict application details returned to the specific platform. */
platformType?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Application>;
/** Indicate that the the currently authenticated user is playing your application. */
played(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<void>;
/** Verifies the auth token provided with this request is for the application with the specified ID, and returns the ID of the player it was granted for. */
verify(request: {
/** Data format for the response. */
alt?: string;
/** The application ID from the Google Play developer console. */
applicationId: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<ApplicationVerifyResponse>;
}
interface EventsResource {
/** Returns a list showing the current progress on events in this application for the currently authenticated user. */
listByPlayer(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of events to return in the response, used for paging. For any response, the actual number of events to return may be less than the
* specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<PlayerEventListResponse>;
/** Returns a list of the event definitions in this application. */
listDefinitions(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of event definitions to return in the response, used for paging. For any response, the actual number of event definitions to return
* may be less than the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<EventDefinitionListResponse>;
/** Records a batch of changes to the number of times events have occurred for the currently authenticated user of this application. */
record(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<EventUpdateResponse>;
}
interface LeaderboardsResource {
/** Retrieves the metadata of the leaderboard with the given ID. */
get(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the leaderboard. */
leaderboardId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Leaderboard>;
/** Lists all the leaderboard metadata for your application. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of leaderboards to return in the response. For any response, the actual number of leaderboards returned may be less than the
* specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<LeaderboardListResponse>;
}
interface MetagameResource {
/** Return the metagame configuration data for the calling application. */
getMetagameConfig(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<MetagameConfig>;
/** List play data aggregated per category for the player corresponding to playerId. */
listCategoriesByPlayer(request: {
/** Data format for the response. */
alt?: string;
/** The collection of categories for which data will be returned. */
collection: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of category resources to return in the response, used for paging. For any response, the actual number of category resources returned
* may be less than the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** A player ID. A value of me may be used in place of the authenticated player's ID. */
playerId: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<CategoryListResponse>;
}
interface PlayersResource {
/** Retrieves the Player resource with the given ID. To retrieve the player for the currently authenticated user, set playerId to me. */
get(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** A player ID. A value of me may be used in place of the authenticated player's ID. */
playerId: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Player>;
/** Get the collection of players for the currently authenticated user. */
list(request: {
/** Data format for the response. */
alt?: string;
/** Collection of players being retrieved */
collection: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may
* be less than the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<PlayerListResponse>;
}
interface PushtokensResource {
/** Removes a push token for the current user and application. Removing a non-existent push token will report success. */
remove(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<void>;
/** Registers a push token for the current user and application. */
update(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<void>;
}
interface QuestMilestonesResource {
/**
* Report that a reward for the milestone corresponding to milestoneId for the quest corresponding to questId has been claimed by the currently authorized
* user.
*/
claim(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The ID of the milestone. */
milestoneId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/** The ID of the quest. */
questId: string;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** A numeric ID to ensure that the request is handled correctly across retries. Your client application must generate this ID randomly. */
requestId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<void>;
}
interface QuestsResource {
/** Indicates that the currently authorized user will participate in the quest. */
accept(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/** The ID of the quest. */
questId: string;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Quest>;
/** Get a list of quests for your application and the currently authenticated player. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of quest resources to return in the response, used for paging. For any response, the actual number of quest resources returned may
* be less than the specified maxResults. Acceptable values are 1 to 50, inclusive. (Default: 50).
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** A player ID. A value of me may be used in place of the authenticated player's ID. */
playerId: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<QuestListResponse>;
}
interface RevisionsResource {
/** Checks whether the games client is out of date. */
check(request: {
/** Data format for the response. */
alt?: string;
/**
* The revision of the client SDK used by your application. Format:
* [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:
*
* - "ANDROID" - Client is running the Android SDK.
* - "IOS" - Client is running the iOS SDK.
* - "WEB_APP" - Client is running as a Web App.
*/
clientRevision: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<RevisionCheckResponse>;
}
interface RoomsResource {
/** Create a room. For internal use by the Games SDK only. Calling this method directly is unsupported. */
create(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Room>;
/** Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported. */
decline(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The ID of the room. */
roomId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Room>;
/** Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method directly is unsupported. */
dismiss(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The ID of the room. */
roomId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<void>;
/** Get the data for a room. */
get(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The ID of the room. */
roomId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Room>;
/** Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported. */
join(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The ID of the room. */
roomId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Room>;
/** Leave a room. For internal use by the Games SDK only. Calling this method directly is unsupported. */
leave(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The ID of the room. */
roomId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Room>;
/** Returns invitations to join rooms. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of rooms to return in the response, used for paging. For any response, the actual number of rooms to return may be less than the
* specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<RoomList>;
/** Updates sent by a client reporting the status of peers in a room. For internal use by the Games SDK only. Calling this method directly is unsupported. */
reportStatus(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The ID of the room. */
roomId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<RoomStatus>;
}
interface ScoresResource {
/**
* Get high scores, and optionally ranks, in leaderboards for the currently authenticated player. For a specific time span, leaderboardId can be set to
* ALL to retrieve data for all leaderboards in a given time span.
* NOTE: You cannot ask for 'ALL' leaderboards and 'ALL' timeSpans in the same request; only one parameter may be set to 'ALL'.
*/
get(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** The types of ranks to return. If the parameter is omitted, no ranks will be returned. */
includeRankType?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the leaderboard. Can be set to 'ALL' to retrieve data for all leaderboards for this application. */
leaderboardId: string;
/**
* The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than
* the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** A player ID. A value of me may be used in place of the authenticated player's ID. */
playerId: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The time span for the scores and ranks you're requesting. */
timeSpan: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<PlayerLeaderboardScoreListResponse>;
/** Lists the scores in a leaderboard, starting from the top. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The collection of scores you're requesting. */
collection: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the leaderboard. */
leaderboardId: string;
/**
* The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than
* the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The time span for the scores and ranks you're requesting. */
timeSpan: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<LeaderboardScores>;
/** Lists the scores in a leaderboard around (and including) a player's score. */
listWindow(request: {
/** Data format for the response. */
alt?: string;
/** The collection of scores you're requesting. */
collection: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the leaderboard. */
leaderboardId: string;
/**
* The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than
* the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/**
* The preferred number of scores to return above the player's score. More scores may be returned if the player is at the bottom of the leaderboard; fewer
* may be returned if the player is at the top. Must be less than or equal to maxResults.
*/
resultsAbove?: number;
/** True if the top scores should be returned when the player is not in the leaderboard. Defaults to true. */
returnTopIfAbsent?: boolean;
/** The time span for the scores and ranks you're requesting. */
timeSpan: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<LeaderboardScores>;
/** Submits a score to the specified leaderboard. */
submit(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the leaderboard. */
leaderboardId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/**
* The score you're submitting. The submitted score is ignored if it is worse than a previously submitted score, where worse depends on the leaderboard
* sort order. The meaning of the score value depends on the leaderboard format type. For fixed-point, the score represents the raw value. For time, the
* score represents elapsed time in milliseconds. For currency, the score represents a value in micro units.
*/
score: string;
/**
* Additional information about the score you're submitting. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC
* 3986.
*/
scoreTag?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<PlayerScoreResponse>;
/** Submits multiple scores to leaderboards. */
submitMultiple(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<PlayerScoreListResponse>;
}
interface SnapshotsResource {
/** Retrieves the metadata for a given snapshot ID. */
get(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** The ID of the snapshot. */
snapshotId: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<Snapshot>;
/** Retrieves a list of snapshots created by your application for the player corresponding to the player ID. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/**
* The maximum number of snapshot resources to return in the response, used for paging. For any response, the actual number of snapshot resources returned
* may be less than the specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** A player ID. A value of me may be used in place of the authenticated player's ID. */
playerId: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<SnapshotListResponse>;
}
interface TurnBasedMatchesResource {
/** Cancel a turn-based match. */
cancel(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<void>;
/** Create a turn-based match. */
create(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
/** Decline an invitation to play a turn-based match. */
decline(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
/** Dismiss a turn-based match from the match list. The match will no longer show up in the list and will not generate notifications. */
dismiss(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<void>;
/**
* Finish a turn-based match. Each player should make this call once, after all results are in. Only the player whose turn it is may make the first call
* to Finish, and can pass in the final match state.
*/
finish(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
/** Get the data for a turn-based match. */
get(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** Get match data along with metadata. */
includeMatchData?: boolean;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
/** Join a turn-based match. */
join(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
/** Leave a turn-based match when it is not the current player's turn, without canceling the match. */
leave(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
/** Leave a turn-based match during the current player's turn, without canceling the match. */
leaveTurn(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** The version of the match being updated. */
matchVersion: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/**
* The ID of another participant who should take their turn next. If not set, the match will wait for other player(s) to join via automatching; this is
* only valid if automatch criteria is set on the match with remaining slots for automatched players.
*/
pendingParticipantId?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
/** Returns turn-based matches the player is or was involved in. */
list(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/**
* True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server
* may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be
* retrievable on request.
*/
includeMatchData?: boolean;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled. */
maxCompletedMatches?: number;
/**
* The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the
* specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatchList>;
/**
* Create a rematch of a match that was previously completed, with the same participants. This can be called by only one player on a match still in their
* list; the player must have called Finish first. Returns the newly created match; it will be the caller's turn.
*/
rematch(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/**
* A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the request is handled
* correctly across retries.
*/
requestId?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatchRematch>;
/**
* Returns turn-based matches the player is or was involved in that changed since the last sync call, with the least recent changes coming first. Matches
* that should be removed from the local cache will have a status of MATCH_DELETED.
*/
sync(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/**
* True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server
* may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be
* retrievable on request.
*/
includeMatchData?: boolean;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled. */
maxCompletedMatches?: number;
/**
* The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the
* specified maxResults.
*/
maxResults?: number;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** The token returned by the previous request. */
pageToken?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatchSync>;
/** Commit the results of a player turn. */
takeTurn(request: {
/** Data format for the response. */
alt?: string;
/** The last-seen mutation timestamp. */
consistencyToken?: string;
/** Selector specifying which fields to include in a partial response. */
fields?: string;
/** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
key?: string;
/** The preferred language to use for strings returned by this method. */
language?: string;
/** The ID of the match. */
matchId: string;
/** OAuth 2.0 token for the current user. */
oauth_token?: string;
/** Returns response with indentations and line breaks. */
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
* Overrides userIp if both are provided.
*/
quotaUser?: string;
/** IP address of the site where the request originates. Use this if you want to enforce per-user limits. */
userIp?: string;
}): Request<TurnBasedMatch>;
}
}
}