react-native-iap purchaseUpdatedListener with Android auto-renew subscription

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

我目前正在通过 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}
    />
  )
}
android in-app-purchase react-native-iap
© www.soinside.com 2019 - 2024. All rights reserved.