Konfigurasi iOS Sandbox Testing
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Testing in-app purchases di iOS memerlukan konfigurasi yang tepat di App Store Connect dan perangkat pengujian Anda. Panduan ini membahas semua yang Anda butuhkan untuk memulai sandbox testing.
Prerequisites
Bagian berjudul “Prasyarat”- Apple Developer Program: Keanggotaan aktif dengan perpanjangan tahunan
- Perjanjian: Sudah menandatangani “Paid Applications Agreement” dan melengkapi info bank serta pajak
- Proyek Xcode: Sudah dikonfigurasi dengan bundle identifier dan capabilities yang sesuai
Proses Setup
Bagian berjudul “Setup Process”-
Tanda tangani Paid Applications Agreement
Di App Store Connect, buka Perjanjian, Pajak, dan Perbankan dan selesaikan:
- Tanda tangani Paid Applications Agreement
- Tambahkan informasi perbankan Anda
- Lengkapi formulir pajak
Tunggu persetujuan informasi Anda dari Apple (proses ini bisa memakan waktu 24-48 jam).
-
Buat Sandbox Test User
Di App Store Connect, buka Pengguna dan Akses > Penguji Sandbox.
Klik + untuk membuat sandbox tester baru.
Penting: Gunakan alamat email yang BELUM terhubung dengan Apple ID mana pun. Anda bisa menggunakan alias email:
- Gmail:
youremail+test@gmail.com - iCloud:
youremail+test@icloud.com

