Lompat ke konten

Pengaturan 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
  • Ketentuan: Menandatangani “Perjanjian Aplikasi Bayar” dengan informasi keuangan dan pajak selesai
  • Project Xcode: Dikonfigurasi dengan identifier paket yang tepat dan kemampuan
  1. [Sign Paid Applications Agreement]

    [Dalam App Store Connect, navigasikan ke] [Perjanjian, Pajak, dan Perbankan] [dan lengkapi:]

    • [Tanda tangani Perjanjian Aplikasi Bayar]
    • [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]

    [Dalam App Store Connect, pergi ke] [Pengguna dan Akses > Pengujian Sandbox].

    [Klik tombol] + Membuat Pengujian Sandbox Baru

    Perlu diingat: Gunakan alamat email yang BELUM pernah digunakan 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+)

    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. Scroll ke bawah
    4. Tik Akun Sandbox
    5. Masuk dengan akun uji coba sandbox Anda
  4. Konfigurasi Projek Xcode

    Pastikan projek Xcode Anda memiliki:

    Identifikasi Paket

    • Harus sesuai dengan identifikasi di Center Pengembang Anda
    • 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

    Dalam 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

    Buat dan jalankan aplikasi Anda pada 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 nyata.

  • Tidak Ada Biaya Nyata: Semua pembelian gratis dalam 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
  • Pengaturan Auto-Renewal: Langganan otomatis dapat diperbarui hingga 6 kali dalam mode sandbox
  • Pembatalan Langganan Segera: Langganan yang dibatalkan berlaku segera
  • Membuat beberapa akun uji untuk skenario yang berbeda
  • Hanya gunakan akun uji di perangkat uji
  • Jangan menggunakan 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);

Setelah dikonfigurasi 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. Resi 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 telah diaktifkan
  • Pastikan alamat email akun sandbox bukan ID Apple yang sebenarnya
  • Coba buatlah akun uji coba sandbox baru

Masalah 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 pembelian native mengatasi 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 diperbarui hingga 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 perpanjangan aliran
  4. Verifikasi validasi tagihan berfungsi dengan benar
  5. Menguji pembelian kembali fungsi
  6. Periksa peningkatan/kurangnya langganan tindakan
  7. Menguji dengan kondisi jaringan yang buruk

Produksi vs. Sandbox

Fitur
SandboxProduksiTunggakan sebenarnya
TidakBagian berjudul “Produksi vs. Sandbox”Ya
Durasi langgananDipercepatkanNormal
Batasan auto-renewal6 kaliTidak terbatas
Pengaruh pembatalanSegeraAkhir periode
Endpoint buktiURL SandboxURL Produksi
Hanya untuk akun uji cobaYaTidak

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

Teruskan dari Pengaturan Pengujian Sandbox iOS

Bab berjudul “Teruskan dari Pengaturan Pengujian Sandbox iOS”

Jika Anda menggunakan Konfigurasi Pengujian Sandbox iOS untuk merencanakan persetujuan toko dan distribusi, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan native di Menggunakan @capgo/native-purchases, @capgo/capacitor-ulasan-dalam-aplikasi untuk detail implementasi di @capgo/capacitor-ulasan-dalam-aplikasi, Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi untuk kemampuan native di Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi, @capgo/capacitor-pasar-native untuk detail implementasi di @capgo/capacitor-pasar-native, dan Menggunakan @capgo/capacitor-pasar-native untuk kemampuan native di Menggunakan @capgo/capacitor-pasar-native.