Configure iOS Sandbox-Testen
Eine Setup-Anweisung mit den Installations-Schritten und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Für die Testung von In-App-Käufen auf iOS ist eine ordnungsgemäße Konfiguration in App Store Connect und auf Ihren Testgeräten erforderlich. Diese Anleitung deckt alles ab, was Sie für die Durchführung von Sandbox-Tests benötigen.
Voraussetzungen
Voraussetzungen- Apple Developer Program: Aktives Mitglied mit jährlicher Erneuerung
- Zustimmungen: Unterzeichnetes "Paid Applications Agreement" mit abgeschlossenen Banking- und Steuerinformationen
- Xcode-Projekt: Konfiguriert mit korrektem Bundle-Identifier und -Fähigkeiten
Einrichtungsprozess
Voraussetzungen-
Zahlungspflichtige Anwendungsvereinbarung unterzeichnen
In App Store Connect navigieren Sie zu Zustimmungen, Steuern und Bankverbindungen und abschließen:
- Die Zahlungspflichtige Anwendungsvereinbarung unterzeichnen
- Ihre Bankverbindung hinzufügen
- Steuereinzugsformulare ausfüllen
Warten Sie auf die Genehmigung durch Apple (dies kann bis zu 48 Stunden dauern).
-
Sandbox-Testnutzer erstellen
In App Store Connect gehen Sie zu Benutzer und Zugriff > Sandbox-Testnutzer.
Auf ' + Button zum Erstellen eines neuen Sandbox-Testers.
Wichtig: Verwende eine E-Mail-Adresse, die NICHT bereits mit einem Apple-Konto verbunden ist. Du kannst E-Mail-Aliase verwenden:
- Gmail:
youremail+test@gmail.com - iCloud:
youremail+test@icloud.com

