React-native-iap: getProducts renvoie toujours null

Créé le 13 avr. 2018  ·  34Commentaires  ·  Source: dooboolab/react-native-iap

@dooboolab Je reçois un tableau nul après avoir appelé la méthode getProducts après la méthode prepare.

📱 iOS 🙏 help wanted 🤖 android

Commentaire le plus utile

@axelkennedal être passif et agressif avec les personnes qui passent volontairement leur temps précieux à essayer de vous aider ne vous fera pas avancer.

@JJMoon @dooboolab merci pour l'excellent travail

Tous les 34 commentaires

@ companytest1206 Cela ne devrait pas arriver. Pourriez-vous s'il vous plaît partager plus d'informations? Tels que vos codes, le statut de vos produits, le système d'exploitation, les appareils, etc. Pour la configuration des produits dans l'application, veuillez consulter le blog .

Voici mon code ..

async componentDidMount () {
essayez {
attendre RNIap.prepare ();
produits const = attendre RNIap.getProducts (itemSkus);
console.log ('Produits', produits);
}
attraper (err) {
console.warn (err.code, err.message);
}
this.fetchData ();

}

Le statut de mon application est en mode alpha. Utilisation de nexus 6 pour le débogage.

@ companytest1206 Votre code semble correct. Qu'en est-il de la configuration de votre produit en playstore ou itunesconnect ? Veuillez suivre le readme et vérifier tout ce que j'ai publié ici .

J'ai le même problème.

J'ai le même problème mais j'obtiens un tableau vide (pas un tableau nul, quoi que cela signifie). J'ai posté à ce sujet ici .

@systemride @sanilcgs Pourriez-vous s'il vous plaît partager les plates-formes avec getProducts ?

J'ai des problèmes avec cela sur Android 7.0 (fonctionnant sur un LG G6), en développement sur MacOS 10.13.4 @dooboolab

J'ai créé mon application à l'aide du package create-react-native-app . Pour intégrer l'achat intégré, j'ai détaché mon application. Après cela, j'ai intégré react-native-iap dans mon application. Pour moi, le problème se produit à la fois sous iOS et Android. J'utilise Android Studio 3.0.1 et Xcode 9.3. @dooboolab

Selon ce README d'une autre bibliothèque, il devrait être possible d'obtenir les produits disponibles lors de l'exécution dans un environnement de débogage (pas une version Alpha / Beta), est-ce correct? (Je pense que cela devrait être la même chose pour cette bibliothèque, car cela dépend probablement de la façon dont Google gère l'IAP).

Une autre question connexe; les SKU doivent-ils être précédés du nom du package? En d'autres termes; "unlock_premium" ou "com.kimer.unlock_premium" est-il correct dans mon code lorsque l'ID que j'ai spécifié dans la console Google Play est "unlock_premium" ?

@axelkennedal Les SKUS n'ont pas de format, sont totalement personnalisables. En quelques mots: "unlock_premium" ou "com.kimer.unlock_premium" sont corrects.

Je comprends que vous pouvez nommer un identifiant de produit comme vous le souhaitez, mais ce que j'ai demandé, c'est ce qui doit figurer dans mon code si j'ai choisi l'identifiant "unlock_premium" dans la console Google Play (pas si je suis "autorisé" à le préfixer aux deux Google Play Console et dans mon code). Vous dites que le choix de l'ID "unlock_premium" dans la console Google Play devrait fonctionner avec "unlock_premium" et "com.kimer.unlock_premium", n'est-ce pas? Je pense que cela doit être indiqué quelque part dans le README, parce que c'est déroutant.

MISE À JOUR

Cela fonctionne maintenant pour moi 😄! J'ai essayé plusieurs choses mais je ne sais pas quelle était la clé pour que cela fonctionne C'est de toute façon ce que j'ai fait:

  1. Réinstallé le package
  2. J'ai changé mon relevé d'importation de import InAppPurchase from "react-native-iap;" to "import * as InAppPurchase from 'react-native-iap';"
  3. J'ai changé mon SKU dans le code de "com.kimer.unlock_premium" à "unlock_premium"

@axelkennedal, vous devez utiliser n'importe quel nom, mais vous devez utiliser sur Google Play Console> votre application> Google Play Store> dans les produits d'application. Et le MÊME nom que vous devez utiliser sur le code source.

@dooboolab Lorsque j'essaie d'exécuter RNIap.buyProduct (' * ') avec mon identifiant de produit, j'ai reçu le message d'erreur Cet article n'est pas disponible . En fait, mon produit géré est à l'état actif. Quel sera le problème? Je peux lister les détails du produit en utilisant RNIap.getProducts (itemSkus). Dois-je ajouter la clé de licence dans mon application ??

