<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="gamesConfiguration_v1configuration.html">Google Play Game Services Publishing API</a> . <a href="gamesConfiguration_v1configuration.leaderboardConfigurations.html">leaderboardConfigurations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#delete">delete(leaderboardId)</a></code></p>
<p class="firstline">Delete the leaderboard configuration with the given ID.</p>
<p class="toc_element">
  <code><a href="#get">get(leaderboardId)</a></code></p>
<p class="firstline">Retrieves the metadata of the leaderboard configuration with the given ID.</p>
<p class="toc_element">
  <code><a href="#insert">insert(applicationId, body)</a></code></p>
<p class="firstline">Insert a new leaderboard configuration in this application.</p>
<p class="toc_element">
  <code><a href="#list">list(applicationId, pageToken=None, maxResults=None)</a></code></p>
<p class="firstline">Returns a list of the leaderboard configurations in this application.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#patch">patch(leaderboardId, body)</a></code></p>
<p class="firstline">Update the metadata of the leaderboard configuration with the given ID. This method supports patch semantics.</p>
<p class="toc_element">
  <code><a href="#update">update(leaderboardId, body)</a></code></p>
<p class="firstline">Update the metadata of the leaderboard configuration with the given ID.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="delete">delete(leaderboardId)</code>
  <pre>Delete the leaderboard configuration with the given ID.

Args:
  leaderboardId: string, The ID of the leaderboard. (required)
</pre>
</div>

<div class="method">
    <code class="details" id="get">get(leaderboardId)</code>
  <pre>Retrieves the metadata of the leaderboard configuration with the given ID.

Args:
  leaderboardId: string, The ID of the leaderboard. (required)

Returns:
  An object of the form:

    { # This is a JSON template for an leaderboard configuration resource.
      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
      "scoreOrder": "A String", # The type of the leaderboard.
          # Possible values are:
          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
      "token": "A String", # The token for this resource.
      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "id": "A String", # The ID of the leaderboard.
    }</pre>
</div>

<div class="method">
    <code class="details" id="insert">insert(applicationId, body)</code>
  <pre>Insert a new leaderboard configuration in this application.

Args:
  applicationId: string, The application ID from the Google Play developer console. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # This is a JSON template for an leaderboard configuration resource.
    "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
    "scoreOrder": "A String", # The type of the leaderboard.
        # Possible values are:
        # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
        # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
    "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
    "token": "A String", # The token for this resource.
    "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
    "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
        "numberFormatType": "A String", # The formatting for the number.
            # Possible values are:
            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
            # - "CURRENCY" - Numbers are formatted to currency according to locale.
        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
        },
      },
      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
        "translations": [ # The locale strings.
          { # This is a JSON template for a localized string resource.
            "locale": "A String", # The locale string.
            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
            "value": "A String", # The string value.
          },
        ],
      },
      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
    },
    "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
        "numberFormatType": "A String", # The formatting for the number.
            # Possible values are:
            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
            # - "CURRENCY" - Numbers are formatted to currency according to locale.
        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
        },
      },
      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
        "translations": [ # The locale strings.
          { # This is a JSON template for a localized string resource.
            "locale": "A String", # The locale string.
            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
            "value": "A String", # The string value.
          },
        ],
      },
      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
    },
    "id": "A String", # The ID of the leaderboard.
  }


Returns:
  An object of the form:

    { # This is a JSON template for an leaderboard configuration resource.
      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
      "scoreOrder": "A String", # The type of the leaderboard.
          # Possible values are:
          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
      "token": "A String", # The token for this resource.
      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "id": "A String", # The ID of the leaderboard.
    }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(applicationId, pageToken=None, maxResults=None)</code>
  <pre>Returns a list of the leaderboard configurations in this application.

Args:
  applicationId: string, The application ID from the Google Play developer console. (required)
  pageToken: string, The token returned by the previous request.
  maxResults: integer, The maximum number of resource configurations to return in the response, used for paging. For any response, the actual number of resources returned may be less than the specified maxResults.

