react-native-iap 请求购买无法正常工作

问题描述 投票:0回答:1

我要在react-native应用程序中为ios进行应用内购买付款。

这是我的代码。

const items = Platform.select({
  ios: ["item_25", "item_55", "item_155"],
  android: [""],
})
  const {
    connected,
    subscriptions, //returns subscriptions for this app.
    getSubscriptions, //Gets available subsctiptions for this app.
    getProducts,
    products,
    currentPurchase, //current purchase for the tranasction
    finishTransaction,
    purchaseHistory, //return the purchase history of the user on the device (sandbox user in dev)
    getPurchaseHistory, //gets users purchase history
    requestPurchase
  } = useIAP();

  const handleGetProducts = async () => {
    setGetPlaning(true);
    try {
      await getProducts({ skus: items });
    } catch (error) {
      errorLog({ message: "handleGetProducts", error });
    }
  };

  useEffect(() => {
    handleGetProducts();
  }, [connected]);

  const handlePurchase = async (productId) => {
    setLoading(true);
    try {
      await requestPurchase({
        sku: productId,
      });
      setLoading(false);
    } catch (error) {
      setLoading(false);
      if (error instanceof PurchaseError) {
        console.error({ message: `[${error.code}]: ${error.message}`, error });
      } else {
        console.error({ message: "handlePurchase", error });
      }
    }
  };
<Button
  color={colors.black}
  size="large"
  loading={loading}
  style={{ marginTop: theme.SIZES.BASE }}
  onPress={() => handlePurchase('item_25')}>
    <Text color={colors.white} size={20} bold>Purchase</Text>
</Button>

以上代码显示付款模式

Modal

但是点击购买按钮后,该模式关闭并再次打开。

我不知道这是什么原因。

有人帮我解决这个问题吗?

谢谢。

ios react-native in-app-purchase mobile-development react-native-iap
1个回答
0
投票

使用物理设备而不是模拟器进行尝试。

© www.soinside.com 2019 - 2024. All rights reserved.