@sanilcgs pouvez-vous me dire sur quelle plate-forme vous êtes confronté à une erreur?

@dooboolab Je suis confronté au problème dans la plate-forme Android et en développement sur MacOS High Sierra (10.13.4)

@sanilcgs utilisez-vous notre nouveau module qui est «0.3.23»? Un problème similaire peut également être trouvé ici. https://github.com/dooboolab/react-native-iap/issues/142

@dooboolab Oui, j'utilise '0.3.23'. Mon problème est maintenant avec RNIap.buyProduct (' * ') .

@sanilcgs J'ai publié des informations d'aide pour cela dans le numéro ci-dessus. Je vais coller ici à nouveau. Veuillez vérifier ci-dessous.

         Do's

1) Créez un apk de signe pour votre application.
2) Téléchargez votre apk sur Google Play Store.
3) Créez un produit pour votre application.
4) attendez 6 à 12 heures pour la mise à jour de l'article en magasin.
5) Accordez des autorisations de facturation dans Manifest.xml

           Don't

1) N'utilisez pas d'émulateur pour tester, il ne prend pas en charge les services de facturation.
2) N'utilisez pas d'apk non signé pour les services de facturation.

En savoir plus: http://www.androidhub4you.com/2013/03/how-to-inegrate-in-app-purchase-billing.html#ixzz5DqRctVJp

@dooboolab Comme je l'ai déjà dit, mon application n'est pas mise en production. Maintenant, je n'ai publié que ma version alpha. Alors, puis-je tester ce RNIap.buyProduct (' * * ') ** avec ma version alpha ou dois-je libérer ma production pour tester l'achat ???

@sanilcgs Si vous lisez attentivement ci-dessus, sachez que vous n'avez pas besoin de publier apk en production. Juste alpha ou bêta, c'est bien mais votre apk doit être signé comme expliqué. Vérifiez ci-dessus une fois de plus et voyez ce que vous manquez en premier.

@dooboolab Les

@systemride Tout PR est apprécié!

@axelkennedal a fait toutes ces choses, je reçois toujours un tableau vide sur iOS. Des idées?
btw ... Je teste toujours sur un simulateur. Est-il nécessaire de le tester sur un appareil iOS réel?

@axelkennedal getProducts() dans iOS fonctionne bien sur le simulateur. Les actions d'achat doivent être testées sur l'appareil réel avec un compte Apple sandbox.
Vous n'avez peut-être pas terminé parfaitement les paramètres du produit App Store.

@JJMoon si vous avez lu mes commentaires, vous auriez su que je suis sur Android, pas iOS.

@axelkennedal être passif et agressif avec les personnes qui passent volontairement leur temps précieux à essayer de vous aider ne vous fera pas avancer.

@JJMoon @dooboolab merci pour l'excellent travail

@raduflp lol de quoi tu parles? Je viens de souligner que nous sommes sur des plateformes différentes

@raduflp Merci pour votre aimable réponse et votre sollicitude. Je ne pense pas que @axelkennedal voulait être agressif. Il est trop débordé par l'utilisation de react-native-iap . J'ai l'impression que ce problème peut être résolu, je vais donc le fermer. De plus, tout PR est apprécié et peut aider les nouvelles générations.

Essayez-le. Travaille pour moi:

"Vous devez en outre ajouter votre compte de test à une autre liste spéciale de comptes" Comptes Gmail avec accès de test ", vous pouvez le trouver sur le paramètre de compte de jeu (pas de projet!). Sur la page où vous pouvez voir une liste de vos projets, accédez à paramètres, puis sur la page «Détails du compte» (faites défiler vers le bas, c'est presque en bas de page), vous trouverez la liste «Comptes Gmail avec accès test».

Configurer les licences d'application
Pour configurer les licences d'application, commencez par ajouter votre liste d'adresses Gmail de testeur dans Play Console.

Accédez à votre Play Console.
Sélectionnez Paramètres Paramètres> Détails du compte.
Sous "Test de licence", ajoutez les adresses Gmail de vos testeurs.
En haut de l'écran, sélectionnez Enregistrer.

J'ai intégré le react-native-iap et téléchargé mon apk signé vers la version bêta sur le Play Store et également ajouté un plan d'abonnement. J'essaie d'obtenir la liste des abonnements par ID d'abonnement en mode débogage qui renvoie toujours un tableau vide. Puis-je réellement tester l'abonnement en mode débogage?

@ShridharCodewave vous utilisez un appareil réel ou un simulateur?

@NarekChang J'utilise un appareil réel et maintenant je reçois les abonnements.

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