React-native-iap: [SOLUCIONADO] Error de RNIap.getSubscriptions: [TypeError: undefined no es un objeto (evaluando 'RNIapIos.getItems')]

Creado en 21 jun. 2018  ·  4Comentarios  ·  Fuente: dooboolab/react-native-iap

Versión de react-native-iap

1,20

Plataformas a las que se enfrentó el error (¿IOS o Android o ambos?)

probado solo en iOS

Comportamiento esperado

obtener lista de suscripciones

Comportamiento real

Error de RNIap.getSubscriptions: [TypeError: undefined no es un objeto (evaluando 'RNIapIos.getItems')]

Entorno probado (¿Emulador? ¿Dispositivo real?)

ambos

Pasos para reproducir el comportamiento

`` ``
const itemSkus = Platform.select ({
iOS: [
'com.shares.sharesapp', // También probé ['BASIC', 'CLASSIC', 'MAX', 'PLUS'] ..
],
Android: [
'com.shares.sharesapp',
],
});

async componentDidMount () {
tratar {
espera RNIap.prepare ();
}
catch (err1) {
console.log ("Error de RNIap.prepare:", err1);
}
finalmente {
console.log ("finalmente");
tratar {
productos const = aguardan RNIap.getSubscriptions (itemSkus);
console.log ('Suscripciones', productos);
}
catch (err) {
console.log ("Error de RNIap.getSubscriptions:", err);
}
}
}
`` ``
No puedo conectarme con la cuenta de sandbox en el simulador
capture d ecran 2018-06-20 a 15 37 42

y en el dispositivo real, tener estas ventanas emergentes
photo

Aquí está la lista de suscripciones en App Store Connect
capture d ecran 2018-06-20 a 12 42 30

¿Alguien puede ayudarme a configurar esto en buena forma?

📱 iOS 🙏 help wanted

Comentario más útil

Tuve que instalar manualmente como se describe ...
`` ``
Instalación 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 comentarios

También probé con
const purchases = await RNIap.getAvailablePurchases(); console.info('Available purchases :: ', purchases);
resultado igual:
RNIap.getSubscriptions error : [TypeError: undefined is not an object (evaluating 'RNIapIos.getAvailableItems')]

Y para cambiar ProductID a "com.shares.sharesapp.basic" en App Store Connect y

const itemSkus = Platform.select({ ios: [ 'com.shares.sharesapp.basic' ],
No más éxito ...

Tuve que instalar manualmente como se describe ...
`` ``
Instalación 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)

`` ``

Esta vez, después de que me pidiera que me conectara (desconecte primero en su dispositivo real), ingresé al usuario de Sandbox, pude obtener los detalles de la suscripción 👍
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) funciona también en el simulador.

¿Fue útil esta página
0 / 5 - 0 calificaciones