我要在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>
以上代码显示付款模式
但是点击购买按钮后,该模式关闭并再次打开。
我不知道这是什么原因。
有人帮我解决这个问题吗?
谢谢。
使用物理设备而不是模拟器进行尝试。