getting error message as ERROR Error preparing IAP: "skus" is required
this is my code i am using react native expo import React, { useEffect, useState } from "react"; import { View, Text, Button } from "react-native"; import * as RNIap from "react-native-iap"; const InAppPurchases = () => { const [products, setProducts] = useState([]); const [purchasedProducts, setPurchasedProducts] = useState([]);
useEffect(() => { const initIAP = async () => { try { const productIds = ["premium_01"]; // Replace with your actual product IDs await RNIap.initConnection(); const products = await RNIap.getProducts(productIds); setProducts(products); } catch (error) { console.error("Error preparing IAP:", error); } };
It seems that the error is related to the fact that, since version 10.0.0 of react-native-iap, it is necessary to pass the product identifiers under the skus key in the getProducts() method. Here is the correction to apply to your code:
const fetchedProducts = await RNIap.getProducts({ skus: productIds });
This should resolve the error. Also, make sure that the product identifiers in productIds match exactly with those configured in Google Play Console or App Store Connect.
The code I am using is
useEffect(() => { const initIap = async () => { try { await RNIap.initConnection(); console.log(itemSkus); const productList = await RNIap.getProducts(itemSkus); console.log(productList); setProducts(productList); } catch (err) { console.warn(err); } }; initIap();
The log says
(NOBRIDGE) WARN "skus" is required.
I am already passing the SKUs array.
I’m closing all issues reported in versions below 14, as the library now supports the new architecture with NitroModules and has been completely revamped.