- Gmail:
-
Konfigurasi Test Device (iOS 12+)
Mulai iOS 12, Anda tidak perlu lagi sign out dari akun iTunes untuk mengetes pembelian.
Pada perangkat iOS Anda:
- Buka Pengaturan
- Ketuk App Store
- Scroll ke bagian bawah
- Ketuk Akun Sandbox
- Masuk dengan akun sandbox test Anda
-
Konfigurasi Proyek Xcode
Pastikan proyek Xcode Anda memiliki:
Bundle Identifier
- Harus sesuai dengan identifier di Developer Center Anda
- Harus sesuai dengan identifier di App Store Connect
Kemampuan In-App Purchase
- Pilih proyek Anda di Xcode
- Buka Signing & Capabilities
- Klik + Capability
- Tambah Pembelian Dalam Aplikasi
-
Buat Produk In-App Purchase
Di App Store Connect, buka aplikasi Anda dan buat produk In-App Purchase (langganan, consumables, dll.).
Produk harus minimal berstatus “Ready to Submit” untuk sandbox testing.
-
Uji Implementasi Anda
Build dan jalankan aplikasi di perangkat uji. Saat mencoba melakukan pembelian, Anda akan melihat:
[Lingkungan: Sandbox]
Konfirmasi ini menandakan Anda berada di environment sandbox dan tidak akan dikenakan biaya asli.
Catatan Penting
Bagian berjudul “Catatan Penting”Karakteristik Sandbox Environment
Bagian berjudul “Karakteristik Sandbox Environment”- Tidak ada biaya asli: Semua pembelian gratis di mode sandbox
- Langganan dipercepat: Durasi langganan dipersingkat untuk testing yang lebih cepat
- Langganan 1 minggu = 3 menit
- Langganan 1 bulan = 5 menit
- Langganan 2 bulan = 10 menit
- Langganan 3 bulan = 15 menit
- Langganan 6 bulan = 30 menit
- Langganan 1 tahun = 1 jam
- Batas perpanjangan otomatis: Langganan diperpanjang otomatis hingga 6 kali di sandbox
- Pembatalan langsung: Langganan yang dibatalkan langsung kedaluwarsa
Manajemen Akun Sandbox
Bagian berjudul “Manajemen Akun Sandbox”- Buat beberapa akun tes untuk berbagai skenario
- Gunakan akun tes hanya di perangkat tes
- Jangan gunakan Apple ID pribadi untuk sandbox testing
- Akun test dapat membeli produk apa pun tanpa batasan wilayah
Menggunakan Sandbox Testing
Bagian berjudul “Menggunakan Sandbox Testing”import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();if (!isBillingSupported) { throw new Error('StoreKit not supported on this device');}
// Fetch products (automatically uses sandbox when available)const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
// Make test purchaseconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Test purchase successful!', transaction.transactionId);Verifikasi
Bagian berjudul “Verifikasi”Jika sudah dikonfigurasi dengan benar, Anda akan melihat:
- Banner Sandbox saat pembelian: “[Environment: Sandbox]”
- Produk berhasil dimuat dengan sukses
- Pembelian selesai tanpa biaya asli
- Resi tervalidasi dengan benar
- Langganan diperbarui otomatis (dengan kecepatan dipercepat)
Pemecahan Masalah
Bagian berjudul “Troubleshooting”Produk tidak dimuat:
- Pastikan bundle identifier sesuai dengan App Store Connect
- Pastikan perjanjian sudah ditandatangani dan disetujui
- Pastikan status produk minimal “Ready to Submit”
- Tunggu 2-3 jam setelah membuat produk
“Tidak dapat terhubung ke iTunes Store”:
- Pastikan akun sandbox sudah dikonfigurasi dengan benar
- Pastikan perangkat terhubung ke internet
- Coba sign out lalu sign in kembali ke akun sandbox
- Restart aplikasi
Pembelian gagal tanpa pesan error:
- Cek konsol Xcode untuk melihat pesan error
- Pastikan In-App Purchase capability sudah diaktifkan
- Pastikan email akun sandbox bukan Apple ID asli
- Coba buat akun test sandbox baru
Error validasi receipt:
- Gunakan endpoint validasi receipt sandbox saat testing
- Endpoint Production:
https://buy.itunes.apple.com/verifyReceipt - Endpoint Sandbox:
https://sandbox.itunes.apple.com/verifyReceipt - Plugin native-purchases menanganinya secara otomatis
Durasi langganan salah:
- Ingat bahwa durasi langganan dipercepat di sandbox
- Gunakan tabel konversi di atas untuk estimasi durasi
- Langganan auto-renew maksimal 6 kali di sandbox
“Apple ID ini belum pernah digunakan di iTunes Store”:
- Ini normal untuk akun sandbox baru
- Lanjutkan pembelian untuk mengaktifkan akun
- Hanya terjadi pada penggunaan pertama
Praktik Terbaik
Bagian berjudul “Praktik Terbaik”- Buat beberapa akun tes untuk berbagai skenario tes
- Tes semua durasi langganan untuk verifikasi perilaku
- Uji pembatalan dan perpanjangan flows
- Verifikasi validasi receipt berjalan dengan benar
- Tes fitur restore purchases functionality
- Cek upgrade/downgrade langganan perilaku
- Tes dengan kondisi jaringan buruk
Produksi vs. Sandbox
Bagian berjudul “Produksi vs. Sandbox”| Fitur | Sandbox | Produksi |
|---|---|---|
| Biaya riil | Tidak | Ya |
| Durasi langganan | Dipercepat | Normal |
| Batas perpanjangan otomatis | 6 kali | Tanpa batas |
| Efek pembatalan | Segera | Akhir periode |
| Endpoint receipt | URL Sandbox | URL Produksi |
| Hanya akun test | Ya | Tidak |
Sumber daya tambahan
Bagian berjudul “Sumber daya tambahan”Untuk detail lebih lanjut, lihat dokumentasi resmi Apple StoreKit tentang pengujian sandbox.
Lanjutkan dari Konfigurasi iOS Sandbox Testing
Bagian berjudul “Lanjutkan dari Konfigurasi iOS Sandbox Testing”Jika Anda menggunakan Konfigurasi iOS Sandbox Testing untuk merencanakan persetujuan store dan distribusi, hubungkan dengan Menggunakan @capgo/native-purchases untuk kapabilitas native di Menggunakan @capgo/native-purchases, @capgo/capacitor-in-app-review untuk detail implementasi di @capgo/capacitor-in-app-review, Menggunakan @capgo/capacitor-in-app-review untuk kapabilitas native di bagian Menggunakan @capgo/capacitor-in-app-review, @capgo/capacitor-native-market untuk detail implementasi di @capgo/capacitor-native-market, dan Menggunakan @capgo/capacitor-native-market untuk kapabilitas native di Menggunakan @capgo/capacitor-native-market.