React-native-iap: [RESOLU] Erreur RNIap.getSubscriptions: [TypeError: undefined n'est pas un objet (évaluation de 'RNIapIos.getItems')]

Créé le 21 juin 2018  ·  4Commentaires  ·  Source: dooboolab/react-native-iap

Version de react-native-iap

1,20

Plateformes sur lesquelles vous avez rencontré l'erreur (IOS ou Android ou les deux?)

testé sur iOS uniquement

Comportement attendu

obtenir la liste des abonnements

Comportement réel

Erreur RNIap.getSubscriptions: [TypeError: undefined n'est pas un objet (évaluation de «RNIapIos.getItems»)]

Environnement testé (émulateur? Real Device?)

tous les deux

Étapes pour reproduire le comportement

`` ``
const itemSkus = Platform.select ({
ios: [
'com.shares.sharesapp', // J'ai aussi essayé ['BASIC', 'CLASSIC', 'MAX', 'PLUS'] ..
],
Android: [
'com.shares.sharesapp',
],
});

async componentDidMount () {
essayez {
attendre RNIap.prepare ();
}
catch (err1) {
console.log ("Erreur RNIap.prepare:", err1);
}
finalement {
console.log ("enfin");
essayez {
produits const = attendre RNIap.getSubscriptions (itemSkus);
console.log ('Abonnements', produits);
}
attraper (err) {
console.log ("Erreur RNIap.getSubscriptions:", err);
}
}
}
`` ``
Je ne parviens pas à me connecter au compte sandbox dans le simulateur
capture d ecran 2018-06-20 a 15 37 42

et dans un appareil réel, avoir ces popup
photo

Voici la liste des abonnements dans App Store Connect
capture d ecran 2018-06-20 a 12 42 30

Quelqu'un peut-il m'aider s'il vous plaît à configurer cela en bon état?

📱 iOS 🙏 help wanted

Commentaire le plus utile

J'ai dû installer manuellement comme décrit ...
`` ``
Installation manuelle
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)

`` ``

Tous les 4 commentaires

J'ai aussi essayé avec
const purchases = await RNIap.getAvailablePurchases(); console.info('Available purchases :: ', purchases);
résultat même:
RNIap.getSubscriptions error : [TypeError: undefined is not an object (evaluating 'RNIapIos.getAvailableItems')]

Et pour changer ProductID en "com.shares.sharesapp.basic" dans App Store Connect et

const itemSkus = Platform.select({ ios: [ 'com.shares.sharesapp.basic' ],
Plus de succès ...

J'ai dû installer manuellement comme décrit ...
`` ``
Installation manuelle
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)

`` ``

Cette fois, après qu'il m'a demandé de me connecter (déconnectez-vous d'abord sur votre appareil réel), j'ai entré l'utilisateur Sandbox, j'ai pu saisir le détail de l'abonnement 👍
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); } } }
Résultats :
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", }, ]

Pour info, RNIap.getSubscriptions (itemSkus) fonctionne également en simulateur.

Cette page vous a été utile?
0 / 5 - 0 notes