Returns:
  An object of the form:

    { # This is a JSON template for a ListConfigurations response.
    "nextPageToken": "A String", # The pagination token for the next page of results.
    "items": [ # The leaderboard configurations.
      { # This is a JSON template for an leaderboard configuration resource.
          "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
          "scoreOrder": "A String", # The type of the leaderboard.
              # Possible values are:
              # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
              # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
          "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
          "token": "A String", # The token for this resource.
          "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
          "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
            "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
              "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
              "numberFormatType": "A String", # The formatting for the number.
                  # Possible values are:
                  # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
                  # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
                  # - "CURRENCY" - Numbers are formatted to currency according to locale.
              "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
              "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
                "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
              },
            },
            "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
            "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
            "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
          },
          "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
            "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
              "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
              "numberFormatType": "A String", # The formatting for the number.
                  # Possible values are:
                  # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
                  # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
                  # - "CURRENCY" - Numbers are formatted to currency according to locale.
              "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
              "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
                "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
                "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
                  "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
                  "translations": [ # The locale strings.
                    { # This is a JSON template for a localized string resource.
                      "locale": "A String", # The locale string.
                      "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                      "value": "A String", # The string value.
                    },
                  ],
                },
              },
            },
            "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
            "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
            "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
          },
          "id": "A String", # The ID of the leaderboard.
        },
    ],
    "kind": "gamesConfiguration#leaderboardConfigurationListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#leaderboardConfigurationListResponse.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(leaderboardId, body)</code>
  <pre>Update the metadata of the leaderboard configuration with the given ID. This method supports patch semantics.

Args:
  leaderboardId: string, The ID of the leaderboard. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # This is a JSON template for an leaderboard configuration resource.
    "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
    "scoreOrder": "A String", # The type of the leaderboard.
        # Possible values are:
        # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
        # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
    "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
    "token": "A String", # The token for this resource.
    "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
    "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
        "numberFormatType": "A String", # The formatting for the number.
            # Possible values are:
            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
            # - "CURRENCY" - Numbers are formatted to currency according to locale.
        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
        },
      },
      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
        "translations": [ # The locale strings.
          { # This is a JSON template for a localized string resource.
            "locale": "A String", # The locale string.
            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
            "value": "A String", # The string value.
          },
        ],
      },
      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
    },
    "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
        "numberFormatType": "A String", # The formatting for the number.
            # Possible values are:
            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
            # - "CURRENCY" - Numbers are formatted to currency according to locale.
        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
        },
      },
      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
        "translations": [ # The locale strings.
          { # This is a JSON template for a localized string resource.
            "locale": "A String", # The locale string.
            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
            "value": "A String", # The string value.
          },
        ],
      },
      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
    },
    "id": "A String", # The ID of the leaderboard.
  }


Returns:
  An object of the form:

    { # This is a JSON template for an leaderboard configuration resource.
      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
      "scoreOrder": "A String", # The type of the leaderboard.
          # Possible values are:
          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
      "token": "A String", # The token for this resource.
      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "id": "A String", # The ID of the leaderboard.
    }</pre>
</div>

<div class="method">
    <code class="details" id="update">update(leaderboardId, body)</code>
  <pre>Update the metadata of the leaderboard configuration with the given ID.

Args:
  leaderboardId: string, The ID of the leaderboard. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # This is a JSON template for an leaderboard configuration resource.
    "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
    "scoreOrder": "A String", # The type of the leaderboard.
        # Possible values are:
        # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
        # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
    "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
    "token": "A String", # The token for this resource.
    "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
    "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
        "numberFormatType": "A String", # The formatting for the number.
            # Possible values are:
            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
            # - "CURRENCY" - Numbers are formatted to currency according to locale.
        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
        },
      },
      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
        "translations": [ # The locale strings.
          { # This is a JSON template for a localized string resource.
            "locale": "A String", # The locale string.
            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
            "value": "A String", # The string value.
          },
        ],
      },
      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
    },
    "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
      "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
        "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
        "numberFormatType": "A String", # The formatting for the number.
            # Possible values are:
            # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
            # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
            # - "CURRENCY" - Numbers are formatted to currency according to locale.
        "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
        "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
          "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
          "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
            "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
            "translations": [ # The locale strings.
              { # This is a JSON template for a localized string resource.
                "locale": "A String", # The locale string.
                "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                "value": "A String", # The string value.
              },
            ],
          },
        },
      },
      "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
      "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
      "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
        "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
        "translations": [ # The locale strings.
          { # This is a JSON template for a localized string resource.
            "locale": "A String", # The locale string.
            "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
            "value": "A String", # The string value.
          },
        ],
      },
      "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
    },
    "id": "A String", # The ID of the leaderboard.
  }


