Method: appstoreappsreview.updateappstorehostedapp

Atualiza os detalhes de um app hospedado em uma app store. Use isso para fornecer detalhes de um novo app ou atualizar os detalhes de um app existente. A atualização será enviada para análise imediatamente após a criação.

Solicitação HTTP

POST https://androidpublisher.googleapis.com/androidpublisher/v3/appstore/{appStorePackageName}/apps:update

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
appStorePackageName

string

Obrigatório. Nome do pacote da app store de terceiros.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "packageName": string,
  "appDetails": {
    object (AppStoreAppDetails)
  },
  "activeLocalizedStoreListings": [
    {
      object (AppStoreAppStoreListing)
    }
  ],
  "activeApks": {
    object (AppStoreAppActiveApks)
  },
  "policyDeclarations": [
    {
      object (AppStoreAppPolicyDeclaration)
    }
  ]
}
Campos
packageName

string

Obrigatório. Nome do pacote do app.

appDetails

object (AppStoreAppDetails)

Obrigatório. Detalhes gerais do desenvolvedor para o app.

activeLocalizedStoreListings[]

object (AppStoreAppStoreListing)

Obrigatório. Detalhes da atualização das páginas de detalhes do app localizadas.

activeApks

object (AppStoreAppActiveApks)

Obrigatório. APKs do app distribuídos ativamente.

policyDeclarations[]

object (AppStoreAppPolicyDeclaration)

Obrigatório. Declarações de política fornecidas para o app.

Corpo da resposta

Se a solicitação for concluída, o corpo da resposta estará vazio.

Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/androidpublisher

AppStoreAppDetails

Detalhes sobre o app.

Representação JSON
{
  "developerName": string,
  "contactEmail": string,
  "developerWebsite": string
}
Campos
developerName

string

Obrigatório. O nome do desenvolvedor do app.

contactEmail

string

Obrigatório. O endereço de e-mail de contato do desenvolvedor do app.

developerWebsite

string

Opcional. Link do site do desenvolvedor ou app.

AppStoreAppStoreListing

Uma página de detalhes do app localizada. Esses são os detalhes do app, conforme mostrado na sua app store.

Representação JSON
{
  "languageCode": string,
  "appName": string,
  "fullDescription": string,
  "shortDescription": string,
  "appIconId": string,
  "screenshotId": [
    string
  ],
  "videoLink": string
}
Campos
languageCode

string

Obrigatório. Código do idioma (por exemplo, "en-US") da página.

appName

string

Obrigatório. O título do app.

fullDescription

string

Obrigatório. Texto de descrição abrangente sobre o app.

shortDescription

string

Opcional. Breve resumo sobre o app.

appIconId

string

Obrigatório. ID da imagem gerado por appstoreappsreview.uploadimage para o ícone principal do app.

screenshotId[]

string

Obrigatório. Vários IDs de imagem para galerias de capturas de tela.

AppStoreAppActiveApks

Informações sobre APKs ativos de um app hospedado em uma app store.

Representação JSON
{
  "activeApkSets": [
    {
      object (AppStoreAppActiveApkSet)
    }
  ]
}
Campos
activeApkSets[]

object (AppStoreAppActiveApkSet)

Obrigatório. Lista que especifica quais conjuntos de APKs são distribuídos juntos. Essa lista precisa conter todos os APKs que você está distribuindo para o app. Adicione uma entrada para cada conjunto instalável de APKs.

AppStoreAppActiveApkSet

Um conjunto instalável de APKs ativos. Todos os APKs neste conjunto precisam pertencer à mesma versão do app. Um conjunto de APKs só pode conter um APK se o app em questão for publicado usando APKs. Se o app usar pacotes de apps (ou uma tecnologia semelhante), esse conjunto vai conter todos os APKs (até mesmo os opcionais) que podem ser instalados para ele. Um conjunto de APKs precisa ser instalável em conjunto. Se determinados APKs forem exclusivos entre si e não puderem ser instalados juntos, crie um AppStoreAppActiveApkSet separado.

Representação JSON
{
  "baseApkId": string,
  "splitApkId": [
    string
  ],
  "versionCode": string,
  "alreadyPublishedOnPlay": boolean
}
Campos
baseApkId

string

Obrigatório. O ID do módulo principal do aplicativo de base. Exemplo: base.apk ou app.apk.

splitApkId[]

string

Opcional. IDs para módulos divididos que podem ser instalados em combinação com o APK de base. Pode ficar vazio se pacotes de apps (ou uma tecnologia semelhante) não forem usados. Exemplo: config.en.apk.

versionCode

string (int64 format)

Opcional. Código da versão que este conjunto de APKs representa.

alreadyPublishedOnPlay

boolean

Opcional. Se todos os APKs referenciados neste conjunto de APKs ativos estão publicados na Google Play Store (ou derivados de um pacote de app publicado na Google Play Store). Quando isso é definido, o versionCode precisa ser fornecido.

AppStoreAppPolicyDeclaration

Uma declaração de política com as respostas.

Representação JSON
{
  "declarationId": string,
  "responses": [
    {
      object (PolicyResponse)
    }
  ]
}
Campos
declarationId

string

Obrigatório. ID da declaração de política.

responses[]

object (PolicyResponse)

Obrigatório. Respostas fornecidas para esta declaração.

PolicyResponse

Uma resposta individual a uma pergunta sobre a política de um app.

