RNIap.getProducts () semble être cassé dans la dernière version de React Native, ne renvoyant qu'une erreur inconnue.
4.6.1
0,63,0
iOS
produits à récupérer.
erreur inconnue renvoyée
Simulateur iOS
Appelez simplement RNIap.getProducts () ou RNIap.getSubscriptions ().
J'éprouve cela également avec les simulateurs iOS exécutant iOS 14.0 mais n'ayant pas de problèmes avec d'autres versions de simulateur (en particulier, iOS 13.5).
Cela semble être un problème du côté d'Apple avec le simulateur iOS 14.0: https://developer.apple.com/forums/thread/125164
J'ai trouvé ce lien via: https://github.com/dooboolab/react-native-iap/issues/1091
Merci @joeyscarim. J'ai maintenant contacté Apple et j'attends leurs commentaires.
@rossbulat même problème sur iOS 14 ...
react-native-iap - v4.6.1
Xcode - v12
YellowBox.js:71 Possible Unhandled Promise Rejection (id: 0):
Error: UNKNOWN_ERROR
Error: UNKNOWN_ERROR
at Object.fn [as getItems] (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:2165:36)
at http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:179261:33
at step (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178999:21)
at Object.next (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178929:16)
at http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178901:69
at tryCallTwo (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:3277:7)
at doResolve (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:3441:15)
at new Promise (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:3300:5)
at __awaiter (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178880:12)
at ios (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:179258:16)
Salut à tous,
Nous vivons également cela. Après la mise à niveau vers la v4.6.1 presque à chaque fois, nous rencontrons également une "erreur inconnue".
Salut les gars,
Je pense avoir trouvé la solution à notre problème. Vous devez être sûr que le initConnection
est en cours d'exécution.
Dans mon exemple, je viens de mettre requestPurchase/requestSubscription
à l'intérieur du initConnection
. Avant, cela fonctionnait sans, maintenant c'est un must have.
@Hellhiem J'ai initConnection et je reçois toujours l'erreur.
L'exécution de la fonction suivante vérifie que l'erreur est toujours là avec initConnection ()
const getProducts = async () => {
try {
await RNIap.initConnection();
const products: RNIap.Product[] = await RNIap.getProducts(IAP_SKUS);
} catch (err) {
console.log(err);
}
}
@rossbulat que se passe-t-il lorsque vous essayez ceci:
const getProducts = async () => {
return RNIap.initConnection().then(() => {
try {
const products: RNIap.Product[] = RNIap.getProducts(IAP_SKUS);
return products;
} catch (err) {
console.log(err);
}
});
};
J'ai fait la même chose mais à l'intérieur de then
j'ai mis requestPurchase/requestSubscription
@Hellhiem reçoit toujours une erreur inconnue! (c'est le même que mon code mais en utilisant then au lieu de la syntaxe async / await).
J'ai jeté un coup d'œil aux API du module natif, la fonction getItems()
semble être le point d'échec. Est-il possible pour l'un des principaux développeurs de vérifier que cet appel d'API natif fonctionne comme prévu sur iOS 14?
@Hellhiem J'ai essayé votre code, toujours avec la même erreur inconnue.
L'ingénierie Apple examine le cas via l'Assistant de rétroaction. Je mettrai à jour ce fil au fur et à mesure que nous déterminerons quel est le problème.
Je rencontre ce problème sur le simulateur iOS exécutant iOS 14.0
Même problème. Le simulateur IOS 14 avec xcode 12 ne peut pas récupérer les produits et générer une erreur inconnue
Même problème.
Même problème pour un appareil réel lors de l'examen Apple
J'ai le même problème mais avec la fonction getSubscriptions
J'ai fait quelques tests et, pour moi, [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers]
renvoie juste vide ...
même problème
J'ai le même problème avec getSubscriptions du côté IOS, UNKNOWN_ERROR a été lancé, Xcode 12.0, react-native 0.62.2
@rossbulat une chance? Je rencontre également le même problème
@rossbulat une chance? Je rencontre également le même problème
Utilisez-vous un appareil ou un simulateur?
Bonjour les développeurs, je l'ai résolu. J'ai fait ce qui suit
PS: mon test était sur un appareil local
Le problème concerne uniquement le simulateur iOS 14. Les vrais appareils fonctionnent.
Apple est devenu silencieux au cours de la semaine dernière, aucune mise à jour n'a été partagée avec moi.
Pour le simulateur, vous devez ajouter le fichier de configuration StoreKit au projet et le sélectionner dans votre schéma d'exécution. Mais j'ai eu cette erreur sur l'appareil
Le problème concerne uniquement le simulateur iOS 14. Les vrais appareils fonctionnent.
Apple est devenu silencieux au cours de la semaine dernière, aucune mise à jour n'a été partagée avec moi.
Les tests dans les achats d'applications sont désormais limités aux appareils réels, car je ne trouve pas l'option d'ajouter un testeur de bac à sable sur le simulateur iOS
Le problème concerne uniquement le simulateur iOS 14. Les vrais appareils fonctionnent.
Apple est devenu silencieux au cours de la semaine dernière, aucune mise à jour n'a été partagée avec moi.
Les tests dans les achats d'applications sont désormais limités aux appareils réels, car je ne trouve pas l'option d'ajouter un testeur de bac à sable sur le simulateur iOS
Il est géré par le fichier de configuration storekit
J'ai résolu par la configuration de strorekit.
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711
@ilyasbat J'ai suivi ces instructions, nettoyer le dossier de construction et reconstruire, mais malheureusement toujours l'erreur.
J'ai résolu par la configuration de strorekit.
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711
Ajout du fichier de configuration de storekit, reconstruction et exécution maintenant sur le simulateur IOS 14 avec xcode 12. Cela fonctionne parfaitement et je peux réellement acheter des articles sur le simulateur pour la première fois.
@ilyasbat est-ce que ce correctif est sûr? Que se passera-t-il si je modifie mes offres de produits dans l'Appstore par la suite, par exemple, changez les prix - seront-ils également mis à jour dans l'application ou l'application sera-t-elle bloquée avec la configuration storeConfiguration.storekit
?
@ilyasbat est-ce que ce correctif est sûr? Que se passera-t-il si je modifie mes offres de produits dans l'Appstore par la suite, par exemple, changez les prix - seront-ils également mis à jour dans l'application ou l'application sera-t-elle bloquée avec la configuration
storeConfiguration.storekit
?
J'ai trouvé ce très bon article:
https://www.appcoda.com/storekit-testing/
D'après ce que je lis, il semble que le fichier de configuration de StoreKit soit uniquement destiné au débogage / test:
Le champ suivant est le prix de l'achat intégré. Même s'il existe des niveaux de prix dans App Store Connect, nous pouvons fournir ici toute valeur que nous voulons sous forme de texte gratuit. Le prix est juste pour des raisons de test, il ne s'appliquera pas aux achats réels dans l'application et bien sûr, il n'y aura pas de frais. Alors n'hésitez pas à fixer le prix que vous souhaitez. Pour cet achat in-app spécifique que nous configurons ici, une valeur de 0,99 est très bien. La devise du prix sera la devise correspondant aux paramètres régionaux du simulateur ou à tout paramètre régional sélectionné manuellement (nous en reparlerons plus tard). Ainsi, 0,99 peut être en dollars, en euros, en yens, etc.
Je ne sais pas encore si cela est connu (je ne l'ai pas vu mentionné ci-dessus): j'ai constaté que je continue à recevoir Error: UNKNOWN_ERROR
quand j'exécute npx react-native run-ios
depuis le terminal, mais quand J'exécute l'application à partir de xcode, l'achat intégré (avec storekit) fonctionne bien.
"react-native": "0.61.4",
"react-native-iap": "^4.6.3",
xcode v12
macos 10.15.7
À l'heure actuelle, il n'est donc pas possible d'utiliser react-native-iap en production sur un appareil avec iOS 14? Puisque la seule façon de corriger le [Error: UNKNOWN_ERROR]
est d'ajouter un fichier Configuration.StoreKit
, mais uniquement à des fins de test, pas pour une version de production?
Quelqu'un at-il une autre solution?
J'utilise actuellement cette bibliothèque pour les achats in-app en production, Android et iOS (donc oui iOS 14). Je suis en mesure d'avoir des utilisateurs de test avec succès dans TestFlight (note: ils ne peuvent pas utiliser signin d'empreintes digitales, ils doivent id pomme Ender et mot de passe toujours - ce qui est une politique d' Apple, pas un défaut de cette bibliothèque) et les choses se passent dans la production .
Avez-vous essayé de tester votre application dans TestFlight @RobinChailley ?
J'ai obtenu 2 de mes vrais appareils sur IOS 14.1 fonctionnant à nouveau avec des comptes sandbox en faisant ce qui suit.
Suivez les étapes pour créer la configuration StoreKit, sélectionnez-la dans votre schéma d'exécution, puis créez-la sur votre appareil. Je ne sais pas si cette étape est nécessaire, mais récupérez certains produits. Vous pouvez effectuer un achat à ce stade, mais l'auditeur des achats affichera une erreur puisque l'identifiant de transaction des achats est "0".
Désélectionnez ensuite la configuration StoreKit du schéma Exécuter et créez à nouveau sur votre appareil. Cette fois, lorsque vous récupérez des produits, vous serez invité à vous connecter. Pour une raison quelconque, je peux maintenant me connecter avec mes comptes sandbox. Je ne sais pas pourquoi mais peut-être que cela efface ou réinitialise quelque chose.
@karltaylor Oui, mes achats
try {
IAP.initConnection()
.then((success) => {
if (!success) return Promise.reject("Failed to connect");
// get products that can be purchased in iap store
// Note: this is necessary for requestPurchase to work!
const productIds = [PRODUCT_ID];
return IAP.getProducts(productIds);
})
.then((prods) => {
// get already-purchased items
return getAvailablePurchases();
})
.then((purchases) => {
// continue...
})
}
Remarque: mon PRODUCT_ID
correspondait au texte de la colonne "Product ID" dans _appstoreconnect -> App Store -> Manage_
Quel est le "statut" de vos achats intégrés dans _appstoreconnect_?
@karltaylor Oui, mes achats
try { IAP.initConnection() .then((success) => { if (!success) return Promise.reject("Failed to connect"); // get products that can be purchased in iap store // Note: this is necessary for requestPurchase to work! const productIds = [PRODUCT_ID]; return IAP.getProducts(productIds); }) .then((prods) => { // get already-purchased items return getAvailablePurchases(); }) .then((purchases) => { // continue... }) }
Remarque: mon
PRODUCT_ID
correspondait au texte de la colonne "Product ID" dans _appstoreconnect -> App Store -> Manage_Quel est le "statut" de vos achats intégrés dans _appstoreconnect_?
Désolé @Beamanator, j'ai supprimé mes commentaires pour éviter de causer plus de confusion car c'était un problème avec une autre zone.
Après avoir ajouté le fichier Configuration.storekit
, je les ai fait travailler dans mon simulateur et dans Testflight! 👍
@rossbulat Avez-vous pu trouver une solution à ce problème? Je reçois des problèmes sur Android et iOS.
Je ne sais pas encore si cela est connu (je ne l'ai pas vu mentionné ci-dessus): j'ai constaté que je continue à recevoir
Error: UNKNOWN_ERROR
quand j'exécutenpx react-native run-ios
depuis le terminal, mais quand J'exécute l'application à partir de xcode, l'achat intégré (avec storekit) fonctionne bien.
"react-native": "0.61.4",
"react-native-iap": "^4.6.3",
xcode v12
macos 10.15.7
C'est bon pour moi
"react-native": "0.63.2",
"react-native-iap": "^5.1.3",
xcode v12
macos 11.0.1
cela fonctionnait comme ça en mode débogage, mais pas en vol de test. Aurait-il une configuration différente?
J'obtiens toujours la même "Erreur inconnue" sur iOS.
"react-native": "^0.63.4",
"react-native-iap": "^5.2.0",
Xcode 12.2
Une idée pour résoudre ce problème sans utiliser la configuration de StoreKit?
J'obtiens toujours la même "Erreur inconnue" sur iOS.
"react-native": "^0.63.4", "react-native-iap": "^5.2.0",
Xcode 12.2
Une idée pour résoudre ce problème sans utiliser la configuration de StoreKit?
Quelle version du simulateur avez-vous utilisée?
Même problème avec iOS 14.2 et fonctionne bien avec iOS 13.5
Même chose pour moi lors de l'exécution sur le simulateur iOS 14.2 et fonctionne bien avec le simulateur iOS 13.x.
Et j'ai le même problème avec l'équipe de validation Apple, je pense qu'ils exécutent mon application sur un simulateur ...
Nous avons constaté que vos produits achetés via l'application présentaient un ou plusieurs bogues lors de leur examen sur un iPad exécutant iOS 14.0.1 sur Wi-Fi.
- Lancement de l'application
- Appuyez sur les paramètres, en haut à gauche
- Appuyez sur Supprimer les publicités
- L'application a commencé à se charger indéfiniment
Quelqu'un ici a déjà essayé de publier des achats in-app non consommables en production?
Même chose pour moi lors de l'exécution sur le simulateur iOS 14.2 et fonctionne bien avec le simulateur iOS 13.x.
Et j'ai le même problème avec l'équipe de validation Apple, je pense qu'ils exécutent mon application sur un simulateur ...
Nous avons constaté que vos produits achetés via l'application présentaient un ou plusieurs bogues lors de leur examen sur un iPad exécutant iOS 14.0.1 sur Wi-Fi.
- Lancement de l'application
- Appuyez sur les paramètres, en haut à gauche
- Appuyez sur Supprimer les publicités
- L'application a commencé à se charger indéfiniment
Quelqu'un ici a déjà essayé de publier des achats in-app non consommables en production?
vous avez également des retards dans l'approbation des prix et Apple n'approuve pas votre demande parce que vous ne pouvez pas acheter?
J'ai fait tous mes tests sur un appareil réel avec un utilisateur de sandbox. Tout fonctionne pour acheter le produit mais Apple refuse ma version en raison de l'erreur "UNKNOW PRODUCT" sur le simulateur (iOS 14).
J'essaie de publier cette version de l'application avec un achat in-app non consommable sur l'App Store depuis octobre ...
J'ai fait tous mes tests sur un appareil réel avec un utilisateur de sandbox. Tout fonctionne pour acheter le produit mais Apple refuse ma version en raison de l'erreur "UNKNOW PRODUCT" sur le simulateur (iOS 14).
J'essaie de publier cette version de l'application avec un achat in-app non consommable sur l'App Store depuis octobre ...
Jetez un œil à notre problème.
https://github.com/dooboolab/react-native-iap/issues/1200
J'ai également traversé le même problème et ma candidature a été publiée au bout de trois semaines.
J'ai fait tous mes tests sur un appareil réel avec un utilisateur de sandbox. Tout fonctionne pour acheter le produit mais Apple refuse ma version en raison de l'erreur "UNKNOW PRODUCT" sur le simulateur (iOS 14).
J'essaie de publier cette version de l'application avec un achat in-app non consommable sur l'App Store depuis octobre ...Jetez un œil à notre problème.
1200
J'ai également traversé le même problème et ma candidature a été publiée au bout de trois semaines.
Ma version a été acceptée par Apple, merci beaucoup pour votre aide !!!
Avoir ce problème aussi sur les simulateurs IOS 14. Ce serait bien de tester les paiements sans avoir à utiliser un vrai appareil.
Ne fonctionne
Travailler avec cet environnement
Sur le simulateur iOS 14, cela fonctionne
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711
Commentaire le plus utile
J'ai résolu par la configuration de strorekit.
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711