- Gmail:
-
Gerät für die Testkonfiguration (iOS 12+)
Ab iOS 12 benötigst du nicht mehr, dich von deinem iTunes-Konto abzumelden, um Kauftests durchzuführen.
Auf deinem iOS-Gerät:
- Öffne Einstellungen
- Tippe App Store
- Zum Ende scrollen
- Tippen Sandbox-Konto
- Mit Ihrem Sandbox-Testkonto anmelden
-
Xcode-Projekt konfigurieren
Stellen Sie sicher, dass Ihr Xcode-Projekt folgende Eigenschaften hat:
Bundle-Identifier
- Muss dem Identifikator im Developer Center entsprechen
- Muss dem Identifikator in App Store Connect entsprechen
In-App-Kauffunktion
- Wählen Sie Ihr Projekt in Xcode
- Zum Zertifizierung und Funktionen
- Klicken Sie auf + Funktion
- Hinzufügen In-App-Kauf
-
Erstellen Sie In-App-Kaufprodukte
Navigieren Sie in App Store Connect zu Ihrer App und erstellen Sie Ihre In-App-Kaufprodukte (Abonnements, Verbrauchsgüter usw.).
Produkte müssen mindestens im Status „Bereit zum Hochladen“ sein, um Sandbox-Tests durchzuführen.
-
Ihre Implementierung testen
Bauen und auf einem Testgerät ausführen Sie Ihre App. Wenn Sie einen Kaufversuch durchführen, sollten Sie sehen:
[Umgebung: Sandbox]
Diese Bestätigung zeigt an, dass Sie sich im Sandbox-Modus befinden und keine echten Gelder berechnet werden.
Wichtige Hinweise
Abschnitt mit dem Titel „Wichtige Hinweise“Eigenschaften der Sandbox-Umgebung
Abschnitt mit dem Titel „Eigenschaften der Sandbox-Umgebung“- Keine realen Gebühren: Alle Kaufs sind in Sandbox-Modus kostenlos
- Geschwindigkeitsbeschleunigte Abonnements: Die Abonnementdauern werden verkürzt, um schnellere Tests zu ermöglichen
- 1-Wochen-Abonnement = 3 Minuten
- 1-Monats-Abonnement = 5 Minuten
- 2-Monats-Abonnement = 10 Minuten
- 3-Monats-Abonnement = 15 Minuten
- 6-Monats-Abonnement = 30 Minuten
- 1-Jahres-Abonnement = 1 Stunde
- Automatische Erneuerungsgrenze: Abonnements erneuern sich automatisch bis zu 6 Mal im Sandbox-Modus
- Unmittelbare Kündigung: Abgelaufene Abonnements erlöschen sofort
Sandbox-Konto-Verwaltung
Abschnitt mit dem Titel “Sandbox-Konto-Verwaltung”- Mehrere Testkonten für verschiedene Szenarien erstellen
- Nur auf Testgeräten Testkonten verwenden
- Für das Sandbox-Testen keine persönliche Apple-ID verwenden
- Testkonten können Produkte in jedem Land kaufen, unabhängig von der Region
Sandbox-Testen verwenden
Abschnitt mit dem Titel “Sandbox-Testen verwenden”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 purchaseconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Test purchase successful!', transaction.transactionId);Verifizierung
Abschnitt mit dem Titel “Verifizierung”Wenn Sie richtig konfiguriert haben, sollten Sie Folgendes beobachten:
- Sandbox-Banner bei Kauf: „[Umgebung: Sandbox]“
- Produkte laden erfolgreich
- Käufe sind ohne tatsächliche Gebühren abgeschlossen
- Rechnungen werden korrekt validiert
- Abonnements automatisch (bei beschleunigter Rate) erneuert
Problembehandlung
Sektion mit dem Titel “Problembehandlung”Produkte laden nicht:
- Überprüfe die App-Identifikationsnummer auf App Store Connect
- Überprüfen Sie, ob Vereinbarungen unterzeichnet und genehmigt wurden
- Stellen Sie sicher, dass Produkte mindestens im Status „Zur Übermittlung bereit“ sind
- Warten Sie 2-3 Stunden nach der Erstellung von Produkten
„Kann nicht mit iTunes Store verbunden werden“:
- Überprüfen Sie, ob der Sandbox-Konto korrekt konfiguriert ist
- Überprüfen Sie, ob das Gerät an das Internet angeschlossen ist
- Versuchen Sie, sich aus dem Sandbox-Konto auszuloggen und wieder einzuloggen
- Neustarten Sie die App
Käufe schweigen still:
- Überprüfen Sie die Xcode-Konsole auf Fehlermeldungen
- Überprüfen Sie, ob die In-App-Kauffähigkeit aktiviert ist
- Stellen Sie sicher, dass die E-Mail-Adresse des Sandbox-Kontos kein echter Apple-ID ist
- Versuchen Sie, ein neues Sandbox-Testkonto zu erstellen
Fehler bei der Empfangsvalidierung:
- Verwenden Sie in der Testphase den Sandbox-Empfangsvalidierungs-Endpunkt
- Produktions-Endpunkt:
https://buy.itunes.apple.com/verifyReceipt - Sandbox-Endpunkt:
https://sandbox.itunes.apple.com/verifyReceipt - Der native-purchases-Plugin handhabt dies automatisch
Falsche Abonnementdauer:
- Denken Sie daran, dass Abonnements im Sandbox-Modus beschleunigt werden
- Verwenden Sie die oben stehende Umrechnungstabelle für die erwartete Dauer
- Abonnements werden im Sandbox-Modus höchstens 6 Mal automatisch erneuert
„Dieses Apple-ID-Konto wurde noch nicht im iTunes Store verwendet“:
- Dies ist normal für neue Sandbox-Konten
- Klicken Sie auf den Kaufabschluss, um das Konto zu aktivieren
- Geschieht nur bei der ersten Verwendung
Gute Praktiken
Abschnitt mit dem Titel „Gute Praktiken“- Erstellen Sie mehrere Testkonten für verschiedene Testfälle
- Testen Sie alle Abonnementdauern um das Verhalten zu überprüfen
- Testen Sie die Abbestellungs- und Wiederholungsabläufe Testen Sie die Eingangsbestätigung
- funktioniert richtig funktioniert richtig
- Test Restore-Käufe Funktionalität
- Abonnement-Auf- oder Abstufung überprüfen Verhalten
- Test unter schlechten Netzwerkbedingungen
Produktion vs. Sandbox
Abschnitt mit dem Titel “Produktion vs. Sandbox”| Funktion | Sandbox | Produktion |
|---|---|---|
| Echte Gebühren | Nein | Ja |
| Abonnementdauer | Geschwindigkeitsverstärkung | Normal |
| Automatischer Wiederholungsbeschränkung | 6 Mal | Unbegrenzt |
| Kündigungsfolge | Sofortig | Ablaufdatum |
| Einzugsstelle | Sandbox-URL | Produkt-URL |
| Nur Testkonten | Ja | Nein |
Zusätzliche Ressourcen
Abschnitt mit dem Titel „Zusätzliche Ressourcen”Weitere Informationen finden Sie im offiziellen Apple StoreKit-Dokumentation auf dem Sandbox-Test.
Weitergehen Sie von Configure iOS Sandbox Testing
Abschnitt mit dem Titel „Weitergehen Sie von Configure iOS Sandbox Testing”Wenn Sie Cloudflare verwenden iOS-Sandbox-Testkonfiguration um die Genehmigung und Verteilung im App Store zu planen, verbinden Sie es mit Mit @capgo/native-purchases für die native Fähigkeit in Mit @capgo/native-purchases, @capgo/capacitor-In-App-Bewertung für die Implementierungsdetail in @capgo/capacitor-In-App-Bewertung, Mit @capgo/capacitor-In-App-Bewertung für die native Fähigkeit in Mit @capgo/capacitor-In-App-Bewertung, @capgo/capacitor-Native-Markt für die Implementierungsdetail in @capgo/capacitor-Native-Markt, und Mit @capgo/capacitor-Native-Markt für die native Fähigkeit in Mit @capgo/capacitor-Native-Markt.