Erro do aplicativo: esta versão do aplicativo não está configurada para Faturamento do mercado

91

Há alguns dias, é possível usar o faturamento no aplicativo em aplicativos Android. Muito legal, claro. Então, comecei a trabalhar em uma atualização para meu aplicativo para implementar isso. Mas agora encontro alguns problemas. Isso é o que eu fiz:

  • Tentei primeiro os IDs de produto reservados para testar respostas de cobrança estática no aplicativo. Isso funciona sem problemas.
  • Fiz upload de um APK de rascunho para o mercado (com assinatura de produção, sem assinatura de depuração), que incluía a permissão com.android.vending.BILLING.
  • Quando fiz isso, fui capaz de adicionar 'Produtos no aplicativo' ao meu aplicativo no mercado e definir o status como publicado.
  • Criei um usuário de teste e reiniciei meu dispositivo para tornar esse usuário de teste a conta principal em meu dispositivo de teste.
  • O id de produto reservado ainda funciona.

Agora vem o problema. Quando uso meu próprio ID de produto (o que adicionei antes, veja acima), uma caixa de diálogo é exibida com o seguinte texto:

" Erro do aplicativo: esta versão do aplicativo não está configurada para Faturamento do mercado. Verifique a central de ajuda para obter mais informações. "

Não há nada estranho que eu possa encontrar no log. Alguém sabe o que estou fazendo de errado aqui?

Peter Fortuin
fonte

Respostas:

157

Acabei de encontrar esse problema e percebi que era porque estava executando uma versão de depuração e não assinada do meu aplicativo. No Eclipse, quando exportei e assinei meu aplicativo e o instalei no telefone, consegui usar meus produtos no aplicativo sem ver essa mensagem de erro.

Esilver
fonte
8
As versões de depuração estão ok, mas devem ser assinadas.
Barry Fruitman
1
isso é necessário para publicar o aplicativo para testar um item inApp. Publiquei o item inapp e mantive o aplicativo não publicado. Peço desculpas se a pergunta for boba ou não relacionada.
Jana
@ jana não, não há necessidade de publicar o aplicativo para teste no aplicativo, mas sim, é necessário publicar o produto no aplicativo para ser publicado, caso contrário, você receberá um erro em seu dispositivo ao testar o produto no aplicativo "Item não encontrado "
Usman Curdo
21
É importante observar, como em algumas das outras respostas - o código de versão de seu aplicativo de teste deve ser igual ao código de versão de seu rascunho no Google Play. Portanto, se você começou com um placeholder v1 no Google Play, então preparou o aplicativo real como v2 - esse aplicativo real deve ser carregado no GP como um rascunho antes de terminar de testá-lo.
Steve Haley
1
As coisas mudaram recentemente e agora você precisa publicar seu aplicativo no canal alfa do Google Play antes que os testes de IAP possam continuar.
tenpn
43

Descobri que, depois de fazer upload de uma nova cópia do meu APK para o mercado, experimento aquele "erro de aplicativo" durante a próxima hora ou mais. Depois de pelo menos uma hora (às vezes até duas horas precisam ter passado), então não recebo mais esse erro e posso comprar meus itens sem problemas. Parece que os servidores do Google precisam de pelo menos uma hora para processar o fato de que você carregou um novo APK (em relação ao aspecto InApp Billing do APK).

Portanto, meu conselho é que você espere de 1 a 2 horas após fazer o upload do seu APK e, em seguida, veja se ainda obtém o "erro de aplicativo".

Simon K
fonte
Eu só queria reafirmar que essa resposta funcionou para mim. Eu estava recebendo este erro - embora as versões do aplicativo estivessem corretas. Não fiz nada além de esperar algumas horas e começou a funcionar corretamente (não vi o erro novamente).
Booger
4
Vou concordar: funcionou para mim também esperar algumas horas (na verdade, esperei durante a noite, então não sei o momento exato). Como um pequeno comentário editorial, é frustrante que o Google não pudesse dar uma mensagem de erro mais precisa para isso e nos poupar muitos problemas.
M Katz
Isso significa que eu sou um usuário com uma versão do aplicativo mais antiga que a atual, não posso usar compras no aplicativo e preciso atualizar o aplicativo primeiro?
Kedu
34

Eu também tive esse problema. Eu finalmente percebi que meu aplicativo publicado tinha um versionCode de 3, meu rascunho (apk não publicado com permissão de faturamento) tinha um versionCode de 4 e o apk assinado que eu estava usando para testar o faturamento no aplicativo ainda estava no versionCode 3. Uma vez que alterei o versionCode para 4, consegui acessar a página real do produto no aplicativo para a compra que estava solicitando.

Ashughes
fonte
22

Isso pode acontecer em compilações assinadas e lançadas quando o apk carregado como rascunho não corresponde ao apk em execução no sistema em modo de teste. Apenas certifique-se de que suas compilações correspondem, você deve estar bem no modo de teste e não verá mais erros.

A grande preocupação aqui é que veremos esse mesmo comportamento na produção, ou seja, lançamos 1.0.0-1 com faturamento no aplicativo, depois lançamos 1.0.0-2 e os usuários que executam 1.0.0-1 serão incapaz de comprar ou ter suas compras restauradas e receberá o mesmo erro (experiência do usuário muito ruim). Estive vasculhando a documentação em busca de menção a esse comportamento como específico do modo de teste, mas sem sorte até agora; adicionamos um bug aqui: http://code.google.com/p/marketbilling/issues/detail?id=15#c0

jen_h
fonte
3
+1 para informações adicionais, visão de futuro e o link para o tópico de bug.
Bill The Ape
14

Eu também encontrei o mesmo problema ... mas agora o problema foi resolvido

Minhas observações baseadas em alguns ensaios:

  1. O código da versão deve corresponder tanto no Google Play quanto no dispositivo
  2. Mesmo que as versões correspondam, ainda podemos obter este erro
  3. Espere cerca de 1 a 2 horas e tente, não obteremos este erro

Espero que isto ajude

user1444172
fonte
1
Eu também descobri que o código da versão deve corresponder. Pelo menos sua versão de teste não pode ser superior à do Google Play. Não tenho certeza se o contrário também é verdade. Espero que não, porque isso significaria que as pessoas com uma versão anterior do aplicativo não podem usar meu faturamento no aplicativo.
Peter Fortuin
# 3 era o truque. Se você tem certeza de que está tudo bem, faça uma pausa e tente mais tarde. Só precisa de algum tempo para atualizar :)
nuala
7

Copiado de pergunta duplicada: https://stackoverflow.com/a/22469253/1321401

Esse erro pode ocorrer por vários motivos.
Aqui está a lista de requisitos para os testes do Google IAB.

Pré-requisitos:

  1. AndroidManifest deve incluir permissão "com.android.vending.BILLING" .
  2. APK é construído em modo de lançamento .
  3. O APK é assinado com o (s) certificado (s) de liberação .
  4. O APK é carregado no canal de distribuição alfa / beta (anteriormente - como um rascunho) para o console do desenvolvedor pelo menos uma vez. (leva algum tempo ~ 2h-24h ).
  5. Os produtos IAB são publicados e seu status definido como ativo .
  6. A (s) conta (s) de teste são adicionadas ao console do desenvolvedor.

Requisitos de teste:

  1. O APK de teste tem o mesmo versionCode que o enviado ao console do desenvolvedor.
  2. O APK de teste é assinado com o (s) mesmo (s) certificado (s) que foi enviado para dev.console.
  3. Conta de teste (não desenvolvedor) - é a conta principal no dispositivo.

PS: Depuração com certificado de lançamento : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp para o link)

PPS: Faz muito tempo que eu queria fazer essa lista.

Thnx @zlgdev para atualização

Luten
fonte
1
O versionCode me pegou - por que isso é necessário?
Slott
5

Minha solução foi que eu precisava usar a mesma chave para assinar o apk no Market (como rascunho do APK) e no teste. Portanto, em vez de apenas executar o aplicativo, sempre preciso exportar o APK assinado a cada atualização, desinstalá-lo e reinstalá-lo no dispositivo usando os comandos de linha de comando do apk. Em princípio, você também pode usar seu próprio keystore como um keystore de depuração, mas isso requer o uso de senhas e nomes específicos codificados para chaves.

JaakL
fonte
0

Pensei em compartilhar mais uma solução possível se você estiver recebendo esse erro. Eu carreguei originalmente para o Google um rascunho do meu apk com a permissão de faturamento habilitada, então eu pude configurar em itens compráveis ​​de aplicativos. Mais tarde, carreguei outro apk sem a permissão de faturamento ausente no meu AndroidManifest, o que resultou no erro. Definitivamente parece um caso improvável, mas aconteceu comigo, então é possível.

Editar: na mesma dobra, se a versão que você enviou como rascunho ao google não estiver assinada, o erro também ocorrerá.

user1174195
fonte
0

Para adicionar meus dois centavos, fui capaz de testá-lo enviando para a versão Beta e criando uma conta do Gmail com acesso de teste na guia de configurações com uma nova versão do meu aplicativo ...

Agora estou passando para a produção ...

Obrigado! Nathan

Nathan Prather
fonte
-2

Tópico antigo, mas adicionando minha experiência ...

Eu instalei um apk com um versionCode 1 maior que o da loja. Joguei em 2 contas diferentes no meu Nexus 7 e tive este problema. Então, desinstalei e instalei da loja para ter certeza de que o versionCode era compatível. Mesmo esperando durante a noite, o erro não foi eliminado.

Acontece que eu precisava desinstalar de todas as 3 contas do Google que vinculei ao meu Nexus 7. Ele se recuperou quando eu desinstalei o aplicativo explicitamente de todas as três contas do meu Nexus 7 e, em seguida, reinstalei da loja.

Farrell
fonte