Packages
Google Play Games Services API client library. The Google Play Games Service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more.
Current section
Files
Jump to
Current section
Files
lib/google_api/games/v1/api/achievements.ex
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.
defmodule GoogleApi.Games.V1.Api.Achievements do
@moduledoc """
API calls for all endpoints tagged `Achievements`.
"""
alias GoogleApi.Games.V1.Connection
alias GoogleApi.Gax.{Request, Response}
@doc """
Increments the steps of the achievement with the given ID for the currently authenticated player.
## Parameters
- connection (GoogleApi.Games.V1.Connection): Connection to server
- achievement_id (String.t): The ID of the achievement used by this method.
- steps_to_increment (integer()): The number of steps to increment.
- optional_params (KeywordList): [optional] Optional parameters
- :alt (String.t): Data format for the response.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :key (String.t): 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.
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- :userIp (String.t): Deprecated. Please use quotaUser instead.
- :requestId (String.t): 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.
## Returns
{:ok, %GoogleApi.Games.V1.Model.AchievementIncrementResponse{}} on success
{:error, info} on failure
"""
@spec games_achievements_increment(Tesla.Env.client(), String.t(), integer(), keyword()) ::
{:ok, GoogleApi.Games.V1.Model.AchievementIncrementResponse.t()}
| {:error, Tesla.Env.t()}
def games_achievements_increment(
connection,
achievement_id,
steps_to_increment,
optional_params \\ [],
opts \\ []
) do
optional_params_config = %{
:alt => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:userIp => :query,
:requestId => :query
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/achievements/{achievementId}/increment", %{
"achievementId" => URI.encode_www_form(achievement_id)
})
|> Request.add_param(:query, :stepsToIncrement, steps_to_increment)
|> Request.add_optional_params(optional_params_config, optional_params)
connection
|> Connection.execute(request)
|> Response.decode(opts ++ [struct: %GoogleApi.Games.V1.Model.AchievementIncrementResponse{}])
end
@doc """
Lists the progress for all your application's achievements for the currently authenticated player.
## Parameters
- connection (GoogleApi.Games.V1.Connection): Connection to server
- player_id (String.t): A player ID. A value of me may be used in place of the authenticated player's ID.
- optional_params (KeywordList): [optional] Optional parameters
- :alt (String.t): Data format for the response.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :key (String.t): 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.
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- :userIp (String.t): Deprecated. Please use quotaUser instead.
- :language (String.t): The preferred language to use for strings returned by this method.
- :maxResults (integer()): 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.
- :pageToken (String.t): The token returned by the previous request.
- :state (String.t): Tells the server to return only achievements with the specified state. If this parameter isn't specified, all achievements are returned.
## Returns
{:ok, %GoogleApi.Games.V1.Model.PlayerAchievementListResponse{}} on success
{:error, info} on failure
"""
@spec games_achievements_list(Tesla.Env.client(), String.t(), keyword()) ::
{:ok, GoogleApi.Games.V1.Model.PlayerAchievementListResponse.t()}
| {:error, Tesla.Env.t()}
def games_achievements_list(connection, player_id, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:alt => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:userIp => :query,
:language => :query,
:maxResults => :query,
:pageToken => :query,
:state => :query
}
request =
Request.new()
|> Request.method(:get)
|> Request.url("/players/{playerId}/achievements", %{
"playerId" => URI.encode_www_form(player_id)
})
|> Request.add_optional_params(optional_params_config, optional_params)
connection
|> Connection.execute(request)
|> Response.decode(
opts ++ [struct: %GoogleApi.Games.V1.Model.PlayerAchievementListResponse{}]
)
end
@doc """
Sets the state of the achievement with the given ID to REVEALED for the currently authenticated player.
## Parameters
- connection (GoogleApi.Games.V1.Connection): Connection to server
- achievement_id (String.t): The ID of the achievement used by this method.
- optional_params (KeywordList): [optional] Optional parameters
- :alt (String.t): Data format for the response.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :key (String.t): 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.
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- :userIp (String.t): Deprecated. Please use quotaUser instead.
## Returns
{:ok, %GoogleApi.Games.V1.Model.AchievementRevealResponse{}} on success
{:error, info} on failure
"""
@spec games_achievements_reveal(Tesla.Env.client(), String.t(), keyword()) ::
{:ok, GoogleApi.Games.V1.Model.AchievementRevealResponse.t()} | {:error, Tesla.Env.t()}
def games_achievements_reveal(connection, achievement_id, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:alt => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:userIp => :query
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/achievements/{achievementId}/reveal", %{
"achievementId" => URI.encode_www_form(achievement_id)
})
|> Request.add_optional_params(optional_params_config, optional_params)
connection
|> Connection.execute(request)
|> Response.decode(opts ++ [struct: %GoogleApi.Games.V1.Model.AchievementRevealResponse{}])
end
@doc """
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.
## Parameters
- connection (GoogleApi.Games.V1.Connection): Connection to server
- achievement_id (String.t): The ID of the achievement used by this method.
- steps (integer()): The minimum value to set the steps to.
- optional_params (KeywordList): [optional] Optional parameters
- :alt (String.t): Data format for the response.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :key (String.t): 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.
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- :userIp (String.t): Deprecated. Please use quotaUser instead.
## Returns
{:ok, %GoogleApi.Games.V1.Model.AchievementSetStepsAtLeastResponse{}} on success
{:error, info} on failure
"""
@spec games_achievements_set_steps_at_least(
Tesla.Env.client(),
String.t(),
integer(),
keyword()
) ::
{:ok, GoogleApi.Games.V1.Model.AchievementSetStepsAtLeastResponse.t()}
| {:error, Tesla.Env.t()}
def games_achievements_set_steps_at_least(
connection,
achievement_id,
steps,
optional_params \\ [],
opts \\ []
) do
optional_params_config = %{
:alt => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:userIp => :query
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/achievements/{achievementId}/setStepsAtLeast", %{
"achievementId" => URI.encode_www_form(achievement_id)
})
|> Request.add_param(:query, :steps, steps)
|> Request.add_optional_params(optional_params_config, optional_params)
connection
|> Connection.execute(request)
|> Response.decode(
opts ++ [struct: %GoogleApi.Games.V1.Model.AchievementSetStepsAtLeastResponse{}]
)
end
@doc """
Unlocks this achievement for the currently authenticated player.
## Parameters
- connection (GoogleApi.Games.V1.Connection): Connection to server
- achievement_id (String.t): The ID of the achievement used by this method.
- optional_params (KeywordList): [optional] Optional parameters
- :alt (String.t): Data format for the response.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :key (String.t): 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.
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- :userIp (String.t): Deprecated. Please use quotaUser instead.
- :builtinGameId (String.t): Override used only by built-in games in Play Games application.
## Returns
{:ok, %GoogleApi.Games.V1.Model.AchievementUnlockResponse{}} on success
{:error, info} on failure
"""
@spec games_achievements_unlock(Tesla.Env.client(), String.t(), keyword()) ::
{:ok, GoogleApi.Games.V1.Model.AchievementUnlockResponse.t()} | {:error, Tesla.Env.t()}
def games_achievements_unlock(connection, achievement_id, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:alt => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:userIp => :query,
:builtinGameId => :query
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/achievements/{achievementId}/unlock", %{
"achievementId" => URI.encode_www_form(achievement_id)
})
|> Request.add_optional_params(optional_params_config, optional_params)
connection
|> Connection.execute(request)
|> Response.decode(opts ++ [struct: %GoogleApi.Games.V1.Model.AchievementUnlockResponse{}])
end
@doc """
Updates multiple achievements for the currently authenticated player.
## Parameters
- connection (GoogleApi.Games.V1.Connection): Connection to server
- optional_params (KeywordList): [optional] Optional parameters
- :alt (String.t): Data format for the response.
- :fields (String.t): Selector specifying which fields to include in a partial response.
- :key (String.t): 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.
- :oauth_token (String.t): OAuth 2.0 token for the current user.
- :prettyPrint (boolean()): Returns response with indentations and line breaks.
- :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
- :userIp (String.t): Deprecated. Please use quotaUser instead.
- :builtinGameId (String.t): Override used only by built-in games in Play Games application.
- :body (AchievementUpdateMultipleRequest):
## Returns
{:ok, %GoogleApi.Games.V1.Model.AchievementUpdateMultipleResponse{}} on success
{:error, info} on failure
"""
@spec games_achievements_update_multiple(Tesla.Env.client(), keyword()) ::
{:ok, GoogleApi.Games.V1.Model.AchievementUpdateMultipleResponse.t()}
| {:error, Tesla.Env.t()}
def games_achievements_update_multiple(connection, optional_params \\ [], opts \\ []) do
optional_params_config = %{
:alt => :query,
:fields => :query,
:key => :query,
:oauth_token => :query,
:prettyPrint => :query,
:quotaUser => :query,
:userIp => :query,
:builtinGameId => :query,
:body => :body
}
request =
Request.new()
|> Request.method(:post)
|> Request.url("/achievements/updateMultiple")
|> Request.add_optional_params(optional_params_config, optional_params)
connection
|> Connection.execute(request)
|> Response.decode(
opts ++ [struct: %GoogleApi.Games.V1.Model.AchievementUpdateMultipleResponse{}]
)
end
end