o item que você solicitou não está disponível para compra

95

Estou tentando integrar as compras no aplicativo do Android Market ao meu aplicativo, mas infelizmente encontro um erro irritante toda vez que tento comprar um produto real do aplicativo.

Peguei o aplicativo de amostra (Dungeons) e o adicionei ao meu aplicativo. Eu atualizei a chave pública e também atualizei a lista de produtos para o seguinte:

/ ** Uma matriz de entradas da lista de produtos para os produtos que podem ser adquiridos. * /

private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
    new CatalogEntry("full", "Full v", Managed.MANAGED),

};

Exportei o aplicativo usando o Eclipse, instalei no meu telefone e também carreguei no site do Android Market. Também no site do Android Market, adicionei a versão completa como uma compra no aplicativo e publiquei.

Também adicionei minha conta do googlemail como uma conta de teste (é aquela em que fiz login no meu telefone).

Quando executo o aplicativo no meu telefone, recebo uma mensagem android do item que você solicitou não disponível para compra sempre que tento comprar na íntegra, mas se eu tentar, por exemplo, android.test.purchased, funcionará perfeitamente bem.

A documentação do item que você solicitou não está disponível para compra android afirma o seguinte:

Indica que o Android Market não pode encontrar o item solicitado na lista de produtos do aplicativo. Isso pode acontecer se o ID do produto estiver incorreto em sua solicitação REQUEST_PURCHASE ou se um item não for publicado na lista de produtos do aplicativo.

O ID do produto é definitivamente o mesmo, está definitivamente publicado e a solicitação deve estar em andamento, pois é o aplicativo de amostra.

Estou usando a mesma versão do apk e publiquei produtos inapp também e também ativei o apk. mas ainda estou enfrentando o mesmo problema, por favor me ajude ho para consertá-lo.

Qualquer pensamento seria apreciado!

laxman
fonte
1
você publica seu produto?
Mohsin Naeem,
a conta do Google que você usou Merchant Accounté diferente da conta do dispositivo?
Mohsin Naeem
1
Certifique-se de que o produto que você adicionou na Play Store esteja exibindo o status de "ativo"
Ali
Certifique-se de que seus testadores clicaram no link de
aceitação

Respostas:

181

Minha experiência com esse erro é:

  1. Certifique-se de fazer upload do APK assinado para o console do desenvolvedor.

  2. Certifique-se de instalar o APK assinado em seu dispositivo e não iniciar o aplicativo no depurador.

  3. Certifique-se de criar uma conta de teste em seu console de desenvolvedor.

  4. Configure sua conta de teste

    1. Certifique-se de fazer login em seu dispositivo com sua conta de teste.
    2. Em um caso de teste alfa / beta fechado, certifique-se de ter adicionado sua conta de teste ao grupo de testadores selecionados. Você pode fazer isso na página de gerenciamento de sua versão alfa / beta.
    3. Em um caso de teste alfa / beta fechado, certifique-se de que sua conta de teste aceitou a participação no teste deste aplicativo por meio do link de convite especial
  5. Certifique-se de criar o faturamento do aplicativo em seu console de desenvolvedor e, finalmente, ativar o item no console !!! (este é o que me pegou depois de seguir totalmente o tutorial do Google)

  6. Certifique-se de definir VersionCode e VersionName no manifesto para serem iguais à versão no console do desenvolvedor (Alfa, Beta ou Produção. Rascunhos não funcionam mais). A resposta de @alexgophermix funcionou para mim.

Se você está procurando pagamentos de teste sem retirada de dinheiro real, você precisa adicionar sua conta de teste a outra lista especial de contas "Contas do Gmail com acesso de teste", você pode encontrar isso na configuração da conta do jogo (não no projeto!). Na página onde você pode ver uma lista de seus projetos, vá para as configurações e, em seguida, na página "Detalhes da conta" (role para baixo, está quase no final da página), você encontrará a lista "Contas do Gmail com acesso de teste".

