4.3.0
0.61.5
iOS 13 dan yang lebih baru
Ini harus pergi untuk membeli atau mengembalikan produk tetapi mendapatkan kesalahan.
Kode:
mencoba{
const pembelian = menunggu RNIap.getAvailablePurchases ();
if (pembelian && pembelian.length> 0) {
this.setState ({isLoading: false});
Alert.alert ('Pulihkan Berhasil');
}lain{
this.requestPurchase (itemSku);
}
} tangkap (err) {
Alert.alert (err.message);
}
Setelah ini akan muncul error "E_UNKNOWN Tidak dapat terhubung ke iTunes Store" sementara pengguna tidak mengklik opsi apa pun.
Saya menguji keduanya dan perilakunya sama.
Kami menemukan bahwa produk pembelian dalam aplikasi Anda menunjukkan satu atau beberapa bug saat ditinjau di iPad yang menjalankan iOS 13.2.3 pada Wi-Fi.
Secara khusus, pesan kesalahan ditampilkan saat kami mencoba untuk membeli.
Langkah selanjutnya
Saat memvalidasi tanda terima di server Anda, server Anda harus dapat menangani aplikasi bertanda tangan produksi yang mendapatkan tanda terima dari lingkungan pengujian Apple. Pendekatan yang disarankan adalah agar server produksi Anda selalu memvalidasi tanda terima terhadap App Store produksi terlebih dahulu. Jika validasi gagal dengan kode kesalahan "Tanda terima kotak pasir yang digunakan dalam produksi", Anda harus memvalidasi dengan lingkungan pengujian.
Sumber daya
Anda dapat mempelajari lebih lanjut tentang menguji produk pembelian dalam aplikasi di lingkungan kotak pasir pengembangan Anda di Bantuan Pengembang App Store Connect.
Untuk informasi lebih lanjut tentang validasi tanda terima, silakan lihat Url apa yang harus saya gunakan untuk memverifikasi tanda terima? di FAQ Pembelian Dalam Aplikasi.
Pelajari cara membuat kode validasi tanda terima di Bantuan Pengembang App Store Connect.
Silakan lihat tangkapan layar terlampir untuk detailnya.
masalah yang sama ...
sama, ada yang memecahkan?
Saya menyelesaikan masalah ini
Saya menyelesaikan masalah ini
Bagaimana, bisa berbagi?
Tidak ada yang benar-benar harus diselesaikan di sini. Ini adalah pemberitahuan yang dibatalkan Pengguna.
Ubah pendengar kesalahan Anda untuk memeriksa kode itu (E_USER_CANCELLED) dan jika dikembalikan, jangan aktifkan langganan atau sediakan layanan lalu biarkan gagal diam-diam.
Jika Anda belum membuat perubahan status apa pun dalam panggilan pembelian, cukup tambahkan ini:
if (error.code === "E_USER_CANCELLED") { return; }
sebagai baris pertama blok panggilan pendengar. Itu hanya akan kembali ke layar tempat mereka berada. Jika Anda perlu membuat perubahan pada status terlebih dahulu, lalu alih-alih kembali; gunakan sesuatu seperti ini
if (error.code === "E_USER_CANCELLED") {
this.setState({ subscription: undefined, userCancelled: true, whateverElse: 'completed' }, () => { return; });
+1 - juga mengalami masalah ini.
Tidak ada yang benar-benar harus diselesaikan di sini. Ini adalah pemberitahuan yang dibatalkan Pengguna.
Ubah pendengar kesalahan Anda untuk memeriksa kode itu (E_USER_CANCELLED) dan jika dikembalikan, jangan aktifkan langganan atau sediakan layanan lalu biarkan gagal diam-diam.
Itu bukan kode di postingan aslinya.
Halo, sepertinya tidak ada aktivitas terkait masalah ini akhir-akhir ini. Apakah masalah sudah diperbaiki, atau masih membutuhkan perhatian masyarakat? Masalah ini mungkin ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Anda juga dapat memberi label masalah ini sebagai "Untuk Diskusi" atau "Edisi pertama yang baik" dan saya akan membiarkannya terbuka. Terima kasih atas kontribusi Anda.
Pengguna sandbox masalah ini hanya menjalankan aplikasi Testflight. Saya menguji aplikasi saya di testfligt. bekerja.
Halo, sepertinya tidak ada aktivitas terkait masalah ini akhir-akhir ini. Apakah masalah sudah diperbaiki, atau masih membutuhkan perhatian masyarakat? Masalah ini mungkin ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Anda juga dapat memberi label masalah ini sebagai "Untuk Diskusi" atau "Edisi pertama yang baik" dan saya akan membiarkannya terbuka. Terima kasih atas kontribusi Anda.
Kami melihat kesalahan ini secara konsisten dalam penerbangan terbang tetapi kadang-kadang pada produksi. Ada yang menemukan solusi?
Halo, sepertinya tidak ada aktivitas terkait masalah ini akhir-akhir ini. Apakah masalah sudah diperbaiki, atau masih membutuhkan perhatian masyarakat? Masalah ini mungkin ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Anda juga dapat memberi label masalah ini sebagai "Untuk Diskusi" atau "Edisi pertama yang baik" dan saya akan membiarkannya terbuka. Terima kasih atas kontribusi Anda.