Zum Inhalt springen

Konfigurieren Sie iOS-Sandbox-Testen

GitHub

Zum Testen 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 zum Starten mit dem Sandbox-Testen benötigen.

  • Apple Developer-Programm: Aktives Mitglied mit jährlicher Erneuerung
  • Zustimmungen: Unterzeichnete „Zahlungspflichtige Anwendungsvereinbarung“ mit Bank- und Steuerinformationen abgeschlossen
  • Xcode-Projekt: Konfiguriert mit korrektem Bundle-Identifier und -Fähigkeiten
  1. Zahlungspflichtige Anwendungen vereinbaren

    Navigieren Sie in App Store Connect zu Zustimmungen, Steuern und Bankverbindungen und füllen Sie aus:

    • Zahlungspflichtige Anwendungen vereinbaren
    • Fügen Sie Ihre Bankverbindung hinzu
    • Füllen Sie Steuerformulare aus

    Warten Sie auf die Genehmigung durch Apple (dies kann 24-48 Stunden dauern).

  2. Erstellen Sie einen Testbenutzer für den Sandbox-Modus

    Navigieren Sie in App Store Connect zu Benutzer und Zugriff > Sandbox-Testbenutzer.

    Klicken Sie auf + Button zum Erstellen eines neuen Sandbox-Testers.

    WichtigVerwenden Sie eine E-Mail-Adresse, die nicht bereits mit einem Apple-Konto verbunden ist. Sie können E-Mail-Aliase verwenden:

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

    Sandbox-Tester erstellen

  3. Gerät für die Testkonfiguration (iOS 12+)

    Ab iOS 12 benötigen Sie nicht mehr, um sich aus Ihrem iTunes-Konto auszuloggen, um Kauftests durchzuführen.

    Auf Ihrem iOS-Gerät:

    1. Öffnen Einstellungen
    2. Tippen App Store
    3. Zu unten scrollen
    4. Tippen Sandbox-Konto
    5. Mit Ihrem Sandbox-Testkonto anmelden
  4. Xcode-Projekt konfigurieren

    Stellen Sie sicher, dass Ihr Xcode-Projekt folgende Eigenschaften hat:

    Bundle-Identifier

    • Muss dem Identifikator im Developer Center entsprechen
    • Muss der Identifikator in App Store Connect entsprechen

    In-App-Kauffunktion

    1. Wählen Sie Ihr Projekt in Xcode
    2. Gehe zu Zertifizierung und Funktionen
    3. Klicken Sie + Funktion
    4. Hinzufügen In-App-Kauf
  5. Erstellen Sie In-App-Kaufprodukte

    In App Store Connect navigieren Sie zu Ihrer App und erstellen Sie Ihre In-App-Kaufprodukte (Abonnements, Verbrauchsgüter usw.).

    Produkte müssen zumindest im Status „Bereit zum Einreichen“ sein, um Sandbox-Tests durchzuführen.

  6. Ihre Implementierung testen

    Bauen und auf einem Testgerät ausführen. Wenn Sie eine Kaufanfrage stellen, sollten Sie sehen:

    [Umgebung: Sandbox]

    Diese Bestätigung zeigt an, dass Sie sich im Sandbox-Modus befinden und keine echten Gelder berechnet werden.

  • Keine echten Gebühren: Alle Kaufanfragen sind in Sandbox-Modus kostenlos
  • Geschwindigkeitsverstärkte Abonnements: Die Abonnementdauern werden für schnellere Tests verkürzt
    • 1-wöchige Abonnement = 3 Minuten
    • 1-monatiges Abonnement = 5 Minuten
    • 2-monatiges Abonnement = 10 Minuten
    • 3-monatiges Abonnement = 15 Minuten
    • 6-monatiges Abonnement = 30 Minuten
    • 1-jähriges Abonnement = 1 Stunde
  • Automatische Erneuerungsgrenze: Abonnements erneuern sich bis zu 6 Mal im Sandbox-Modus
  • Sofortige Kündigung: Abonnement wird sofort gekündigt
  • Mehrere Testkonten für verschiedene Szenarien erstellen
  • Testkonten nur auf Testgeräten verwenden
  • Verwende nicht deinen persönlichen Apple-Kundenkonto für Sandbox-Tests
  • Testkonten können Produkte beliebig kaufen, unabhängig von der Region
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);