Pinux
fonte
5
Lembre-se sempre de testar o aplicativo usando construção assinada. +1
Vamsi Challa,
36
Certifique-se de definir VersionCode e VersionName no manifesto para serem iguais à versão no console do desenvolvedor (Alfa, Beta ou Produção. Rascunhos não funcionam mais). A resposta de @alexgophermix funcionou para mim. +1
i.shadrin
6
Além disso, certifique-se de que o usuário de teste tenha optado pelo Alpha (se você estiver usando esse obv). Não é suficiente adicioná-los ao Teste de Licença.
ADB
4
Certifique-se de que você aprovou para se tornar um testador abrindo o URL de aceitação e usando a conta de teste
bogumil
1
Os códigos de versão têm que corresponder, obrigado pelo aviso, salvou um momento de pânico absoluto.
Meanman
97

Aqui estão algumas coisas para verificar:

  1. Você criou um apk e o publicou no GooglePlay Dashboard em Alfa ou Beta .
  2. O aplicativo no GooglePlay Dashboard NÃO está no modo Rascunho , mas no Publicado (você precisará fazer todos os pequenos círculos com o ícone de verificação neles no lado esquerdo da tela verdes antes de poder publicar).
  3. Você definiu outra conta de teste diferente daquela que está "anexada" ao GooglePlay Dashboard. Você pode fazer isso criando um grupo do Google+, adicionar sua conta de teste a esse grupo e especificar o grupo do Google+ no GooglePlay Dashboard.
  4. O apk que você está usando para testar a compra tem o mesmo código de versão, nome de versão e, o mais importante, é assinado com o mesmo keystore que o apk que você publicou na loja.
  5. Você espera algumas horas entre o momento em que altera algo no painel para que as alterações se propaguem. Leva algumas horas para fazer isso.
  6. Certifique-se de que o valor sku é um valor sku válido (compare-o com o que você inseriu no painel GP).
  7. Você tenta comprar um item já comprado . Pegue os itens comprados e exiba-os no log para verificar se sim. Em caso afirmativo, consuma esse produto ou devolva o dinheiro para sua conta de teste (você precisará aguardar a propagação do reembolso. Isso leva algumas horas).
  8. Certifique-se de que os Inapps estão ativos !

O que fez isso para mim, depois de 6 horas, foi esta última parte:

  1. Certifique-se de estar conectado ao Google (em seu navegador) com a conta de teste e de abrir este link (marcado em vermelho) e aprovar se tornar um testador !!!! http://i.stack.imgur.com/VSgAV.png

ATUALIZAR

  1. Se você estiver usando versões para construir apks visando CPUs diferentes e construir para arm, armv7 e x86 e carregá-los todos para a loja, lembre-se de usar um deles para testar os inapps. Se você usar uma compilação "universal" que contém todas as bibliotecas de cpu (basicamente outra compilação diferente da que está na loja), ela não funcionará.
AndreiBogdan
fonte
14
Eu tenho a mesma situação com você. tudo 1-8 não é problema, mas é 9 que é o problema. Perder meu dia inteiro para descobrir isso. Você é meu salva-vidas.
Paiboon Panusbordee
2
Sim, a última parte é a mais importante, parece que o Google mudou as regras, costumava funcionar sem o passo 9, mas agora, para beta fechado ou beta aberto, você precisa clicar no link. Obrigado cara!
Siyuan Zhang
meu problema era 4. O código da versão do apk instalado não era o mesmo que o apk do Google Play. Depois de fazer a mesma versão, funcionou. Essa resposta é valiosa.
Thupten
Eu odeio tanto essa incerteza de "algumas horas"! Durante essas "duas horas", meu chefe costuma enlouquecer! A propósito, se você tiver um APK instalado manualmente, não receberá nenhuma atualização! E é estúpido que com o próprio APK assinado o IAB não funcione. Acho que precisamos esperar a maldita atualização acontecer!
WindRider de
1
Obrigado pela etapa 9
zdd
45

Isso acontece quando o produto está Inactivena Play Store, Activateo produto e deve funcionar bem.

