"реагировать-native-iap": "^ 4.5.3"
"react-native": "0.62.0"
iOS (еще не тестировал на Android)
buyUpdatedListener должен вызываться столько раз, сколько раз был смонтирован компонент
buyUpdatedListener вызывался 20 раз за пару секунд, каждый раз, когда я открываю приложение, он вызывается несколько раз
Настоящее устройство, песочница env
Следуйте инструкциям на главной странице
В настоящее время у меня есть PurchaseUpdatedListener, подключенный к слушателю в componentDidMount (), иногда, когда я открываю свое приложение, оно запускается несколько раз. Это происходит в txns, для которого я назвал finishTransaction. Кто-нибудь видит что-то подобное?
То же самое для меня, но я называю поток покупок в действии
const { productId } = args
purchaseUpdatedListener(async (purchase) => {
if (!purchase.transactionReceipt) {
Alert("Error")
}
...
})
purchaseErrorListener(error => {
...
})
await requestPurchase(productId, false)
У меня есть 4 тестовых продукта, и я получаю purchaseUpdatedListener
4 раза, но покупка была запрошена только для одного из них
Пытался завершить эти транзакции, но все еще несколько звонков
Товар обновляется автоматически? Я думаю, что происходит потому, что в песочнице период продления составляет всего 5 минут для моей ежемесячной подписки. Итак, яблоко будет отправлять событие при каждом обновлении, поэтому, если приложение было закрыто на 10 минут, это два уведомления, которые я получу, когда приложение откроется.
Может ли кто-нибудь подтвердить, что это ожидаемое поведение для получения уведомлений об автоматическом продлении, а не только о покупке?
Моя покупка одноразовая
Тоже самое. На каждом событии автоматического продления я получаю фактическую автоматически возобновляемую подписку, а через несколько секунд я получаю большой кусок из 135 объектов покупки из purchaseUpdatedListener
. Я чувствую, что это вся моя история покупок. Я попытался вызвать как finishTransaction
и finishTransactionIOS
чтобы использовать транзакции, но это ничего не меняет.
При следующем событии автоматического продления этот большой кусок транзакций увеличивается (136, 137, ...). Транзакции - это только мои автоматически продлеваемые подписки. Ни один из моих расходных / нерасходуемых продуктов не отображается в списке.
То же самое, я подтверждаю, что он вызывает слушателя столько раз, сколько покупок в истории покупок.
У меня проблема. Это происходит только при включенной подписке.
У меня был аналогичный опыт с iOS 14.
В моем приложении продается подписка с автоматическим продлением.
Я думаю, что эта проблема возникла после того, как я снова приобрел ту же подписку.
Следующая ссылка может иметь отношение к этой проблеме.
https://developer.apple.com/forums/thread/659529
посмотрите этот пост
проблема в том, что finishTransaction и finishTransactionIOS сейчас не работают для iOS, они всегда возвращают undefined, так что вы не можете завершить транзакцию, и они застряли в ожидающей транзакции. Когда вы открываете свое приложение, ВСЕ незавершенные транзакции будут обрабатываться в PurchaseUpdatedListener ... поэтому вы получили 20+ раз.
: (((кто-нибудь исправит это пожалуйста
посмотрите этот пост
проблема в том, что finishTransaction и finishTransactionIOS сейчас не работают для iOS, они всегда возвращают undefined, так что вы не можете завершить транзакцию, и они застряли в ожидающей транзакции. Когда вы открываете свое приложение, ВСЕ незавершенные транзакции будут обрабатываться в PurchaseUpdatedListener ... поэтому вы получили 20+ раз.
: (((кто-нибудь исправит это пожалуйста
https://github.com/dooboolab/react-native-iap/issues/1160#issuecomment -716525603
Я отправил здесь ответ, и на самом деле ожидается, что finishTransaction
не разрешает обещание.
Нам нужно убедиться, что он действительно завершает транзакцию, поместив log на стороне iOS
и проверив, входит ли он в оператор if
.
Я вижу то же, что и здесь: https://github.com/dooboolab/react-native-iap/issues/1172#issuecomment -721676878.
Самый полезный комментарий
Тоже самое. На каждом событии автоматического продления я получаю фактическую автоматически возобновляемую подписку, а через несколько секунд я получаю большой кусок из 135 объектов покупки из
purchaseUpdatedListener
. Я чувствую, что это вся моя история покупок. Я попытался вызвать какfinishTransaction
иfinishTransactionIOS
чтобы использовать транзакции, но это ничего не меняет.При следующем событии автоматического продления этот большой кусок транзакций увеличивается (136, 137, ...). Транзакции - это только мои автоматически продлеваемые подписки. Ни один из моих расходных / нерасходуемых продуктов не отображается в списке.