1,20
testado apenas em iOS
obter lista de assinaturas
Erro RNIap.getSubscriptions: [TypeError: undefined não é um objeto (avaliando 'RNIapIos.getItems')]
Ambas
`` ``
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
e no dispositivo real, tendo esses pop-ups
Aqui está a lista de assinaturas no App Store Connect
Alguém pode me ajudar a configurar isso em boa forma?
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.
Comentários muito úteis
Tive que instalar manualmente conforme descrito ...
`` ``
Instalação manual
iOS
`` ``