Fungsi ProcessPurchase
dari pendengar toko Anda disebut ketika pembelian selesai. Aplikasi Anda harus memenuhi apa pun pengguna yang telah dibeli; misalnya, membuka konten lokal atau mengirim tanda terima pembelian ke server untuk memperbarui model permainan sisi server.
Hasil dikembalikan untuk menunjukkan apakah atau tidak Aplikasi Anda telah menyelesaikan pemrosesan pembelian:
Result | Description |
---|---|
PurchaseProcessingResult.Complete | Aplikasi ini telah menyelesaikan pemrosesan pembelian dan tidak boleh diinformasikan lagi. |
PurchaseProcessingResult.Pending | Aplikasi ini masih memproses pembelian dan ProsesPurchase akan dipanggil lagi saat berikutnya Aplikasi dimulai, kecuali fungsi ConfirmPendingPurchase dari IStoreController disebut. |
Perhatikan bahwa ProsesPurchase dapat disebut pada setiap titik setelah awalisasi yang sukses. Jika aplikasi Anda crash selama pelaksanaan handler ProcessPurchase
, maka itu diinvoked lagi awal Unity IAPUnity In App Purchase
Lihat di Glossary, sehingga Anda mungkin ingin menerapkan de-duplikasi tambahan Anda sendiri.
Unity IAP membutuhkan pengakuan eksplisit pembelian untuk memastikan bahwa pembelian terpenuhi dalam hal pemadaman jaringan atau kecelakaan aplikasi. Setiap pembelian yang lengkap sementara aplikasi offline akan dikirim ke aplikasi di awalisasi.
Ketika PurchaseProcessingResult.Complete
dikembalikan, Unity IAP menyelesaikan transaksi segera (seperti yang ditunjukkan dalam diagram di bawah).
Anda must not kembali PurchaseProcessingResult.Complete
jika Anda menjual produk habis pakai dan memenuhi mereka dari server (misalnya, menyediakan mata uang dalam permainan online).
Jika Anda melakukan, ada risiko bahwa pembelian yang dapat dikonsumsi akan hilang jika Aplikasi Anda dihapus sebelum awan menyimpan terjadi.
Jika Anda menyimpan pembelian habis pakai ke cloud, Anda must kembali PurchaseProcessingResult.Pending
dan panggilan ConfirmPendingPurchase
hanya ketika Anda berhasil bertahan pembelian.
Ketika mengembalikan Pending
, Unity IAP menyimpan transaksi terbuka di toko yang mendasari sampai dikonfirmasi sebagai diproses, memastikan pembelian yang dapat dikonsumsi tidak hilang bahkan jika pengguna menginstal ulang aplikasi Anda sementara dapat dikonsumsi dalam keadaan ini.