React-native-iap: Não é possível conectar ao Itunes Store

Criado em 12 dez. 2019  ·  11Comentários  ·  Fonte: dooboolab/react-native-iap

Versão do react-native-iap

4.3.0

Versão do react-native

0.61.5

Plataformas em que você enfrentou o erro (IOS ou Android ou ambos?)

iOS 13 e posterior

Comportamento esperado

Deve ir para compra ou restauração do produto, mas está recebendo um erro.
Código:
tentar{
compras constantes = esperar RNIap.getAvailablePurchases ();
if (compras && compras.length> 0) {
this.setState ({isLoading: false});
Alert.alert ('Restauração bem-sucedida');
}outro{
this.requestPurchase (itemSku);
}
} catch (errar) {
Alert.alert (err.message);
}
Depois disso, aparecerá o erro "E_UNKNOWN Não é possível conectar à iTunes Store" enquanto o usuário não clicou em nenhuma opção.

Ambiente testado (emulador? Dispositivo real?)

Eu testei em ambos e o comportamento é o mesmo.

Avaliação da AppStore

Descobrimos que seus produtos de compra no aplicativo exibiram um ou mais bugs quando analisados ​​no iPad executando iOS 13.2.3 em Wi-Fi.

Especificamente, uma mensagem de erro foi exibida quando tentamos comprar.

Próximos passos

Ao validar recibos em seu servidor, ele precisa ser capaz de lidar com um aplicativo assinado em produção, obtendo seus recibos do ambiente de teste da Apple. A abordagem recomendada é que seu servidor de produção sempre valide os recebimentos primeiro na App Store de produção. Se a validação falhar com o código de erro "Recibo de sandbox usado na produção", você deve validar no ambiente de teste.

Recursos

Você pode aprender mais sobre como testar produtos de compra no aplicativo em seu ambiente de sandbox de desenvolvimento na Ajuda do desenvolvedor do App Store Connect.

Para obter mais informações sobre a validação do recibo, consulte Qual url devo usar para verificar o meu recibo? nas Perguntas frequentes de compra no aplicativo.

Aprenda a gerar um código de validação de recibo na Ajuda do desenvolvedor do App Store Connect.

Por favor, veja a captura de tela em anexo para detalhes.
Screen Shot 2019-12-13 at 2 27 06 AM

📱 iOS 🙏 help wanted 🚶🏻 stale

Todos 11 comentários

o mesmo problema...

mesmo, alguém resolveu?

Eu resolvi esse problema

Eu resolvi esse problema

Como, você pode compartilhar?

Não há nada realmente para resolver aqui. É uma notificação de que o usuário cancelou.
Altere seu listener de erro para verificar esse código (E_USER_CANCELLED) e se ele for retornado, não ative a assinatura ou forneça o serviço e deixe-o falhar silenciosamente.

Se você não fez nenhuma alteração de estado na chamada de compra, basta adicionar:

if (error.code === "E_USER_CANCELLED") { return; }

como a primeira linha do bloco de chamada do ouvinte. Isso simplesmente retornará à tela em que estavam. Se você precisar fazer alterações no estado primeiro, em vez de retornar; use algo assim

if (error.code === "E_USER_CANCELLED") { 
  this.setState({ subscription: undefined, userCancelled: true, whateverElse: 'completed' }, () => { return; });

+1 - também enfrentando esse problema.

Não há nada realmente para resolver aqui. É uma notificação de que o usuário cancelou.
Altere seu listener de erro para verificar esse código (E_USER_CANCELLED) e se ele for retornado, não ative a assinatura ou forneça o serviço e deixe-o falhar silenciosamente.

Esse não é o código em sua postagem original.

Olá, parece que não houve nenhuma atividade sobre este problema recentemente. O problema foi corrigido ou ainda requer a atenção da comunidade? Este problema pode ser resolvido se nenhuma outra atividade ocorrer. Você também pode rotular esse problema como "Para discussão" ou "Bom primeiro problema" e eu o deixarei em aberto. Obrigado por suas contribuições.

Este usuário de sandbox problemático só executa o aplicativo Testflight. Testei meu aplicativo no testfligt. está funcionando.

Olá, parece que não houve nenhuma atividade sobre este problema recentemente. O problema foi corrigido ou ainda requer a atenção da comunidade? Este problema pode ser resolvido se nenhuma outra atividade ocorrer. Você também pode rotular esse problema como "Para discussão" ou "Bom primeiro problema" e eu o deixarei em aberto. Obrigado por suas contribuições.

Vemos esse erro de forma consistente no teste, mas de forma intermitente na produção. Alguém encontrou alguma solução?

Olá, parece que não houve nenhuma atividade sobre este problema recentemente. O problema foi corrigido ou ainda requer a atenção da comunidade? Este problema pode ser resolvido se nenhuma outra atividade ocorrer. Você também pode rotular esse problema como "Para discussão" ou "Bom primeiro problema" e eu o deixarei em aberto. Obrigado por suas contribuições.

Esta página foi útil?
0 / 5 - 0 avaliações