Lompat ke konten

Konfigurasi Pengujian Sandbox iOS

GitHub

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

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

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

    • Tanda tangani Perjanjian Aplikasi Berbayar
    • 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

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

    Klik tombol + untuk membuat pengujian sandbox baru.

    Penting: Gunakan alamat email yang TIDAK sudah terkait dengan ID Apple. Anda bisa menggunakan alias email:

    • Gmail: youremail+test@gmail.com
    • iCloud: youremail+test@icloud.com

    Buat tester sandbox

  3. Konfigurasi Perangkat Uji (iOS 12+)

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

    Pada perangkat iOS Anda:

    1. Buka Pengaturan
    2. Sentuh App Store
    3. Gulir ke bawah
    4. Sentuh Akun Sandbox
    5. Masuk dengan akun uji sandbox Anda
  4. Konfigurasi Projek Xcode

    Pastikan projek Xcode Anda memiliki:

    Identifikasi Paket

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

    In-App Purchase Capability

    1. Pilih project Anda di Xcode
    2. Pergi ke Tanda Tangan & Kemampuan
    3. Klik + Kemampuan
    4. Tambahkan In-App Purchase
  5. Buat Produk In-App Purchase

    Dalam App Store Connect, navigasikan ke aplikasi Anda dan buat produk in-app purchase (langganan, konsumabel, dll.).

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

  6. Tes Implementasi Anda

    Buat dan jalankan aplikasi Anda di perangkat uji.

    [Lingkungan: Sandbox]

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

  • Tidak ada biaya nyata: Semua pembelian gratis dalam mode sandbox
  • : Durasi langganan dipersingkat untuk tes yang lebih cepatLangganan 1 minggu = 3 menit
    • __CAPGO_KEEP_0__
    • 1 bulan langganan = 5 menit
    • 2 bulan langganan = 10 menit
    • 3 bulan langganan = 15 menit
    • 6 bulan langganan = 30 menit
    • 1 tahun langganan = 1 jam
  • Pengaturan auto-renewal: Langganan auto-renew hingga 6 kali di sandbox
  • Penghentian Langganan Langsung: Langganan yang dibatalkan berakhir segera
  • Buat beberapa akun uji coba untuk skenario yang berbeda
  • Gunakan akun uji hanya pada 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);

Ketika terkonfigurasi dengan benar, Anda seharusnya melihat:

  1. Banner Sandbox selama pembelian: ‘[Lingkungan: Sandbox]’
  2. Produk muat berhasil
  3. Pembelian selesai tanpa biaya sebenarnya
  4. Resi memvalidasi dengan benar
  5. Langganan memulihkan otomatis (dengan kecepatan yang dipercepat)

Produk tidak dimuat:

  • Periksa bahwa identifikasi paket sesuai dengan App Store Connect
  • Periksa bahwa perjanjian telah ditandatangani dan disetujui
  • Pastikan produk setidaknya dalam status “Siap Kirim”
  • 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 diam-diam:

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

Error validasi bukti pembayaran:

  • Gunakan endpoint validasi bukti pembayaran sandbox dalam 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 akan diperbarui otomatis maksimal 6 kali di sandbox

“This Apple ID has not yet been used in the iTunes Store”:

  • Hal ini normal untuk akun sandbox baru
  • Lanjutkan dengan 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 aliran pembatalan dan pembaruan Uji validasi penerimaan
  4. Uji apakah pembayaran berfungsi dengan benar Uji aliran pembatalan pembelian kembali
  5. Uji apakah pembayaran dapat dipulihkan dengan benar fungsionalitas
  6. Periksa upgrade/downgrade langganan perilaku
  7. Test dengan kondisi jaringan yang buruk
FiturSandboxProduksi
Tunggakan asliTidakYa
Durasi langgananDipercepatNormal
Batasan auto-renewal6 kaliTidak terbatas
Efek pembatalanSegeraAkhir periode
Endpoint buktiURL SandboxURL Produksi
Akun uji hanyaYaTidak

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

Teruskan dari Pengaturan Pengujian Sandbox iOS

Judul bagian “Teruskan dari Pengaturan Pengujian Sandbox iOS”

Jika Anda menggunakan Pengaturan 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-ulasan-dalam-aplikasi untuk detail implementasi dalam @capgo/capacitor-ulasan-dalam-aplikasi, Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi untuk kemampuan asli dalam Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi, @capgo/capacitor-pasar-asing untuk detail implementasi dalam @capgo/capacitor-pasar-asing, dan Menggunakan @capgo/capacitor-pasar-asing untuk kemampuan asli dalam Menggunakan @capgo/capacitor-pasar-asing.