React-native-iap: purchaseUpdatedListener dipanggil beberapa kali, terkadang 20+ kali

Dibuat pada 8 Sep 2020  ·  12Komentar  ·  Sumber: dooboolab/react-native-iap

Versi react-native-IAP

"react-native-iap": "^ 4.5.3"

Versi react-native

"react-native": "0.62.0"

Platform yang Anda hadapi kesalahan (IOS atau Android atau keduanya?)

iOS (belum diuji di android)

Perilaku yang diharapkan

purchaseUpdatedListener sebaiknya hanya dipanggil sebanyak komponen telah dipasang

Perilaku sebenarnya

purchaseUpdatedListener dipanggil 20 kali dalam beberapa detik, sering kali ketika saya membuka aplikasi, aplikasi dipanggil beberapa kali

Lingkungan yang diuji (Emulator? Perangkat Nyata?)

Perangkat nyata, sandbox env

Langkah-langkah untuk mereproduksi perilaku

Ikuti instruksi sesuai halaman utama

Saat ini saya memiliki purchaseUpdatedListener yang dilampirkan ke listener di componentDidMount (), terkadang saat saya membuka aplikasi, aplikasi akan diaktifkan beberapa kali. Ini terjadi pada txns yang saya sebut finishTransaction di. Apakah ada yang melihat sesuatu seperti ini?

🕵️‍♂️ need more investigation 🙏 help wanted 🤖 android

Komentar yang paling membantu

Sama disini. Di setiap acara perpanjangan otomatis, saya menerima langganan yang dapat diperbarui secara otomatis dan beberapa detik kemudian saya menerima sebagian besar 135 objek pembelian dari purchaseUpdatedListener . Saya merasa ini adalah keseluruhan riwayat pembelian saya. Saya mencoba memanggil finishTransaction dan finishTransactionIOS untuk menggunakan transaksi tetapi tidak mengubah apa pun.

Pada acara perpanjangan otomatis berikutnya, sebagian besar transaksi meningkat (136, 137, ...). Transaksi tersebut hanyalah langganan perpanjangan otomatis saya. Tidak ada produk konsumsi / non-konsumsi saya yang muncul di daftar.

Semua 12 komentar

Sama untuk saya, tetapi saya menyebut aliran pembelian dalam tindakan

const { productId } = args
purchaseUpdatedListener(async (purchase) => {
    if (!purchase.transactionReceipt) {
        Alert("Error")
    }
    ...
})
purchaseErrorListener(error => {
    ...
})
await requestPurchase(productId, false)

Saya memiliki 4 produk uji dan saya menerima purchaseUpdatedListener 4 kali, tetapi pembelian hanya diminta untuk salah satunya

Mencoba menyelesaikan transaksi itu tetapi masih banyak panggilan

Apakah item tersebut diperpanjang otomatis? Saya pikir apa yang terjadi adalah karena ada di kotak pasir, periode perpanjangan hanya 5 menit untuk langganan bulanan saya. Jadi apel akan mengirim acara pada setiap pembaruan, jadi jika aplikasi ditutup selama 10 menit, itu adalah 2 pemberitahuan yang akan saya dapatkan ketika aplikasi terbuka.

Adakah yang bisa mengonfirmasi bahwa ini adalah perilaku yang diharapkan untuk mendapatkan pemberitahuan tentang perpanjangan otomatis dan bukan hanya pada pembelian?

Pembelian saya hanya sekali habis

Sama disini. Di setiap acara perpanjangan otomatis, saya menerima langganan yang dapat diperbarui secara otomatis dan beberapa detik kemudian saya menerima sebagian besar 135 objek pembelian dari purchaseUpdatedListener . Saya merasa ini adalah keseluruhan riwayat pembelian saya. Saya mencoba memanggil finishTransaction dan finishTransactionIOS untuk menggunakan transaksi tetapi tidak mengubah apa pun.

Pada acara perpanjangan otomatis berikutnya, sebagian besar transaksi meningkat (136, 137, ...). Transaksi tersebut hanyalah langganan perpanjangan otomatis saya. Tidak ada produk konsumsi / non-konsumsi saya yang muncul di daftar.

Sama di sini, saya mengonfirmasi itu memanggil pendengar dengan jumlah yang sama dengan jumlah pembelian dalam riwayat pembelian.

Saya punya masalah. Itu terjadi hanya ketika langganan diaktifkan.

Saya memiliki pengalaman serupa dengan iOS 14.

Aplikasi saya menjual langganan perpanjangan otomatis.
Saya rasa masalah ini telah terjadi sejak saya membeli langganan yang sama lagi.

Tautan berikut mungkin relevan dengan masalah ini.
https://developer.apple.com/forums/thread/659529

lihat posting ini
masalahnya adalah finishTransaction dan finishTransactionIOS tidak berfungsi untuk iOS sekarang, ini selalu kembali tidak terdefinisi, sehingga Anda tidak dapat menyelesaikan transaksi dan mereka terjebak dalam transaksi yang tertunda. Ketika Anda membuka aplikasi Anda, SEMUA transaksi yang tertunda akan ditangani di purchaseUpdatedListener ... jadi itu sebabnya Anda mendapat 20+ kali.
: (((seseorang memperbaiki ini plsssssss

lihat posting ini
masalahnya adalah finishTransaction dan finishTransactionIOS tidak berfungsi untuk iOS sekarang, ini selalu kembali tidak terdefinisi, sehingga Anda tidak dapat menyelesaikan transaksi dan mereka terjebak dalam transaksi yang tertunda. Ketika Anda membuka aplikasi Anda, SEMUA transaksi yang tertunda akan ditangani di purchaseUpdatedListener ... jadi itu sebabnya Anda mendapat 20+ kali.
: (((seseorang memperbaiki ini plsssssss

https://github.com/dooboolab/react-native-iap/issues/1160#issuecomment -716525603
Saya telah memposting balasan di sini dan sebenarnya diharapkan finishTransaction tidak memenuhi janji.
Kita perlu memverifikasi bahwa itu benar-benar menyelesaikan transaksi dengan meletakkan log di sisi iOS dan memeriksa apakah itu memasukkan pernyataan if .

Saya melihat hal yang sama seperti yang disebutkan di sini: https://github.com/dooboolab/react-native-iap/issues/1172#issuecomment -721676878.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat