Lebih cepat 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. Petunjuk 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 perbankan dan pajak selesai
  • Proyek Xcode: Konfigurasi dengan identifier bundle yang tepat dan kemampuan
  1. Menandatangani Perjanjian Aplikasi Bayar

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

    • Menandatangani Perjanjian Aplikasi Bayar
    • Menambahkan informasi keuangan Anda
    • __CAPGO_KEEP_0__

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

  2. __CAPGO_KEEP_0__

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

    __CAPGO_KEEP_0__ + Penting

    : Gunakan alamat email yang TIDAK sudah terkait dengan ID Apple. Anda dapat menggunakan alias email:Gmail:

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

    Isi formulir pajak

  3. Konfigurasi Perangkat Uji (iOS 12+)

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

    Pada perangkat iOS Anda:

    1. Buka Pengaturan
    2. Tap App Store
    3. Geser ke bagian bawah
    4. Tap Akun Sandbox
    5. Masuk dengan akun uji sandbox Anda
  4. Konfigurasi Proyek Xcode

    Pastikan proyek Xcode Anda memiliki:

    Identifikasi Paket

    • Harus sesuai dengan identifier di Center Pengembang
    • Harus sesuai dengan identifier di App Store Connect

    Kemampuan Pembelian Aplikasi

    1. Pilih proyek Anda di Xcode
    2. Buka 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 Mengirim” 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 yang Nyata: Semua pembelian gratis dalam mode sandbox
  • Langganan yang Dipercepat: Durasi langganan dipersingkat 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
  • Batasi ulang waktu otomatis: Langganan otomatis akan diperbarui hingga 6 kali di mode sandbox
  • Pembatalan segera: Langganan yang dibatalkan akan berakhir segera
  • Buat 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 saja tanpa memperhatikan 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 konfigurasi yang tepat, Anda harus melihat:

  1. Pemberitahuan sandbox selama pembelian: “[Lingkungan: Sandbox]”
  2. Produk muat berhasil
  3. Pembelian selesai tidak ada tagihan yang sebenarnya
  4. Resi memvalidasi benar
  5. Langganan akan diperbarui secara otomatis (dengan tingkat yang dipercepat) Pengaturan

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

  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • Coba keluar dan masuk kembali ke akun sandbox
  • Restart aplikasi

Pembelian gagal secara diam-diam:

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

Pesan kesalahan 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 salah:

  • Ingat langganan di sandbox dipercepat
  • Gunakan 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”:

  • 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. Menguji semua durasi langganan untuk memastikan perilaku untuk memastikan perilaku berfungsi dengan benar
  3. Menguji aliran pembatalan dan pembaruan Menguji validasi penerimaan
  4. Menguji apakah fungsi pemulihan pembelian berfungsi dengan benar Menguji perilaku upgrade/downgrade langganan
  5. Menguji perilaku dengan kondisi jaringan yang buruk Menguji perilaku produksi vs. Sandbox
  6. Menguji semua durasi langganan untuk memastikan perilaku untuk memastikan perilaku berfungsi dengan benar
  7. Menguji aliran pembatalan dan pembaruan
FiturSandboxProduksi
Tunggakan sebenarnyaTidakYa
Durasi langgananDipercepatNormal
Batasan auto-renewal6 kaliTidak Terbatas
Efek PembatalanSegeraAkhir Periode
Endpoint PembayaranURL SandboxURL Produksi
Hanya Akun UjiYaTidak

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

Lanjutkan dari Pengaturan Pengujian Sandbox iOS

Judul bagian “Lanjutkan 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 native di Menggunakan @capgo/native-purchases, Menggunakan @capgo/capacitor-in-app-review untuk detail implementasi di Menggunakan @capgo/capacitor-in-app-review, Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi untuk kemampuan asli dalam Menggunakan @capgo/capacitor-ulasan-dalam-aplikasi @capgo/capacitor-pasar-nasional untuk detail implementasi dalam @capgo/capacitor-pasar-nasional, dan Menggunakan @capgo/capacitor-pasar-nasional untuk kemampuan asli dalam Menggunakan @capgo/capacitor-pasar-nasional