RNIap.getProducts () tampaknya rusak di versi terbaru React Native, hanya mengembalikan kesalahan yang tidak diketahui.
4.6.1
0.63.0
iOS
produk yang akan diambil.
kesalahan tak dikenal dikembalikan
Simulator iOS
Panggil saja RNIap.getProducts () atau RNIap.getSubscriptions ().
Saya mengalami ini juga dengan simulator iOS yang menjalankan iOS 14.0 tetapi tidak mengalami masalah dengan versi simulator lainnya (khususnya, iOS 13.5).
Ini tampaknya menjadi masalah di pihak Apple dengan simulator iOS 14.0: https://developer.apple.com/forums/thread/125164
Menemukan tautan itu melalui: https://github.com/dooboolab/react-native-iap/issues/1091
Terima kasih @joeyscarim. Saya sekarang telah menghubungi Apple dan menunggu umpan balik dari mereka.
@rossbulat masalah yang sama di iOS 14 ...
react-native-iap - v4.6.1
Xcode - v12
YellowBox.js:71 Possible Unhandled Promise Rejection (id: 0):
Error: UNKNOWN_ERROR
Error: UNKNOWN_ERROR
at Object.fn [as getItems] (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:2165:36)
at http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:179261:33
at step (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178999:21)
at Object.next (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178929:16)
at http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178901:69
at tryCallTwo (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:3277:7)
at doResolve (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:3441:15)
at new Promise (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:3300:5)
at __awaiter (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:178880:12)
at ios (http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false:179258:16)
Halo semuanya,
Kami juga mengalami ini. Setelah mengupgrade ke v4.6.1 hampir setiap kali kita mengalami "error yang tidak diketahui" juga.
Hai teman-teman,
Saya rasa saya menemukan solusi untuk masalah kami. Anda harus yakin bahwa initConnection
sedang berjalan.
Dalam contoh saya, saya hanya memasukkan requestPurchase/requestSubscription
di dalam initConnection
. Sebelum bekerja tanpa itu, sekarang harus dimiliki.
@Hellhiem Saya memiliki initConnection dan masih menerima kesalahan.
Menjalankan fungsi berikut memverifikasi bahwa kesalahan masih ada dengan initConnection ()
const getProducts = async () => {
try {
await RNIap.initConnection();
const products: RNIap.Product[] = await RNIap.getProducts(IAP_SKUS);
} catch (err) {
console.log(err);
}
}
@rossbulat apa yang terjadi ketika Anda mencoba ini:
const getProducts = async () => {
return RNIap.initConnection().then(() => {
try {
const products: RNIap.Product[] = RNIap.getProducts(IAP_SKUS);
return products;
} catch (err) {
console.log(err);
}
});
};
Saya membuat hal yang sama tetapi di dalam then
saya menaruh requestPurchase/requestSubscription
@Hellhiem Masih mendapatkan Kesalahan Tidak Diketahui! (ini sama dengan kode saya tetapi menggunakan sintaksis bukannya async / await).
Saya telah melihat API modul asli, fungsi getItems()
tampaknya menjadi titik kegagalan. Apakah mungkin bagi salah satu pengembang inti untuk memverifikasi panggilan API asli ini berfungsi seperti yang diharapkan di iOS 14?
@Hellhiem Saya telah mencoba kode Anda, masih mendapatkan Kesalahan Tidak Dikenal yang sama.
Teknisi Apple sedang menyelidiki kasus ini melalui Asisten Umpan Balik. Saya akan memperbarui utas ini ketika dan ketika kami menentukan apa masalahnya.
Saya mengalami masalah ini pada simulator iOS yang menjalankan iOS 14.0
Masalah yang sama. Simulator IOS 14 dengan xcode 12 tidak dapat mengambil produk dan membuang kesalahan yang tidak diketahui
Masalah yang sama.
Masalah yang sama untuk perangkat nyata selama review apel
Saya memiliki masalah yang sama tetapi dengan fungsi getSubscriptions
Saya melakukan beberapa tes dan, bagi saya, [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers]
kembali kosong ...
masalah yang sama
Memiliki masalah yang sama dengan getSubscriptions di sisi IOS, UNKNOWN_ERROR terlempar, Xcode 12.0, react-native 0.62.2
@ Crossbulat beruntung? Saya juga mengalami masalah yang sama
@ Crossbulat beruntung? Saya juga mengalami masalah yang sama
Apakah Anda menggunakan perangkat atau simulator?
Halo para pengembang, saya telah menyelesaikannya. Saya melakukan hal berikut
PS: Pengujian saya dilakukan di perangkat lokal
Masalahnya hanya ada di iOS 14 Simulator. Perangkat nyata berfungsi.
Apple diam selama seminggu terakhir, tidak ada pembaruan yang dibagikan dengan saya.
Untuk simulator, Anda harus menambahkan file konfigurasi StoreKit ke proyek dan memilihnya di skema Run Anda. Tapi saya mengalami kesalahan ini di perangkat
Masalahnya hanya ada di iOS 14 Simulator. Perangkat nyata berfungsi.
Apple diam selama seminggu terakhir, tidak ada pembaruan yang dibagikan dengan saya.
Mungkin pengujian dalam pembelian aplikasi sekarang dibatasi untuk perangkat nyata, karena saya tidak dapat menemukan opsi untuk menambahkan penguji kotak pasir di simulator iOS
Masalahnya hanya ada di iOS 14 Simulator. Perangkat nyata berfungsi.
Apple diam selama seminggu terakhir, tidak ada pembaruan yang dibagikan dengan saya.
Mungkin pengujian dalam pembelian aplikasi sekarang dibatasi untuk perangkat nyata, karena saya tidak dapat menemukan opsi untuk menambahkan penguji kotak pasir di simulator iOS
Ini dikelola oleh file konfigurasi storekit
saya diselesaikan dengan konfigurasi strorekit.
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711
@ilyasbat Saya mengikuti petunjuk ini, membersihkan folder build dan membangun ulang, tetapi sayangnya masih mendapatkan kesalahan.
saya diselesaikan dengan konfigurasi strorekit.
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711
Menambahkan file konfigurasi storekit, membangun ulang dan sekarang berjalan di simulator IOS 14 dengan xcode 12. Ini bekerja dengan sempurna dan saya benar-benar dapat membeli item di simulator untuk pertama kalinya.
@ilyasbat apakah perbaikan ini aman? Apa yang akan terjadi jika saya mengubah penawaran produk saya di appstore setelah itu, misalnya mengubah harga - apakah penawaran tersebut juga akan diperbarui di aplikasi atau apakah aplikasi akan terjebak dengan konfigurasi storeConfiguration.storekit
?
@ilyasbat apakah perbaikan ini aman? Apa yang akan terjadi jika saya mengubah penawaran produk saya di appstore setelah itu, misalnya mengubah harga - apakah penawaran tersebut juga akan diperbarui di aplikasi atau apakah aplikasi akan terjebak dengan konfigurasi
storeConfiguration.storekit
?
Menemukan artikel yang sangat bagus ini:
https://www.appcoda.com/storekit-testing/
Dari apa yang saya baca, sepertinya file konfigurasi StoreKit hanya untuk debugging / pengujian:
Bidang berikutnya adalah Harga dari pembelian dalam aplikasi. Meskipun ada tingkatan harga di App Store Connect, di sini kami dapat memberikan nilai apa pun yang kami inginkan sebagai teks bebas. Harganya hanya untuk alasan pengujian, tidak akan berlaku untuk pembelian dalam aplikasi yang sebenarnya dan tentu saja, tidak akan ada biaya. Jadi jangan ragu untuk menetapkan harga apa pun yang Anda suka. Untuk pembelian dalam aplikasi khusus yang kami konfigurasikan di sini, nilai 0,99 baik-baik saja. Mata uang harga akan menjadi mata uang yang sesuai dengan lokasi Simulator, atau lokal mana pun yang telah dipilih secara manual (kita akan membicarakannya nanti). Jadi, 0,99 bisa menjadi dolar, euro, yen, dan sebagainya.
Saya tidak yakin apakah ini belum diketahui (saya tidak melihatnya disebutkan di atas): Saya menemukan bahwa saya terus mendapatkan Error: UNKNOWN_ERROR
ketika saya menjalankan npx react-native run-ios
dari terminal, tetapi ketika Saya menjalankan aplikasi dari xcode, pembelian dalam aplikasi (dengan storekit) berfungsi dengan baik.
"react-native": "0.61.4",
"react-native-iap": "^4.6.3",
xcode v12
macos 10.15.7
Oleh karena itu, saat ini, tidak mungkin menggunakan react-native-iap dalam produksi pada perangkat dengan iOS 14? Karena satu-satunya cara untuk memperbaiki [Error: UNKNOWN_ERROR]
adalah dengan menambahkan file Configuration.StoreKit
, tetapi hanya untuk tujuan pengujian, bukan untuk rilis produksi?
Apakah ada yang punya solusi lain?
Saat ini saya menggunakan lib ini untuk pembelian dalam aplikasi dalam produksi, Android dan iOS (jadi ya iOS 14). Saya dapat membuat pengguna berhasil menguji di TestFlight (catatan: mereka tidak dapat menggunakan masuk dengan sidik jari, mereka harus selalu menggunakan ID Apple & kata sandi - yang merupakan kebijakan Apple, bukan cacat dari pustaka ini) dan semuanya berfungsi dalam produksi .
Sudahkah Anda mencoba menguji aplikasi Anda di TestFlight @RobinChailley ?
Saya mendapat 2 perangkat saya yang sebenarnya di IOS 14.1 yang bekerja dengan akun kotak pasir lagi dengan melakukan hal berikut.
Ikuti langkah-langkah untuk membuat konfigurasi StoreKit, pilih di skema Run Anda, lalu buat ke perangkat Anda. Tidak yakin apakah langkah ini diperlukan tetapi ambil beberapa produk. Anda dapat melakukan pembelian pada saat ini tetapi pendengar pembelian akan mengalami error karena transactionId dari pembelian adalah "0".
Selanjutnya hapus pilihan konfigurasi StoreKit dari skema Run dan buat lagi ke perangkat Anda. Kali ini ketika Anda mengambil produk, Anda akan diminta untuk masuk. Untuk beberapa alasan, saya bisa masuk dengan akun kotak pasir saya sekarang. Tidak yakin mengapa tapi mungkin itu menghapus atau mengatur ulang sesuatu.
@ Karltaylor Ya, saya membuat pembelian dalam aplikasi saya muncul saat menguji di TestFlight. Kode saya terlihat seperti ini:
try {
IAP.initConnection()
.then((success) => {
if (!success) return Promise.reject("Failed to connect");
// get products that can be purchased in iap store
// Note: this is necessary for requestPurchase to work!
const productIds = [PRODUCT_ID];
return IAP.getProducts(productIds);
})
.then((prods) => {
// get already-purchased items
return getAvailablePurchases();
})
.then((purchases) => {
// continue...
})
}
Catatan: PRODUCT_ID
cocok dengan teks di kolom "ID Produk" di _appstoreconnect -> App Store -> Manage_
Apa "Status" dari Pembelian Dalam Aplikasi Anda di _appstoreconnect_?
@ Karltaylor Ya, saya membuat pembelian dalam aplikasi saya muncul saat menguji di TestFlight. Kode saya terlihat seperti ini:
try { IAP.initConnection() .then((success) => { if (!success) return Promise.reject("Failed to connect"); // get products that can be purchased in iap store // Note: this is necessary for requestPurchase to work! const productIds = [PRODUCT_ID]; return IAP.getProducts(productIds); }) .then((prods) => { // get already-purchased items return getAvailablePurchases(); }) .then((purchases) => { // continue... }) }
Catatan:
PRODUCT_ID
cocok dengan teks di kolom "ID Produk" di _appstoreconnect -> App Store -> Manage_Apa "Status" dari Pembelian Dalam Aplikasi Anda di _appstoreconnect_?
Maaf @Beamanator Saya menghapus komentar saya untuk menghindari lebih banyak kebingungan karena Ini adalah masalah dengan area lain.
Setelah menambahkan file Configuration.storekit
saya membuatnya bekerja di simulator saya dan di Testflight! 👍
@rossbulat Apakah Anda dapat menemukan solusi untuk masalah ini? Saya mendapatkan masalah di Android dan iOS.
Saya tidak yakin apakah ini belum diketahui (saya tidak melihatnya disebutkan di atas): Saya menemukan bahwa saya terus mendapatkan
Error: UNKNOWN_ERROR
ketika saya menjalankannpx react-native run-ios
dari terminal, tetapi ketika Saya menjalankan aplikasi dari xcode, pembelian dalam aplikasi (dengan storekit) berfungsi dengan baik.
"react-native": "0.61.4",
"react-native-iap": "^4.6.3",
xcode v12
macos 10.15.7
Tidak masalah dengan saya
"react-native": "0.63.2",
"react-native-iap": "^5.1.3",
xcode v12
macos 11.0.1
itu bekerja seperti ini dalam mode debug, tetapi tidak dalam testflight. Apakah itu memiliki konfigurasi yang berbeda?
Saya masih mendapatkan "Kesalahan Tidak Dikenal" yang sama di iOS.
"react-native": "^0.63.4",
"react-native-iap": "^5.2.0",
Xcode 12.2
Ada ide untuk mengatasi masalah ini tanpa menggunakan konfigurasi StoreKit?
Saya masih mendapatkan "Kesalahan Tidak Dikenal" yang sama di iOS.
"react-native": "^0.63.4", "react-native-iap": "^5.2.0",
Xcode 12.2
Ada ide untuk mengatasi masalah ini tanpa menggunakan konfigurasi StoreKit?
Versi simulator apa yang Anda gunakan?
Masalah yang sama dengan iOS 14.2 dan berfungsi dengan baik dengan iOS 13.5
Sama seperti saya ketika menjalankan simulator iOS 14.2 dan berfungsi dengan baik dengan simulator iOS 13.x.
Dan saya memiliki masalah yang sama dengan tim validasi Apple, saya pikir mereka menjalankan aplikasi saya di simulator ...
Kami menemukan bahwa produk pembelian dalam aplikasi Anda menunjukkan satu atau beberapa bug saat ditinjau di iPad yang menjalankan iOS 14.0.1 pada Wi-Fi.
- Meluncurkan aplikasi
- Ketuk Pengaturan, kiri atas
- Mengetuk Hapus iklan
- Aplikasi mulai memuat tanpa batas
Seseorang di sini telah mencoba memublikasikan pembelian dalam aplikasi yang tidak dapat dikonsumsi dalam produksi?
Sama seperti saya ketika menjalankan simulator iOS 14.2 dan berfungsi dengan baik dengan simulator iOS 13.x.
Dan saya memiliki masalah yang sama dengan tim validasi Apple, saya pikir mereka menjalankan aplikasi saya di simulator ...
Kami menemukan bahwa produk pembelian dalam aplikasi Anda menunjukkan satu atau beberapa bug saat ditinjau di iPad yang menjalankan iOS 14.0.1 pada Wi-Fi.
- Meluncurkan aplikasi
- Ketuk Pengaturan, kiri atas
- Mengetuk Hapus iklan
- Aplikasi mulai memuat tanpa batas
Seseorang di sini telah mencoba memublikasikan pembelian dalam aplikasi yang tidak dapat dikonsumsi dalam produksi?
Anda juga mengalami penundaan dalam menyetujui harga dan apple tidak menyetujui aplikasi Anda karena Anda tidak dapat membeli?
Saya telah melakukan semua pengujian saya di perangkat nyata dengan pengguna kotak pasir. Semua berfungsi untuk membeli produk tetapi Apple menolak build saya karena kesalahan "PRODUK TIDAK DIKETAHUI" pada simulator (iOS 14).
Saya mencoba menerbitkan versi aplikasi ini dengan pembelian dalam aplikasi yang tidak dapat dikonsumsi ke App Store sejak Oktober ...
Saya telah melakukan semua pengujian saya di perangkat nyata dengan pengguna kotak pasir. Semua berfungsi untuk membeli produk tetapi Apple menolak build saya karena kesalahan "PRODUK TIDAK DIKETAHUI" pada simulator (iOS 14).
Saya mencoba menerbitkan versi aplikasi ini dengan pembelian dalam aplikasi yang tidak dapat dikonsumsi ke App Store sejak Oktober ...
Lihat masalah kami.
https://github.com/dooboolab/react-native-iap/issues/1200
Saya juga mengalami masalah yang sama dan aplikasi saya dirilis setelah tiga minggu.
Saya telah melakukan semua pengujian saya di perangkat nyata dengan pengguna kotak pasir. Semua berfungsi untuk membeli produk tetapi Apple menolak build saya karena kesalahan "PRODUK TIDAK DIKETAHUI" pada simulator (iOS 14).
Saya mencoba menerbitkan versi aplikasi ini dengan pembelian dalam aplikasi yang tidak dapat dikonsumsi ke App Store sejak Oktober ...Lihat masalah kami.
1200
Saya juga mengalami masalah yang sama dan aplikasi saya dirilis setelah tiga minggu.
Bangunan saya diterima oleh Apple, terima kasih banyak atas bantuan Anda !!!
Memiliki masalah ini juga pada simulator IOS 14. Alangkah baiknya untuk menguji pembayaran tanpa harus menggunakan perangkat nyata.
Tidak bekerja dengan lingkungan ini
Bekerja dengan lingkungan ini
Pada simulator iOS 14 ini berfungsi
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711
Komentar yang paling membantu
saya diselesaikan dengan konfigurasi strorekit.
https://stackoverflow.com/questions/58020258/requesting-an-in-app-purchase-in-ios-13-fails/58065711#58065711