Lompat ke konten

Konfigurasi 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 sesuatu yang Anda butuhkan untuk memulai dengan tes sandbox.

  • Program Pengembang Apple: Anggota aktif dengan pembayaran 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 Bank dan lengkapi:

    • Tanda Tangan Perjanjian Aplikasi Bayar
    • Tambahkan informasi bank 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:

    Konfigurasi Perangkat Uji (iOS 12+)

    1. Buka Pengaturan
    2. Sentuh Toko Aplikasi
    3. Geser ke 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 Anda
    • Harus sesuai dengan identifikasi di App Store Connect

    Fasilitas Pembelian Aplikasi

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

    Dalam App Store Connect, navigasikan ke aplikasi Anda dan buat produk pembelian aplikasi Anda (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 tes. Ketika Anda mencoba membeli, Anda harus melihat:

    [Lingkungan: Sandbox]

    Konfirmasi ini menunjukkan Anda berada dalam 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 pengujian 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
  • Limit auto-renewal: Langganan auto-renew hingga 6 kali dalam mode sandbox
  • Pembatalan segeraMembatalkan langganan berakhir segera
  • Buat beberapa akun uji 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 dikonfigurasi dengan benar, Anda seharusnya melihat:

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

Pengaturan Masalah

Mengatasi Masalah

Produk tidak terbuka:

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

“Tidak dapat terhubung ke iTunes Store”:

  • Periksa bahwa akun sandbox telah dikonfigurasi dengan benar
  • Periksa bahwa 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 sandbox baru

Error validasi bukti pembelian:

  • Gunakan endpoint validasi bukti pembelian 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 diakcelerasi dalam sandbox
  • 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 memverifikasi perilaku
  3. Uji pembatalan dan diperbarui aliran
  4. Verifikasi penerimaan berfungsi dengan benar
  5. Tes restorasi pembelian fungsi
  6. Periksa peningkatan/kurangnya langganan perilaku
  7. Tes dengan kondisi jaringan yang buruk
FiturSandboxProduksi
Biaya sebenarnyaTidakYa
Durasi langgananDipercepatNormal
Batasan auto-renewal6 kaliTidak terbatas
Efek pembatalanSegeraAkhir 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.