react-native-iap-4.3.2
react-nativo-0.59.1
Plataformas que você enfrentou o erro (IOS)
Comportamento esperado
Depois de clicar no botão no aplicativo, o pagamento no aplicativo deve ser acionado
Comportamento real
e_developer_error 'id de produto inválido'
Ambiente testado - dispositivo real
Passos para reproduzir o comportamento
por favor veja meu código abaixo. Quando clico no botão acionado pela função onPress, o erro aparece
Eu configurei certificados, acordos fiscais e bancários, ids de produtos são configurados na App store Connect .. Todas as etapas, mas ainda não funciona.
Uma coisa estranha com aquele erro é que tudo estava funcionando para mim, até que parou de repente quando nenhuma alteração de código foi feita.
A única coisa que resolveu e fez com que voltasse a funcionar foi criar um novo usuário de teste e fazer login com seu id da apple no meu dispositivo de teste
@yanush Obrigado por responder, infelizmente nunca funcionou para mim no início e eu tentei todas as soluções de outros tópicos semelhantes. Eu tenho uma conta de testador de sandbox em um dispositivo real que estou usando para testar, mas ainda recebo o erro 'id de produto inválido'. Também estou executando uma versão de construção, mas sem sorte.
você configurou seu id da apple de teste também em "iTunes & App Store -> Conta Sandbox"?
(Nas configurações do dispositivo)
@yanush Quando vou para configuração -> iTunes e App Store, rolei para baixo, mas não vejo uma opção para Conta Sandbox. Não funcionará mesmo que o ID da apple com o qual estou conectado seja a própria conta do sandbox?
Não tenho certeza. acabei de começar a usar este pacote.
qual versão do ios você está usando? Estou no 12.4.4 (porque é um ipad antigo e não chegou ao iOS 13)
talvez este tópico possa ajudá-lo:
https://stackoverflow.com/questions/57850713/ios-13-how-to-login-in-in-app-purchase-sandbox-account
@yanush Você tem hospedagem de conteúdo
Eu não o tenho ligado e, portanto, não é obrigatório para o RNIap funcionar
@yanush Desculpe por todas as perguntas, estive preso nisso no mês passado. Você tem um servidor configurado para o seu IAP? Isso não é necessário, certo? Eu não sei mais o que procurar ...
você deve ser capaz de validar recibos apenas por meio do cliente
@yanush Seu aplicativo vende produtos de assinatura não consumíveis, renováveis automaticamente ou não renováveis por acaso?
não. apenas consumíveis por agora
@damialajogun você pode me mostrar a parte do seu código onde você chama RNIap.getProducts ()?
Na verdade, removi-o do meu código porque não estava sendo chamado. Eu o adicionei inicialmente ao log do console e certifique-se de que os IDs do produto estão sendo puxados, o que aconteceu, mas removi-o porque RNIAP.requestPurchase () não o está usando. Você acha isso errado?
sim. você tem que chamá-lo toda vez que seu aplicativo iniciar
@yanush você estava certo, agora funciona! Muito obrigado! Você não tem ideia!
Confirmado que RNIap.getProducts
precisa ser chamado antes de RNIAP.requestPurchase()
.
Comentários muito úteis
sim. você tem que chamá-lo toda vez que seu aplicativo iniciar