React-native-iap: [ioS] "ID de produto inválido"

Criado em 12 set. 2018  ·  12Comentários  ·  Fonte: dooboolab/react-native-iap

Versão do react-native-iap

2.1.0

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

iOS

Comportamento esperado

RNIap.buyProduct('com.app.product.id') deve retornar um objeto.

Comportamento real

A tela exibe "ID de produto inválido" e detecta o erro:

{ [Error: Invalid product ID.]
  line: 2060,
  column: 26,
  sourceURL: 'http://192.168.1.65:8081/index.bundle?platform=ios&dev=true&minify=false',
  framesToPop: 1,
  code: 'E_DEVELOPER_ERROR',
  userInfo: null,
  nativeStackIOS: 
   [ '0   O2Balloons                          0x006c2c8f RCTJSErrorFromCodeMessageAndNSError + 104',
     '1   O2Balloons                          0x00669129 __41-[RCTModuleMethod processMethodSignature]_block_invoke_2.218 + 184',
     '2   O2Balloons                          0x005d5caf -[RNIapIos buyProduct:resolve:reject:] + 886',
     '3   CoreFoundation                      0x1b4c8354 <redacted> + 68',
     '4   CoreFoundation                      0x1b3ec2b9 <redacted> + 300',
     '5   CoreFoundation                      0x1b3efe87 <redacted> + 48',
     '6   O2Balloons                          0x0066ab9b -[RCTModuleMethod invokeWithBridge:module:arguments:] + 1806',
     '7   O2Balloons                          0x0070104d _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 640',
     '8   O2Balloons                          0x00700bd1 _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 176',
     '9   O2Balloons                          0x00700b1d ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 16',
     '10  libdispatch.dylib                   0x022d7467 _dispatch_call_block_and_release + 10',
     '11  libdispatch.dylib                   0x022e366f _dispatch_queue_serial_drain + 988',
     '12  libdispatch.dylib                   0x022daa39 _dispatch_queue_invoke + 872',
     '13  libdispatch.dylib                   0x022e3b31 _dispatch_queue_override_invoke + 342',
     '14  libdispatch.dylib                   0x022e576b _dispatch_root_queue_drain + 666',
     '15  libdispatch.dylib                   0x022e5471 _dispatch_worker_thread3 + 112',
     '16  libsystem_pthread.dylib             0x1ad4687d _pthread_wqthread + 1040',
     '17  libsystem_pthread.dylib             0x1ad4645c start_wqthread + 8' ],
  domain: 'RCTErrorDomain' }

Ambiente testado (emulador? Dispositivo real?)

Emulador e dispositivo real.

Passos para reproduzir o comportamento

Eu segui todas as instruções na documentação ao máximo e examinei as páginas de resultados do Google, bem como problemas relevantes resolvidos neste repo. Minha lista de verificação até o momento:

  1. Concluído um efetivo "Acordos, Impostos e Bancos".
  2. Configure a conta de teste da sandbox em "Usuários e funções".
  3. Conectado ao dispositivo iOS com conta sandbox.
  4. Configure três compras no aplicativo com o seguinte status:
    eu. Pronto para enviar
    ii. Metadados ausentes
    iii. Esperando por revisão
  5. Habilite "In-App Purchase" no Xcode "Capabilities" e no Apple Developer -> configuração "App ID".
  6. Excluir app / Reiniciar dispositivo / Sair de processos relacionados ao "armazenamento" em Activity Monitor / Xcode Development Provisioning Profile -> Clean -> Build
  7. A tentativa RNIap.buyProduct('com.app.product.id') para cada produto, todos apresentando o mesmo erro.

A única coisa que não tentei ainda é o tempo de avanço rápido (pensei que ir dormir ontem à noite poderia ajudar! :) porque não se passaram 24 horas inteiras desde que criei a conta sandbox / inicializei o aplicativo compras / tudo acima basicamente. Por favor, ajude, parece que muitas pessoas perderam uma das etapas acima antes de começar a funcionar para elas, mas tentei todas e ainda não funciona. Estou esquecendo de algo?

📱 iOS 🙏 help wanted

Comentários muito úteis

Olá a todos, estou com o mesmo problema. Eu sempre obtenho um array vazio ao chamar getProducts
@hyochan @ Friendly-Robot

Todos 12 comentários

@ Friendly-Robot Parece bom. Você poderia tentar 2.1.1 ? Havia algum bug em 2.1.0 . Você ligou para getProducts antes de comprar?

@dooboolab Uau, a atualização realmente resolveu o problema. Muito obrigado! Eu estava começando a ficar muito frustrado porque tudo parecia estar correto, mas simplesmente não estava funcionando. Estou tão feliz agora. Trabalho muito incrível nesta biblioteca. E eu adoro o seu nome! = D

Olá a todos, estou com o mesmo problema. Eu sempre obtenho um array vazio ao chamar getProducts
@hyochan @ Friendly-Robot

eu também

mesmo aqui

Todos vocês verificaram as etapas acima? Vou postar isso abaixo novamente.

  1. Conclua um efetivo "Contratos, impostos e serviços bancários".
  2. Configure a conta de teste da sandbox em "Usuários e funções".
  3. Conectado ao dispositivo iOS com conta sandbox.
  4. Configure compras no aplicativo com o seguinte status:
    eu. Pronto para enviar
    Habilite "In-App Purchase" no Xcode "Capabilities" e no Apple Developer -> configuração "App ID". Excluir app / Reiniciar dispositivo / Sair de processos relacionados ao "armazenamento" em Activity Monitor / Xcode Development Provisioning Profile -> Clean -> Build

Perfil de provisionamento de desenvolvimento Xcode -> Limpar -> Compilar

Por favor, o que essa etapa significa? é Clean Build Folder ?

@djGrill abrir XCode> Produto> Limpar

@djGrill Para fazê-lo manualmente, você pode simplesmente ir para a pasta Project ios em your_app_name_here e deletar build

O que isto significa?

e no Apple Developer -> configuração "App ID".

E como posso fazer isso exatamente?

Saia de processos relacionados à "loja" no Activity Monitor / Xcode Development Provisioning Profile

@ wootwoot1234

e no Apple Developer -> configuração "App ID".

image

  • Role para baixo e verifique o recurso "Compra no aplicativo" (que está desativado no meu caso porque não concluímos a etapa de informações fiscais e bancárias)

image

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