React-native-iap: Matriz vazia de getProducts (itemSkus) no Android

Criado em 25 abr. 2019  ·  13Comentários  ·  Fonte: dooboolab/react-native-iap

Versão do react-native-iap

2.4.9

Versão do react-native

0,57,8

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

andróide

Comportamento esperado

Para poder recuperar os produtos

Comportamento real

Eu obtenho um array vazio

Ambiente testado (emulador? Dispositivo real?)

Emulador e dispositivo real

Passos para reproduzir o comportamento

Já criei uma versão alfa no console de jogo e depurei o aplicativo no dispositivo real.
Criei assinaturas e não gerenciei produtos.
Screenshot 2019-04-25 at 13 38 19

Código

const itemSkus = Platform.select({
  android: [
    'com.synesthesiameditation.yearly',
    'com.synesthesiameditation.monthly'
  ]
});
async componentDidMount() {

    try {
      await RNIap.initConnection()
      const products = await RNIap.getProducts(itemSkus);
      console.log(products)
      this.setState({ products });
    } catch (err) {
      console.warn(err); // standardized err.code and err.message available
    }

  }

  componentWillUnmount() {
    RNIap.endConnection();
  }
🙏 help wanted 🤖 android

Comentários muito úteis

Eu também estou enfrentando esse problema.
[initConnection ()] retorna 'true', mas [getProducts ou getSubscriptions] retorna uma matriz vazia.
O que / onde devo verificar para resolver esse problema?

Todos 13 comentários

Eu também estou enfrentando esse problema.
[initConnection ()] retorna 'true', mas [getProducts ou getSubscriptions] retorna uma matriz vazia.
O que / onde devo verificar para resolver esse problema?

@hyochan mesmo problema aqui

Isso levará no máximo 24 horas para que seus produtos estejam disponíveis, se você acabou de criar os iap produtos. Se for esse o caso, feche o problema. @thodwris por android , a busca de produtos nem funcionará em emulator (apenas para sua conta).

@hyochan
Obrigado pela sua resposta.
Criei os produtos há mais de 24 horas.

<strong i="8">@thodwris</strong> for android, fetching product won't even work in emulator (just fyi).

O que isto significa? E como poderei recuperá-los e qual é o propósito de
RNIap.getProducts(itemSkus)
Talvez eu não consiga algo aqui.

@thodwris Eu quis dizer que no emulador ios o fetching funciona, mas não no emulador android . Você não deve testar nada no emulador android . Além disso, este problema não parece relacionado ao nosso módulo. Seria melhor procurar outras informações relacionadas a anrdoid iap e espero que você possa voltar quando tiver alguma tração.

@hyochan
Para ser sincero, não te entendo bem.

Qual é o propósito deste RNIap.getProducts (itemSkus) eventualmente, se eu não receber os produtos? : /
Documentação muito pobre ..

@thodwris Ei, seu problema ainda não foi identificado. Só estou tentando ajudá-lo aqui. Poor documentation quando nada foi identificado é totalmente sem sentido.

Estou implorando para que você dê um pouco de tração depois de identificar algo no lado nativo. Analisar o problema de stackoverflow com palavras-chave diferentes definitivamente ajudaria. Aqui está um link de exemplo .

@hyochan le's dizem que eu experimento o IAP em um projeto android nativo. Ele ainda não funciona no emulador ou é um problema nativo reativo?
Devo encontrar um dispositivo Android

@tmjordan É o mesmo no android real. O recurso IAP só funciona em dispositivos reais.

@hyochan ok muito obrigado por sua ajuda e suporte. Vou tentar encontrar um dispositivo real. 👍

@tmjordan

Tive que usar a função getSubscriptions e não getProducts. Eu sei que é um erro bobo, mas você pode mencionar isso, já que anexei uma imagem com assinaturas.

Obrigado por esta biblioteca :)

ei,
Estou enfrentando o mesmo problema. Matriz vazia no android. [InitConnection ()] retorna 'true', mas [getProducts ou getSubscriptions] retorna matriz vazia. Tentei tudo. Preciso de ajuda.

React- nativo: 0,59,9
react-native-iap: "4.1.1",

Eu resolvi! Estou usando essas versões,

react-native-iap: ^4.3.0
react-native: 0.60.5

apenas faça assim

const itemSkus = Platform.select({
    ios: [
        '100coins' // just remove bundle id from product id
    ],
    android: [
        '100coins' // just remove bundle id from product id
    ]
});
Esta página foi útil?
0 / 5 - 0 avaliações