AnilPatel
fonte
Nunca pensei nisso ...: D Obrigado por economizar mais horas!
Kamran Ahmed
O que você quer dizer com inativo ? Os desenvolvedores devem usar apenas a versão Alpha do APK.
IgorGanapolsky
23

Existe outra causa possível para este erro, que quase me deixou louco por um dia inteiro até que eu descobri qual era o problema: a versão apk. Se você estiver trabalhando com um apk local (assinado corretamente, chave correta, ids de produto corretos) com um número de versão superior ao carregado na Play Store, você também receberá este erro.

Espero que isso ajude alguém

DavidBVal
fonte
Isso não fornece uma resposta para a pergunta. Assim que tiver reputação suficiente, você poderá comentar sobre qualquer postagem ; em vez disso, forneça respostas que não exijam esclarecimentos do autor da pergunta . - Da avaliação
tttony
11
A informação desta resposta é realmente boa de saber e pode ser a resposta certa para algumas pessoas como eu
AlexioVay
6
@tttony apontei outra causa do erro, não pedi nenhum esclarecimento. Não é uma hipótese ou pergunta, se você instalar manualmente um APK com um número de versão maior do que o que foi publicado, em app-compras irá retornar esse erro.
DavidBVal
2
Foi uma informação muito útil de se ter. Muito obrigado por economizar tanto do meu tempo. Afirmativo.
Aritra Roy
22

Este erro ocorre quando tudo o que você fez está perfeito, você usou o APK assinado com o ID de produto adequado, mas deve observar que a conta que está usando pode não ter detalhes de cartão de crédito válidos adequados .

Portanto, sempre que você quiser comprar qualquer produto, mesmo com conta de teste , essa conta deve ter detalhes de crédito válidos.

Nirali
fonte
Esta resposta é verdadeira e rara de encontrar. Portanto, muito obrigado por ir além e não adicionar mais uma resposta "ative seu produto".
Don
19

Talvez eu esteja fazendo isso errado, mas você também receberá esse erro se a versão que está testando não estiver na Play Store como Alfa, Beta ou Produção.

Costumo atualizar meu VersionCode e VersionName enquanto ainda testo uma nova versão (ANTES de fazer o upload para a Play Store) e, em seguida, acabo com este erro quando vou testar recursos específicos do IAB.

alexgophermix
fonte
4
E também aguarde pelo menos 45-90 minutos após o upload para a Play Store para que ele comece a funcionar.
mm2001
9

No meu caso é necessário acessar o link da aba do APK Opt-in URL. Abra um navegador e use o link. Em seguida, registre-se como um testador nessa página.

Payne Chu
fonte
9

você deve aceitar para se tornar testador

Gerenciamento de versão -> versões do aplicativo -> gerenciar testador e abrir este link (URL de ativação) com modo anônimo para fazer login na conta do testador

insira a descrição da imagem aqui

vuhung3990
fonte
Sou um testador e tenho o mesmo problema.
Jorgesys
4

por favor, verifique se você está usando o mesmo id de e-mail da conta de teste ou não

laxman
fonte
ha meu login do dispositivo como outro id de e-mail, depois de definir o id de e-mail testaccount como o id principal, este problema foi resolvido.
laxman
3
Isso não fornece uma resposta para a pergunta. Para criticar ou solicitar esclarecimentos de um autor, deixe um comentário abaixo de sua postagem - você sempre pode comentar suas próprias postagens e, assim que tiver reputação suficiente , poderá comentar em qualquer postagem .
Aziz Shaikh
Recebi este erro quando o login do meu dispositivo foi diferente do id de e-mail da conta de teste (id de e-mail testaccount especificado no console do desenvolvedor sob a chave pública). se eu definir o id de e-mail testaccount como id de e-mail principal do meu dispositivo
laxman 01 de
4

Últimas adições (2016/11):

  1. o testador deve ACEITAR a solicitação de teste retirada do link obtido no console do desenvolvedor (seção: APK)

  2. o aplicativo deve ser PUBLICADO : está ok para publicar em teste beta / alfa; INFO: se você clicar em "Publicar" no console do desenvolvedor, o aplicativo não será publicado em produção, a menos que você o propague para a guia Produção (na seção APK);