Returns:
  An object of the form:

    { # This is a JSON template for an leaderboard configuration resource.
      "kind": "gamesConfiguration#leaderboardConfiguration", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfiguration.
      "scoreOrder": "A String", # The type of the leaderboard.
          # Possible values are:
          # - "LARGER_IS_BETTER" - Larger scores posted are ranked higher.
          # - "SMALLER_IS_BETTER" - Smaller scores posted are ranked higher.
      "scoreMin": "A String", # Minimum score that can be posted to this leaderboard.
      "token": "A String", # The token for this resource.
      "scoreMax": "A String", # Maximum score that can be posted to this leaderboard.
      "published": { # This is a JSON template for a leaderboard configuration detail. # The read-only published data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "draft": { # This is a JSON template for a leaderboard configuration detail. # The draft data of the leaderboard.
        "scoreFormat": { # This is a JSON template for a number format resource. # The score formatting for the leaderboard.
          "currencyCode": "A String", # The curreny code string. Only used for CURRENCY format type.
          "numberFormatType": "A String", # The formatting for the number.
              # Possible values are:
              # - "NUMERIC" - Numbers are formatted to have no digits or a fixed number of digits after the decimal point according to locale. An optional custom unit can be added.
              # - "TIME_DURATION" - Numbers are formatted to hours, minutes and seconds.
              # - "CURRENCY" - Numbers are formatted to currency according to locale.
          "numDecimalPlaces": 42, # The number of decimal places for number. Only used for NUMERIC format type.
          "suffix": { # This is a JSON template for a number affix resource. # An optional suffix for the NUMERIC format type. These strings follow the same  plural rules as all Android string resources.
            "many": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "large" numbers (as with numbers ending 11-99 in Maltese).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "two": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like two (as with 2 in Welsh, or 102 in Slovenian).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "one": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of numbers like one (as with the number 1 in English and most other languages; in Russian, any number ending in 1 but not ending in 11 is in this class).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "few": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of "small" numbers (as with 2, 3, and 4 in Czech; or numbers ending 2, 3, or 4 but not 12, 13, or 14 in Polish).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "zero": { # This is a JSON template for a localized string bundle resource. # When the language requires special treatment of the number 0 (as in Arabic).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
            "other": { # This is a JSON template for a localized string bundle resource. # When the language does not require special treatment of the given quantity (as with all numbers in Chinese, or 42 in English).
              "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
              "translations": [ # The locale strings.
                { # This is a JSON template for a localized string resource.
                  "locale": "A String", # The locale string.
                  "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
                  "value": "A String", # The string value.
                },
              ],
            },
          },
        },
        "iconUrl": "A String", # The icon url of this leaderboard. Writes to this field are ignored.
        "kind": "gamesConfiguration#leaderboardConfigurationDetail", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#leaderboardConfigurationDetail.
        "name": { # This is a JSON template for a localized string bundle resource. # Localized strings for the leaderboard name.
          "kind": "gamesConfiguration#localizedStringBundle", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedStringBundle.
          "translations": [ # The locale strings.
            { # This is a JSON template for a localized string resource.
              "locale": "A String", # The locale string.
              "kind": "gamesConfiguration#localizedString", # Uniquely identifies the type of this resource. Value is always the fixed string gamesConfiguration#localizedString.
              "value": "A String", # The string value.
            },
          ],
        },
        "sortRank": 42, # The sort rank of this leaderboard. Writes to this field are ignored.
      },
      "id": "A String", # The ID of the leaderboard.
    }</pre>
</div>

</body></html>