"react-native-iap": "^ 4.5.3"
"react-native": "0.62.0"
iOS(Androidでテスト済み)
PurchaseUpdatedListenerは、コンポーネントがマウントされた回数だけ呼び出す必要があります
PurchaseUpdatedListenerは、数秒で20回呼び出されました。アプリを開くと、何度も呼び出されます。
実際のデバイス、サンドボックス環境
メインページの指示に従ってください
現在、componentDidMount()のリスナーにpurchaseUpdatedListenerがアタッチされていますが、アプリを開くと何度も起動することがあります。 これは、finishTransactionを呼び出したtxnsで発生しています。 誰かがこのようなものを見ていますか?
私も同じですが、購入フローを実際に呼び出します
const { productId } = args
purchaseUpdatedListener(async (purchase) => {
if (!purchase.transactionReceipt) {
Alert("Error")
}
...
})
purchaseErrorListener(error => {
...
})
await requestPurchase(productId, false)
4つのテスト製品があり、 purchaseUpdatedListener
4回受け取りましたが、購入が要求されたのはそのうちの1つだけでした
それらのトランザクションを終了しようとしましたが、それでも複数の呼び出し
アイテムは自動更新されますか? サンドボックスにあるので、毎月のサブスクリプションの更新期間はわずか5分だと思います。 つまり、アップルは更新のたびにイベントを送信するので、アプリが10分間閉じられた場合、アプリが開いたときに2つの通知が届きます。
購入時だけでなく、自動更新時に通知を受け取るためにこれが予想される動作であることを誰かが確認できますか?
私の購入は1回限りの消耗品です
こっちも一緒。 すべての自動更新イベントで、実際の自動更新可能なサブスクリプションを受け取り、数秒後、 purchaseUpdatedListener
から135個の購入オブジェクトの大きなチャンクを受け取ります。 これが私の購入履歴全体だと思います。 finishTransaction
とfinishTransactionIOS
両方を呼び出してトランザクションを消費しようとしましたが、何も変更されません。
次の自動更新イベントでは、トランザクションのその大きなチャンクが増加しています(136、137、...)。 トランザクションは私の自動更新のサブです。 私の消耗品/非消耗品はどれもリストに表示されません。
ここでも同じですが、購入履歴の購入回数と同じ回数だけリスナーを呼び出すことを確認しました。
問題があります。 サブスクリプションが有効になっている場合にのみ発生します。
私はiOS14でも同様の経験をしました。
私のアプリは自動更新サブスクリプションを販売しています。
同じサブスクリプションを再度購入してから、この問題が発生したと思います。
次のリンクがこの問題に関連している可能性があります。
https://developer.apple.com/forums/thread/659529
この投稿を見てください
問題は、finishTransactionとfinishTransactionIOSがiOSで機能しないことです。これらは常に未定義を返すため、トランザクションを終了できず、保留中のトランザクションでスタックします。 アプリを開くと、保留中のすべてのトランザクションがpurchaseUpdatedListenerで処理されます...そのため、20回以上取得しました。
:(((誰かがこのplsssssssを修正します
この投稿を見てください
問題は、finishTransactionとfinishTransactionIOSがiOSで機能しないことです。これらは常に未定義を返すため、トランザクションを終了できず、保留中のトランザクションでスタックします。 アプリを開くと、保留中のすべてのトランザクションがpurchaseUpdatedListenerで処理されます...そのため、20回以上取得しました。
:(((誰かがこのplsssssssを修正します
https://github.com/dooboolab/react-native-iap/issues/1160#issuecomment -716525603
ここに返信を投稿しましたが、実際にはfinishTransaction
はpromiseを解決しないと予想されます。
ログをiOS
側に配置して実際にトランザクションが終了することを確認し、 if
ステートメントに入力されるかどうかを確認する必要があります。
最も参考になるコメント
こっちも一緒。 すべての自動更新イベントで、実際の自動更新可能なサブスクリプションを受け取り、数秒後、
purchaseUpdatedListener
から135個の購入オブジェクトの大きなチャンクを受け取ります。 これが私の購入履歴全体だと思います。finishTransaction
とfinishTransactionIOS
両方を呼び出してトランザクションを消費しようとしましたが、何も変更されません。次の自動更新イベントでは、トランザクションのその大きなチャンクが増加しています(136、137、...)。 トランザクションは私の自動更新のサブです。 私の消耗品/非消耗品はどれもリストに表示されません。