Lebihkan ke konten

Pengaturan Pengujian Sandbox iOS

GitHub

Menguji 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 dengan pengujian sandbox.

Persyaratan sebelumnya

Prasyarat
  • Program Pengembang Apple: Anggota aktif dengan perpanjangan tahunan
  • Ketentuan: Menandatangani “Ketentuan Aplikasi Bayar” dengan informasi keuangan dan pajak selesai
  • Proyek Xcode: Dikonfigurasi dengan identifier paket yang tepat dan kemampuan

Proses Pengaturan

Prasyarat
  1. Setuju Kontrak Aplikasi Berbayar

    Pergi ke App Store Connect dan 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 (ini dapat memakan waktu 24-48 jam).

  2. Buat Pengguna Uji Coba Sandbox

    Pergi ke App Store Connect dan navigasikan ke Pengguna dan Akses > Pengujian Sandbox.

    Klik tombol + Membuat pengujian sandbox baru.

    Perlu diingat: 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

    Membuat pengujian sandbox

  3. Mengonfigurasi Perangkat Uji (iOS 12+)

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

    Pada perangkat iOS Anda:

    1. Buka Pengaturan
    2. Sentuh App Store
    3. Lihat ke bagian 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
    • Harus sesuai dengan identifier di App Store Connect

    Kemampuan Pembelian Aplikasi

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

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

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

  6. Tes Implementasi Anda

    Bangun dan jalankan aplikasi Anda di perangkat uji. Ketika Anda melakukan pembelian, Anda harus melihat:

    [Lingkungan: Sandbox]

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

  • Tidak Ada Biaya Nyata: Semua pembelian gratis di mode sandbox
  • Langganan Dipercepat: Durasi langganan dipendekkan untuk tes yang lebih cepat
    • 1 minggu langganan = 3 menit
    • 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
  • Limit Auto-Renewal: Langganan auto-renew hingga 6 kali dalam sandbox
  • Penghapusan Langganan Langsung: Langganan yang dibatalkan berakhir segera

Pengelolaan Akun Sandbox

Manajemen Akun Sandbox
  • Membuat beberapa akun uji untuk skenario yang 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);

Jika Anda telah mengkonfigurasi dengan benar, Anda seharusnya melihat:

  1. Bendera Sandbox selama pembelian: ‘[Lingkungan: Sandbox]’
  2. Produk memuat berhasil
  3. Pembelian selesai tidak ada tagihan yang sebenarnya
  4. Resep memvalidasi benar
  5. Langganan memulihkan otomatis (dengan kecepatan yang dipercepat)

Produk tidak memuat:

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

“Tidak dapat terhubung ke iTunes Store”:

  • Periksa apakah 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
  • Periksa apakah kemampuan Pembelian Aplikasi dalam App Store telah diaktifkan
  • Pastikan alamat email akun sandbox bukan ID Apple yang sebenarnya
  • Untuk mencoba membuat akun uji coba sandbox baru

Masalah validasi bukti pembayaran:

  • Pakai endpoint validasi bukti pembayaran sandbox untuk tes
  • 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
  • Pakai tabel konversi di atas untuk durasi yang diharapkan
  • Langganan otomatis diperbarui maksimal 6 kali di sandbox

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

  • Ini normal untuk akun sandbox baru
  • Melanjutkan 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 perpanjangan aliran
  4. Verifikasi validasi strukturnya berfungsi dengan benar
  5. Tes mengembalikan pembelian fungsionalitas
  6. Periksa peningkatan/turunan langganan perilaku
  7. Tes dengan kondisi jaringan yang buruk
FiturSandboxProduksi
Tagihan nyataTidakYa
Durasi langgananDipercepatNormal
Batasan auto-renewal6 kaliTidak terbatas
Pengaruh pembatalanSegeraAkhir periode
Endpoint buktiURL SandboxURL Produksi
Hanya untuk akun uji cobaYaTidak

Untuk informasi lebih lanjut, silakan mengacu pada documentasi resmi Apple StoreKit tentang pengujian sandbox.

Teruskan dari Pengaturan Pengujian Sandbox iOS

Bab berjudul “Teruskan dari Pengaturan Pengujian Sandbox iOS”

Jika Anda menggunakan Pengaturan Pengujian Sandbox iOS untuk merencanakan persetujuan toko dan distribusi, hubungkannya dengan Menggunakan @capgo/pembelian-asli untuk kemampuan asli dalam Menggunakan @capgo/pembelian-asli, @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-asli untuk detail implementasi dalam @capgo/capacitor-pasar-asli, dan Menggunakan @capgo/capacitor-pasar-asli untuk kemampuan asli dalam Menggunakan @capgo/capacitor-pasar-asli.