Wenn Sie alles richtig eingerichtet haben, sollten Sie Folgendes beobachten:

  1. Sandbox-Banner während des Kaufvorgangs: „[Umgebung: Sandbox]“
  2. Produkte laden erfolgreich
  3. Käufe abgeschlossen ohne tatsächliche Gebühren
  4. Quittungen überprüfen richtig
  5. Abonnements automatisch erneuern (bei beschleunigter Geschwindigkeit)

Produkte laden:

  • Überprüfen Sie, ob die Bundle-Identifikationsnummer mit App Store Connect übereinstimmt
  • Ü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 scheitern stillschweigend:

  • Ü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 keine echte Apple-ID ist
  • Versuchen Sie, ein neues Sandbox-Testkonto zu erstellen

Fehler bei der Rechnungsvalidierung:

  • Verwenden Sie in der Testphase die Sandbox-Rechnungsvalidierungs-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 erwarteten Dauern
  • Abonnements werden im Sandbox-Modus höchstens 6 Mal automatisch erneuert

„Diese Apple-ID wurde noch nicht im iTunes Store verwendet“:

  • Dies ist normal für neue Sandbox-Konten
  • Mit der Kaufabwicklung aktivieren Sie das Konto
  • Erstes Mal verwendet
  1. Erstellen Sie mehrere Testkonten für verschiedene Testfälle
  2. Testen Sie alle Abonnementdauern um das Verhalten zu überprüfen
  3. Testen Sie die Stornierung und die Wiederholung der Flüsse
  4. Überprüfen Sie die Gültigkeit der Einkaufsbestätigung funktioniert richtig
  5. Kaufwiederherstellung testen Funktionalität
  6. Überprüfen Sie die Aktualisierung/Herabstufung der Abonnement Verhalten
  7. Testen Sie unter schlechten Netzwerkbedingungen

Produktion vs. Sandbox

Funktion
SandboxProduktionEchte Gebühren
NeinAbschnitt mit dem Titel “Produktion vs. Sandbox”Ja
AbonnementdauerGeschwindigkeitsverstärkterNormal
Automatische Verlängerungsgrenze6 MalUnbegrenzt
KündigungseffektSofortAblaufdatum
Empfangs-EndpunktSandbox-URLProdukt-URL
Nur TestkontenJaNein

Weitere Informationen finden Sie in der offiziellen Apple StoreKit-Dokumentation zu Sandbox-Tests.

Weitermachen Sie mit der Konfiguration von iOS-Sandbox-Tests

Abschnitt mit dem Titel „Weitermachen Sie mit der Konfiguration von iOS-Sandbox-Tests“

Wenn Sie Capacitor verwenden iOS Sandbox-Testkonfiguration einrichten um die Genehmigung und Verteilung im App Store zu planen, verbinden Sie es mit Verwendung von @capgo/native-purchases für die native Fähigkeit in Verwendung von @capgo/native-purchases, für die Implementierungsdetail in @capgo/capacitor-in-app-review für die Implementierungsdetail in @capgo/capacitor-in-app-review, Verwendung von @capgo/capacitor-in-app-review für die native Fähigkeit in Verwendung von @capgo/capacitor-in-app-review, für die Implementierungsdetail in @capgo/capacitor-native-market für die Implementierungsdetail in @capgo/capacitor-native-market, und Verwendung von @capgo/capacitor-native-market für die native Fähigkeit in Verwendung von @capgo/capacitor-native-market.