PerfectGamesOnline.com
fonte
2

Se o status do produto for "Inativo", ative-o. isso resolvido para mim. Claro que o Google demora um pouco para atualizar

Verifique também se o seu e-mail de teste foi registrado.

vijeth.ag
fonte
1

"Open Alpha Testing" ou "Open Beta Testing" resolveram o problema para mim, depois de tentar todos os métodos sugeridos em toda a internet.

Vá para Android Developer Console -> Seu aplicativo -> APK e, em seguida, opte por usar o teste Open Alpha / Beta. Envie o link fornecido para você ou para os testadores.

Contanto que eles estejam logados com essa conta em seu dispositivo Android, eles podem testá-la.

Boa sorte

R_Paoa
fonte
1

Eu enfrentei o mesmo problema, A solução para mim era enviar a versão atual do seu aplicativo para a Play Store, Se for para teste, envie-o para o canal Alfa ou Beta, eu fiz isso e o erro foi embora e os detalhes do preço são mostrados corretamente.

Ameen Maheen
fonte
0

Pode haver três possibilidades:

  1. Salve seu APK no google play como rascunho e não se esqueça de ativá-lo e publicar seus produtos com IDs exclusivos.
  2. Verifique se os seus Ids são iguais aos do produto no Google Play.
  3. ou verifique se os tipos de item são iguais, por exemplo, gerenciado no Google Play e no seu código.

Se você estiver testando, não há necessidade de publicar o aplicativo. Basta salvá-lo como um rascunho. E então espere algum tempo pode ser de 2 a 3 horas para ativar isso.

URAndroid
fonte
3
acima de três condições são satisfeitas, mas mostrando o mesmo erro
laxman
0

Para resolver esse problema, siga estas etapas:

  1. Crie o produto no console do desenvolvedor do Google Play.

  2. Salve e defina-o como "Ativo".

  3. Faça upload do APK para o Google play.

NB: o faturamento no aplicativo pode não funcionar até 6 horas após a criação do seu produto na etapa 1.

inspirou Michael
fonte
0

A resposta mais votada cobre praticamente tudo, mas se você foi tão estúpido quanto eu ao apressar o processo de lançamento do aplicativo para continuar com os testes de IAPs, certifique-se de publicar o aplicativo na Play Store do país que está testando no! Uma maneira fácil de verificar isso no dispositivo é tocar no link 'baixe no Google Play' ao abrir o URL de permissão de teste. Se você receber um erro 'Item não encontrado' ao tentar abrir por meio da Google Play Store, é provável que seu aplicativo não tenha sido publicado lá. Encontrei esse problema porque estava carregando o aplicativo assinado corretamente via ADB e, embora os IAPs apareçam na compilação, você receberá este erro ao tentar comprá-los.

Sprince
fonte
0

Ao comprar uma assinatura no aplicativo, eu tinha todos os itens da lista abaixo no lugar certo.

  1. Criado apk assinado e publicado no canal alfa

  2. Adicionados ids de e-mail de testador ao teste de licença

  3. Adicionados ids de e-mail de testador ao teste alfa de faixa fechada

  4. Optou por ser um testador

  5. O ID de teste era diferente do ID da conta do desenvolvedor

  6. Estava no dispositivo Android e não no emulador

  7. Baixou o aplicativo da Play Store

Ainda estava recebendo este erro dizendo "O item que você estava procurando não foi encontrado" .

Depois de perder 2-3 dias, descobri que só funcionava se algum modo de pagamento fosse configurado na Play Store .

Embora a maioria das respostas esteja relacionada à compra do IAB antigo e eu implementei uma nova API de cliente de faturamento que é - implementation 'com.android.billingclient:billing:1.0', não foi fácil encontrar a solução.

Se este for o mesmo caso para alguém, adicionar um modo de pagamento pode ajudá-lo a superar esse erro. Você precisa adicionar um mesmo para testá-lo, no entanto, não será cobrado por ids de e-mail adicionados como testadores de licença.

Abelha
fonte