React-native-iap: [RESOLVIDO] Erro RNIap.getSubscriptions: [TypeError: undefined não é um objeto (avaliando 'RNIapIos.getItems')]

Criado em 21 jun. 2018  ·  4Comentários  ·  Fonte: dooboolab/react-native-iap

Versão do react-native-iap

1,20

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

testado apenas em iOS

Comportamento esperado

obter lista de assinaturas

Comportamento real

Erro RNIap.getSubscriptions: [TypeError: undefined não é um objeto (avaliando 'RNIapIos.getItems')]

Ambiente testado (emulador? Dispositivo real?)

Ambas

Passos para reproduzir o comportamento

`` ``
const itemSkus = Platform.select ({
ios: [
'com.shares.sharesapp', // Eu também tentei ['BASIC', 'CLASSIC', 'MAX', 'PLUS'] ..
],
android: [
'com.shares.sharesapp',
],
});

componente asyncDidMount () {
tentar {
aguardar RNIap.prepare ();
}
catch (err1) {
console.log ("erro RNIap.prepare:", err1);
}
finalmente {
console.log ("finalmente");
tentar {
const products = await RNIap.getSubscriptions (itemSkus);
console.log ('Assinaturas', produtos);
}
pegar (errar) {
console.log ("Erro RNIap.getSubscriptions:", err);
}
}
}
`` ``
Não consigo me conectar com a conta sandbox no simulador
capture d ecran 2018-06-20 a 15 37 42

e no dispositivo real, tendo esses pop-ups
photo

Aqui está a lista de assinaturas no App Store Connect
capture d ecran 2018-06-20 a 12 42 30

Alguém pode me ajudar a configurar isso em boa forma?

📱 iOS 🙏 help wanted

Comentários muito úteis

Tive que instalar manualmente conforme descrito ...
`` ``
Instalação manual
iOS

In XCode, in the project navigator, right click Libraries ➜ Add Files to [your project's name]
Go to node_modules ➜ react-native-iap and add RNIap.xcodeproj
In XCode, in the project navigator, select your project. Add libRNIap.a to your project's Build Phases ➜ Link Binary With Libraries
Run your project (Cmd+R)

`` ``

Todos 4 comentários

Eu também tentei com
const purchases = await RNIap.getAvailablePurchases(); console.info('Available purchases :: ', purchases);
resultado mesmo:
RNIap.getSubscriptions error : [TypeError: undefined is not an object (evaluating 'RNIapIos.getAvailableItems')]

E para alterar ProductID como "com.shares.sharesapp.basic" no App Store Connect e

const itemSkus = Platform.select({ ios: [ 'com.shares.sharesapp.basic' ],
Sem mais sucesso ...

Tive que instalar manualmente conforme descrito ...
`` ``
Instalação manual
iOS

In XCode, in the project navigator, right click Libraries ➜ Add Files to [your project's name]
Go to node_modules ➜ react-native-iap and add RNIap.xcodeproj
In XCode, in the project navigator, select your project. Add libRNIap.a to your project's Build Phases ➜ Link Binary With Libraries
Run your project (Cmd+R)

`` ``

Desta vez, depois que ele me pediu para conectar (desconectar do seu dispositivo real primeiro), entrei no usuário Sandbox, consegui pegar os detalhes da assinatura 👍
async componentDidMount() { try { await RNIap.prepare(); } catch (err1) { console.log("RNIap.prepare error : ", err1); } finally { console.log("finally"); try { console.log("itemSkus : ", itemSkus); const products = await RNIap.getSubscriptions(itemSkus); console.log('Subscriptions', products); } catch (err) { console.log("RNIap.getSubscriptions error : ", err); } } }
Resultados :
itemSkus : Array [ "com.shares.sharesapp.basic", ] Subscriptions Array [ Object { "currency": "EUR", "description": "***", "localizedPrice": "3,99 €", "price": "3.99", "productId": "com.shares.sharesapp.basic", "title": "Abonnement BASIQUE", "type": "Do not use this. It returned sub only before", }, ]

FYI, RNIap.getSubscriptions (itemSkus) também funciona no simulador.

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