我目前正在通过 react-native-iap 使用 React Native 实施应用内购买
我在iOS中使用purchaseUpdatedListener监听订阅更新时,正常。但是我在安卓里只能听第一次订阅购买,以后的续订就听不到了
无论如何我可以在 Android 中使用 react-native-iap 来做到这一点吗?
我的代码:
import React from 'react'
import {Button} from 'react-native'
import {
finishTransaction,
getSubscriptions,
purchaseErrorListener,
purchaseUpdatedListener,
requestSubscription,
} from 'react-native-iap';
const SubscribeScreen = () => {
useEffect(() => {
let iapUpdatedListener, iapErrorListener;
initConnection().then(() => {
iapUpdatedListener = purchaseUpdatedListener((purchase) => {
console.log('Ding ding: ', purchase);
finishTransaction({
purchase,
});
});
iapErrorListener = purchaseErrorListener((error) => {
console.log('iap error: ', error);
});
})
return () => {
iapUpdatedListener?.remove();
iapErrorListener?.remove();
};
}, []);
const onBuySubscription = async () => {
const subs = await getSubscriptions({
skus: [<SUBSCRIPTION_PRODUCT_ID>]
})
const { productId, subscriptionOfferDetails } = subs[0]
const firstOffer = subscriptionOfferDetails[0];
const { offerToken } = firstOffer;
await requestSubscription({
sku: productId,
...(offerToken && {
subscriptionOffers: [
{
sku: productId,
offerToken,
},
],
}),
});
}
return (
<Button
title="Purchase subscription"
onPress={onBuySubscription}
/>
)
}