Lompat ke konten

Konfigurasi Pengujian Sandbox iOS

Pengujian pembelian dalam aplikasi di iOS memerlukan konfigurasi yang tepat di App Store Connect dan pada perangkat uji Anda. Panduan ini mencakup segala sesuatu yang Anda butuhkan untuk memulai dengan pengujian sandbox.

  • Program Pengembang Apple: Anggota aktif dengan perpanjangan tahunan
  • Ketentuan: Menandatangani “Ketentuan Aplikasi Berbayar” dengan informasi keuangan dan pajak selesai
  • Proyek Xcode: Dikonfigurasi dengan identifikasi paket yang tepat dan kemampuan
  1. Tanda Tangan Perjanjian Aplikasi Bayar

    Pada App Store Connect, navigasikan ke Perjanjian, Pajak, dan Perbankan dan lengkapi:

    • Tanda Tangan Perjanjian Aplikasi Bayar
    • Tambahkan informasi perbankan Anda
    • Lengkapi formulir pajak

    Tunggu Apple menyetujui informasi Anda (hal ini dapat memakan waktu 24-48 jam).

  2. Buat Pengguna Uji Coba Sandbox

    In App Store Connect, pergi ke Pengguna dan Akses > Pengujian Sandbox.

    Klik tombol untuk membuat pengujian sandbox baru. + Penting:

    Pilih alamat email yang TIDAK sudah terkait dengan ID Apple. Anda bisa menggunakan alias email:Gmail:

    • iCloud: youremail+test@gmail.com
    • Buat pengujian sandbox youremail+test@icloud.com

    Konfigurasi Perangkat Uji (iOS 12+)

  3. Pada iOS 12, Anda tidak perlu keluar dari akun iTunes untuk menguji pembelian.

    Pada perangkat iOS Anda:

    Configure Test Device (iOS 12+)

    1. Buka Pengaturan
    2. Sentuh Toko Aplikasi
    3. Geser ke bagian bawah
    4. Sentuh Akun Sandbox
    5. Masuk dengan akun uji sandbox Anda
  4. Konfigurasi Projek Xcode

    Pastikan proyek Xcode Anda memiliki:

    Identifikasi Paket

    • Harus sesuai dengan identifikasi di Pusat Pengembang
    • Harus sesuai dengan identifikasi di App Store Connect

    Kemampuan Pembelian Aplikasi

    1. Pilih proyek Anda di Xcode
    2. Buka Tanda Tangan & Kemampuan
    3. Klik + Kemampuan
    4. Tambahkan Kemampuan Pembelian Aplikasi
  5. Buat Produk Pembelian Aplikasi

    Di App Store Connect, navigasikan ke aplikasi Anda dan buat produk pembelian aplikasi Anda (langganan, konsumabel, dll.).

    Produk harus dalam status setidaknya “Siap Kirim” untuk tes sandbox.

  6. Tes Implementasi Anda

    Buat dan jalankan aplikasi Anda pada perangkat tes. Ketika Anda mencoba membeli, Anda harus melihat:

    [Lingkungan: Sandbox]

    Konfirmasi ini menunjukkan Anda berada di lingkungan sandbox dan tidak akan dikenakan biaya uang nyata.

  • Tidak ada biaya nyata: Semua pembelian gratis dalam mode sandbox
  • Langganan yang dipercepat: Durasi langganan dipendekkan untuk tes 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
  • Batasan auto-renewal: Langganan auto-renew hingga 6 kali dalam mode sandbox
  • Pembatalan segeraBatalkan langgung berlaku untuk langgung berlanggung
  • Buat beberapa akun uji untuk skenario berbeda
  • Hanya gunakan akun uji di perangkat uji
  • Jangan gunakan ID Apple pribadi untuk tes sandbox
  • Akun uji dapat membeli produk apa pun tanpa mempertimbangkan wilayah
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 purchase
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test purchase successful!', transaction.transactionId);

When properly configured, you should observe:

  1. Sandobox banner selama pembelian: '[Lingkungan: Sandobox]'
  2. Produk memuat berhasil
  3. Pembelian selesai tanpa tagihan sebenarnya
  4. Resi memvalidasi benar
  5. Langganan memulihkan otomatis (dengan tingkat percepatan yang dipercepat)

Produk tidak terbuka:

  • Pastikan identifikasi paket sesuai dengan App Store Connect
  • Periksa bahwa perjanjian telah ditandatangani dan disetujui
  • Pastikan produk setidaknya memiliki status “Siap untuk Dikirim”
  • Tunggu 2-3 jam setelah membuat produk

“Tidak dapat terhubung ke iTunes Store”:

  • Pastikan akun sandbox telah dikonfigurasi dengan benar
  • Periksa apakah perangkat terhubung ke internet
  • Coba keluar dan masuk kembali ke akun sandbox
  • Restart aplikasi

Pembelian gagal secara diam-diam:

  • Periksa konsol Xcode untuk pesan kesalahan
  • Pastikan kemampuan Pembelian Aplikasi diaktifkan
  • Pastikan alamat email akun sandbox bukan ID Apple yang sebenarnya
  • Coba membuat akun uji coba sandbox baru

Error validasi bukti pembelian:

  • Gunakan endpoint validasi bukti pembelian sandbox untuk pengujian
  • Endpoint produksi: https://buy.itunes.apple.com/verifyReceipt
  • Endpoint sandbox: https://sandbox.itunes.apple.com/verifyReceipt
  • Plugin native-purchases menghandle hal ini secara otomatis

Durasi langganan yang salah:

  • Ingat bahwa langganan di sandbox dipercepat
  • Gunakan tabel konversi di atas untuk durasi yang diharapkan
  • Langganan secara otomatis akan diperbarui maksimal 6 kali di sandbox

“ID Apple ini belum pernah digunakan di iTunes Store”:

  • Hal ini normal untuk akun sandbox baru
  • Lanjutkan pembelian untuk mengaktifkan akun
  • Hanya terjadi pada penggunaan pertama
  1. Buat beberapa akun uji coba untuk skenario uji coba yang berbeda
  2. Uji semua durasi langganan untuk memastikan perilaku
  3. Uji pembatalan dan diperbarui aliran
  4. Verifikasi penerimaan validasi berfungsi dengan benar
  5. Tes restorasi pembelian fungsi
  6. Periksa upgrade/downgrade langganan perilaku
  7. Tes dengan kondisi jaringan buruk
FiturSandboxProduksi
Biaya sebenarnyaTidakYa
Durasi langgananDipercepatNormal
Batasan auto-renewal6 kaliTidak terbatas
Efek pembatalanSekarangAkhir periode
Endpoint tagihanURL SandboxURL Produksi
Hanya untuk akun uji cobaYaTidak

Untuk informasi lebih lanjut, lihat dokumentasi resmi Apple StoreKit pada pengujian sandbox.

Teruskan dari Konfigurasi Pengujian Sandbox iOS

Judul Bagian “Teruskan dari Konfigurasi Pengujian Sandbox iOS”

Jika Anda menggunakan Konfigurasi Pengujian Sandbox iOS untuk merencanakan persetujuan toko dan distribusi, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan asli dalam Menggunakan @capgo/native-purchases, @capgo/capacitor-in-app-review untuk detail implementasi dalam @capgo/capacitor-in-app-review, Menggunakan @capgo/capacitor-in-app-review untuk kemampuan asli dalam 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 kemampuan asli di Menggunakan @capgo/capacitor-native-market.