Representação JSON
{
  "questionId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "stringResponse": {
    object (PolicyStringResponse)
  },
  "singleChoiceResponse": {
    object (PolicySingleChoiceResponse)
  },
  "multipleChoiceResponse": {
    object (PolicyMultipleChoiceResponse)
  },
  "groupResponse": {
    object (PolicyGroupResponse)
  },
  "keyedGroupResponse": {
    object (PolicyKeyedGroupResponse)
  },
  "booleanResponse": {
    object (PolicyBooleanResponse)
  },
  "documentResponse": {
    object (PolicyDocumentResponse)
  }
  // End of mutually exclusive fields.
}
Campos
questionId

string

Obrigatório. ID da pergunta que está sendo respondida.

Valor da resposta específico. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo, um dos campos será definido em uma resposta:
stringResponse

object (PolicyStringResponse)

Opcional. Uma resposta de string.

singleChoiceResponse

object (PolicySingleChoiceResponse)

Opcional. Uma resposta de escolha única.

multipleChoiceResponse

object (PolicyMultipleChoiceResponse)

Opcional. Uma resposta de múltipla escolha.

groupResponse

object (PolicyGroupResponse)

Opcional. Uma resposta em grupo.

keyedGroupResponse

object (PolicyKeyedGroupResponse)

Opcional. Uma resposta de grupo com chave.

booleanResponse

object (PolicyBooleanResponse)

Opcional. Uma resposta booleana.

documentResponse

object (PolicyDocumentResponse)

Opcional. Uma resposta de documento.

Fim dos campos mutuamente exclusivos.

PolicyStringResponse

Qualquer resposta melhor codificada como uma string. Inclui URLs e campos de texto de várias linhas.

Representação JSON
{
  "value": string
}
Campos
value

string

Obrigatório. Valor da string fornecida.

PolicySingleChoiceResponse

Qualquer resposta em que uma única opção é escolhida entre várias possibilidades.

Representação JSON
{
  "value": string
}
Campos
value

string

Obrigatório. Valor fornecido.

PolicyMultipleChoiceResponse

Qualquer resposta em que várias opções podem ser escolhidas entre várias possibilidades.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

Opcional. Valores fornecidos.

PolicyGroupResponse

Um grupo repetido de respostas.

Representação JSON
{
  "groups": [
    {
      object (Group)
    }
  ]
}
Campos
groups[]

object (Group)

Opcional. Grupos de respostas a perguntas.

Grupo

Um grupo de respostas.

Representação JSON
{
  "responses": [
    {
      object (NestedPolicyResponse)
    }
  ]
}
Campos
responses[]

object (NestedPolicyResponse)

Obrigatório. Respostas em um grupo.

NestedPolicyResponse

Uma resposta aninhada individual a uma pergunta sobre a política de um app. As respostas aninhadas são como as respostas regulares, mas sem grupos.

Representação JSON
{
  "questionId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "stringResponse": {
    object (PolicyStringResponse)
  },
  "singleChoiceResponse": {
    object (PolicySingleChoiceResponse)
  },
  "multipleChoiceResponse": {
    object (PolicyMultipleChoiceResponse)
  },
  "booleanResponse": {
    object (PolicyBooleanResponse)
  },
  "documentResponse": {
    object (PolicyDocumentResponse)
  }
  // End of mutually exclusive fields.
}
Campos
questionId

string

Obrigatório. ID da pergunta que está sendo respondida.

Valor da resposta específico. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo, um dos campos será definido em uma resposta:
stringResponse

object (PolicyStringResponse)

Opcional. Uma resposta de string.

singleChoiceResponse

object (PolicySingleChoiceResponse)

Opcional. Uma resposta de escolha única.

multipleChoiceResponse

object (PolicyMultipleChoiceResponse)

Opcional. Uma resposta de múltipla escolha.

booleanResponse

object (PolicyBooleanResponse)

Opcional. Uma resposta booleana.

documentResponse

object (PolicyDocumentResponse)

Opcional. Uma resposta de documento.

Fim dos campos mutuamente exclusivos.

PolicyBooleanResponse

Respostas que sempre serão um booleano.

Representação JSON
{
  "value": boolean
}
Campos
value

boolean

Obrigatório. Valor booleano fornecido.

PolicyDocumentResponse

Um documento enviado. Precisa ser um único documento lógico (por exemplo, uma licença financeira).

Representação JSON
{
  "documentId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "expiryDate": {
    object (Date)
  },
  "nonExpiring": boolean
  // End of mutually exclusive fields.
}
Campos
documentId

string

Obrigatório. ID do documento enviado.

Informações de validade do documento. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo, um dos campos será definido em uma resposta:
expiryDate

object (Date)

Opcional. Data de validade do documento.

nonExpiring

boolean

Opcional. Verdadeiro se for confirmado que o documento não tem uma data de validade.

Fim dos campos mutuamente exclusivos.

PolicyKeyedGroupResponse

Um grupo de respostas, cada uma identificada por uma chave distinta em um conjunto permitido.

Representação JSON
{
  "groups": [
    {
      object (KeyedGroup)
    }
  ]
}
Campos
groups[]

object (KeyedGroup)

Opcional. Grupos de respostas a perguntas. Cada KeyedGroup.key precisa ser única nesta lista.

KeyedGroup

Um grupo de respostas com uma chave.

Representação JSON
{
  "key": string,
  "responses": [
    {
      object (NestedPolicyResponse)
    }
  ]
}
Campos
key

string

Obrigatório. Chave para este grupo.

responses[]

object (NestedPolicyResponse)

Obrigatório. Respostas neste grupo.