iOS App Store Review Richtlinien für IAP
Eine Setup-Anleitung mit den Installations-Schritten und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Um Ihre App im App Store zu genehmigen, benötigen Sie sorgfältige Aufmerksamkeit für Apples Richtlinien, insbesondere bei der Implementierung von In-App-Käufen und Abonnements. Diese Anleitung deckt alles ab, was Sie wissen müssen, um die Überprüfung bei Ihrer ersten Einreichung zu bestehen.

Bevor Sie Einreichen
Abschnitt mit dem Titel „Bevor Sie Einreichen“App Store Connect-Einrichtung abschließen
Abschnitt mit dem Titel „App Store Connect-Einrichtung abschließen“Bevor Apple Ihren Kauffluss überprüft, stellen Sie sicher, dass das App-Record selbst vollständig ist:
- Hinzufügen eines URL der Datenschutzrichtlinie in App Store Connect
- Hinzufügen eines Support-URL dort finden Benutzer Kontaktinformationen
- Complete the Altersfreigabe-Befragung abschließen, damit die App veröffentlicht werden kann Add
- Kontaktinformationen für App-Reviews und klare Notizen des Rezensenten If login ist erforderlich, stellen Sie ein Demo-Konto bereit, das während der Überprüfung nicht abläuft
- Note Hinweis
Echte Screenshots vorbereiten
Abschnitt mit dem Titel „Echte Screenshots vorbereiten“- Verwenden Sie Screenshots aus dem aktuellen Build, der zur Überprüfung steht
- Für iPhone ist
1290 x 2796(6,7 Zoll) die einfachste Standardgröße - Wenn Ihre App auf iPad läuft, sollten Sie auch iPad-Screenshots hochladen
- Die aktuellen akzeptierten großen iPad-Größen umfassen
2064 x 2752(13 Zoll) und2048 x 2732(12,9 Zoll) - Nie dehnen Sie iPhone-Screenshots, um eine fiktive iPad-Unterstützung vorzutäuschen
Dry-Run die Rezensionsreise in TestFlight
Abschnitt mit dem Titel “Dry-Run die Rezensionsreise in TestFlight”Führen Sie den genauen Weg aus, den Apple auf einem realen Gerät verfolgt:
- Installieren Sie die neueste Version aus TestFlight
- Melden Sie sich mit dem Rezensionskonto an, das Sie bereitstellen möchten
- Erreichen Sie die Zahlungsschranke ohne versteckte Gesten oder Debug-Menüs
- Abschließen Sie Kauf-, Wiederherstellungs- und Abonnement-Flows
- Überprüfen Sie, ob die App korrekt verhält, wenn die Berechtigungen abgelehnt werden
Anforderungen an In-App-Käufe
Abschnitt mit dem Titel “Anforderungen an In-App-Käufe”Preistransparenz (Kritisch)
Abschnitt mit dem Titel “Preistransparenz (Kritisch)”Apple verlangt eine klare Preisoffenlegung vor jedem Kauf:
Wichtige Elemente:
- Zeige den genauen Preis vor dem Kaufbutton an
- Zeige die Abrechnungshäufigkeit (z.B. „9,99 $/Monat“) an
- Erkläre klar, was die Benutzer für ihr Geld bekommen
- Deutlich anzeigen, wann Gebühren anfallen
Häufige Ablehnung:
“Subscription pricing must be clear and upfront.”
Warnung Preis Konsistenz Alle Preise müssen übereinstimmen in:
- App Store-Metadaten-Liste
- In-App-Kaufschirmen
- Abonnement-Verwaltungsschirmen
Even ein $1 Widerspruch zwischen dem Ladenangebot ($4,99) und der App ($5,99) wird automatisch abgelehnt. :::
Abonnementplan-Präsentation
Abschnitt mit dem Titel “Abonnementplan-Präsentation”Erforderliche Offenlegungen:
- Alle verfügbaren Abonnementebenen werden zusammen angezeigt
- Klare Vergleichbarkeit der Funktionen pro Ebene
- Keine automatische Abstimmung auf Premiumebenen durch UI- Tricks
- Einfache zu lokalisierende Abmeldeanweisungen

Beispiel für eine konforme UI:
import { NativePurchases } from '@capgo/native-purchases';
function SubscriptionScreen() { return ( <div> <h2>Choose Your Plan</h2>
{/* Show all tiers equally */} <PlanCard title="Basic" price="$4.99/month" features={['Feature A', 'Feature B']} /> <PlanCard title="Premium" price="$9.99/month" features={['All Basic', 'Feature C', 'Feature D']} highlighted={false} // Don't force premium />
{/* Clear cancellation info */} <Text> Cancel anytime in Settings > Subscriptions. No refunds for partial periods. </Text> </div> );}Wiederherstellen von Kaufleistungen
Abschnitt mit dem Titel „Wiederherstellen von Kaufleistungen“Erforderliche Implementierung:
Jedes App mit IAP muss eine Möglichkeit bieten, damit Benutzer ihre vorherigen Kaufleistungen ohne Unterstützung wiederherstellen können.
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function restorePurchases() { try { await NativePurchases.restorePurchases();
const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, });
const activeSub = purchases.find( (purchase) => purchase.isActive && purchase.expirationDate, );
if (activeSub) { unlockPremiumFeatures(); showMessage('Purchases restored successfully!'); return; }
const { purchases: iaps } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.INAPP, }); const hasIap = iaps.some((purchase) => purchase.productIdentifier === 'premium_unlock');
showMessage( hasIap ? 'Premium purchase restored!' : 'No previous purchases found.', ); } catch (error) { showError('Failed to restore purchases. Please try again.'); }}
// Add a visible "Restore Purchases" button<Button onClick={restorePurchases}> Restore Purchases</Button>Häufige Ablehnungsgründe
Abschnitt mit dem Titel „Häufige Ablehnungsgründe“1. App stürzt ab oder Funktionen sind beschädigt
Abschnitt mit dem Titel „1. App stürzt ab oder Funktionen sind beschädigt“Weshalb es scheitert:
- Die App stürzt beim Start ab
- Der Kauffluss schlägt fehl und kann nicht abgeschlossen werden
- Features in den Bildschirmfotos funktionieren nicht
Prävention:
- Testen Sie auf echten Geräten (nicht nur auf Simulatoren)
- Testen Sie alle Abonnements-Flüsse von Anfang bis Ende
- Überprüfen Sie, ob die Empfangsbestätigung funktioniert
- Überprüfen Sie die Netzwerkfehlerbehandlung
2. Metadaten-Missverhältnisse
Abschnitt mit dem Titel „2. Metadaten-Missverhältnisse“Warum es scheitert:
- Bildschirmfotos zeigen Funktionen, die nicht im aktuellen Build enthalten sind
- Beschreibung erwähnt Funktionen, die nicht existieren
- Preise in den Metadaten stimmen nicht mit den In-App-Preisen überein

Prävention:
// Document exactly what's in each tierconst SUBSCRIPTION_FEATURES = { basic: ['Ad-free', 'Cloud sync', 'Basic themes'], premium: ['Ad-free', 'Cloud sync', 'All themes', 'Priority support']};
// Use these in both your app AND App Store description3. Erklärungen für fehlende Berechtigungen
Abschnitt mit dem Titel „3. Erklärungen für fehlende Berechtigungen“Warum es scheitert:
- Kamera/Standort/Gesundheitsdaten ohne Erklärung anfordern
- Berechtigungsanfragen in mehreren Bildschirmen tief vergraben
- Vage oder allgemeine Berechtigungsbeschreibungen
Prävention:
Aktualisieren Sie Ihr Info.plist mit klaren Erklärungen:
<key>NSCameraUsageDescription</key><string>Camera access is needed to scan product barcodes for quick subscription upgrades.</string>
<key>NSLocationWhenInUseUsageDescription</key><string>Location helps us show relevant local content in your Premium subscription.</string>4. Irreführende Werbung
Abschnitt mit dem Titel „4. Irreführende Werbung“Warum es scheitert:
- Behauptungen wie „#1-App der Welt“ ohne Beweise
- „Unbegrenzte“ Funktionen mit versteckten Grenzen
- Falsche Dringlichkeitsstrategien („Nur noch 2 Plätze frei!“)


Prävention:
- Seien Sie in Beschreibungen spezifisch und faktenbasiert
- Vermeiden Sie Superlativen ohne Beweise
- Drängen Sie die Benutzer nicht mit fiktiver Knappheit
5. Versteckte Stornierung
Abschnitt mit dem Titel „5. Versteckte Stornierung“Weshalb es scheitert:
- Keine Erwähnung, wie man stornieren kann
- Stornierungs-Button versteckt oder behindert
- Stornierungsprozess in mehreren Schritten ohne Apple’s native Flow
Prävention:
// Always inform users about cancellationfunction SubscriptionInfo() { return ( <div> <h3>How to Cancel</h3> <ol> <li>Open iPhone Settings</li> <li>Tap your name at the top</li> <li>Tap Subscriptions</li> <li>Select this app and tap Cancel</li> </ol>
<p>Or manage directly in the App Store app.</p>
<Button onClick={openSubscriptionManagement}> Manage Subscription in Settings </Button> </div> );}
async function openSubscriptionManagement() { // Direct link to iOS subscription management await NativePurchases.showManageSubscriptions();}Datenschutz & Datenverwendung (Abschnitt 5.1.1)
Datenvertraulichkeit und -nutzung (Abschnitt 5.1.1)Apple hat die Datenschutzanforderungen 2025 erheblich verschärft.
Zwingende Offenlegungspflichten
Datenvertraulichkeit und -nutzung (Abschnitt 5.1.1)Für jede Erlaubnis:
- Wozu Sie es benötigen (spezifischer Einsatzfall)
- Wann es verwendet wird
- Wie Daten gespeichert/geschickt werden
- Ob es optional oder erforderlich ist
Beispiel: Ordentliche Erlaubnisablauf
Beispiel: Ordentliche Erlaubnisablaufasync function requestCameraPermission() { // Show explanation BEFORE requesting await showDialog({ title: 'Camera Access', message: 'We need camera access to let you scan barcodes for quick product lookup. Your photos are never uploaded or stored.', buttons: ['Not Now', 'Allow'] });
// Then request permission const result = await Camera.requestPermissions(); return result.camera === 'granted';}Datenschutz-Nährwertetiketten
Abschnitt mit dem Titel “Datenschutz-Nährwertetiketten”Stellen Sie sicher, dass Ihre App-Store-Datenschutzetiketten genau so aussehen, wie sie sein sollten:
- Sammlung von Kaufgeschichten
- E-Mail-Adressen (für Rechnungen)
- Geräte-IDs (für Betrugsprävention)
- Nutzungsdaten (für Analysen)
Unzutreffende Datenschutzetiketten sind eine häufige Ablehnungsgrund in 2025. Überprüfen Sie Ihre Datensammlung sorgfältig.
Vorab-Überprüfungsliste
Abschnitt mit dem Titel “Vorab-Überprüfungsliste”
-
Testen Sie alle Kaufflüsse
- Jeder Abonnementstufe kaufen
- Freitrialfunktion testen
- Überprüfen, ob Einführungsangebote korrekt angewendet werden
- Wiederherstellungskaufverträge testen
- Überprüfen, ob Familienfreigabe (falls aktiviert) funktioniert
- Auf mehreren Geräten testen
-
Überprüfen, ob die Preise konsistent sind
- Überprüfen, ob die App-Store-Metadaten mit den in-app-Preisen übereinstimmen
- Überprüfen, ob alle Währungen korrekt sind
- Bestätigen, dass die Dauer der kostenlosen Testversion mit den Beschreibungen übereinstimmt
- Überprüfen, ob die Bedingungen für Einführungsangebote genau sind
-
Alle Kopien überprüfen
- Entferne Platzhalter-Text
- Überprüfe, ob die Behauptungen testbar sind
- Überprüfe Grammatik und Rechtschreibung
- Stelle sicher, dass Beschreibungen der aktuellen Build entsprechen
- Entferne Erwähnungen von Konkurrenten
-
Teste Berechtigungen
- Berechtige sich nur auf notwendige Berechtigungen
- Zeige klare Erklärungen vor der Anfrage
- Teste 'Ablehnen'-Flüsse (die App sollte weiterhin funktionieren)
- Überprüfe, ob die Beschreibungen von Info.plist klar sind
-
Vorbereite Testkonto
- Erstelle ein Rezensionskonto, das während der Überprüfung gültig bleibt
- Dokumentiere Anmeldeinformationen in der App-Bewertungsinformation
- Überprüfe, ob der Rezensent den Paywall erreichen und den Kaufprozess abschließen kann
- Fügen Sie zusätzliche Konten oder App-spezifische Schalter in den Anmerkungen hinzu, wenn erforderlich
-
Überprüfe die Metadaten
- Bildschirme passen sich der aktuellen Benutzeroberfläche an
- Unterstützungs-URL enthält echte Kontaktinformationen
- Die URL der Datenschutzrichtlinie ist ausgefüllt
- Die Altersfreigabe entspricht dem Inhalt im Build
- Die App-Vorschau-Video (falls vorhanden) zeigt die aktuelle Version
- Die Beschreibung beschreibt die Funktionen genau
- Die Datenschutzrichtlinie ist in der App und im Laden-Listing zugänglich
-
Schreiben Sie detaillierte Anmerkungen zur Rezension
Contact:Name: Jane DeveloperEmail: review@yourapp.comPhone: +1 555-0100Test Account:Email: reviewer@test.comPassword: TestPass123!This account does not expire during review.Testing Instructions:1. Log in with test account above2. Tap "Upgrade to Premium" button3. Select "Monthly Premium" subscription4. Complete purchase (no charge in sandbox)5. Verify premium features unlockNote: Subscription pricing is clearly shown before purchase.Cancellation instructions are in Settings > Account.
Überprüfung der Zeitlinie
Sektion mit dem Titel „Überprüfung der Zeitlinie“
Standard-Bewertung: 24-48 Stunden Hochbetriebszeiten: 3-5 Tage (App Store-Holiday-Veröffentlichungen) Wochenenden: Keine Bewertungen verarbeitet Expedierter Review: Verfügbar für kritische Fehlerbehebungen (Anfrage über App Store Connect)
Gemeinsame Statusmeldungen, die Sie in App Store Connect sehen werden:
Waiting for ReviewIn ReviewPending Developer ReleaseRejected
2026 Submission Focus
Abschnitt mit dem Titel „2026 Submission Focus“Aktuelle Schwerpunktbereiche
Abschnitt mit dem Titel „Aktuelle Schwerpunktbereiche“1. Abonnementklarheit
- Seitliche Vergleiche von Tarifplänen erforderlich
- Keine 'dunklen Muster', die günstigere Optionen verbergen
- Klare Ab- und Aufstiegswege
2. Genauigkeit der Metadaten
- Die Screenshots müssen dem zu überprüfenden Build entsprechen
- Falls iPad-Unterstützung aktiviert ist, sind iPad-Screenshots erforderlich
- Die Support-URL und die Datenschutzrichtlinie sollten bereits vor der Einreichung aktiv sein
3. Qualität der Datenschutz- und Überprüfungsdetails
- Die Datenschutzmitteilungen müssen den tatsächlich von Ihren SDKs gesammelten Daten entsprechen
- Die Kontaktinformationen und Notizen für das App-Review sollten vollständig auf der ersten Einreichung sein
- Die Demo-Anmeldeinformationen müssen während der gesamten Überprüfungszeit gültig bleiben
4. Einreichungsbereitschaft
- Apple updates minimum SDK requirements regularly, so confirm the current deadline before uploading a release build
- TestFlight ist der sichere Ort, um den genauen Prüferweg vor der Einreichung zu überprüfen
Best Practices für den Native Purchases Plugin
Sektion mit dem Titel „Best Practices für Native Kauf-Plugin“Eigentliche Fehlerbehandlung durchführen
Sektion mit dem Titel „Eigentliche Fehlerbehandlung durchführen“import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function handlePurchase(productId: string) { try { const transaction = await NativePurchases.purchaseProduct({ productIdentifier: productId, productType: PURCHASE_TYPE.SUBS, });
// Success await validateReceiptOnServer(transaction.receipt); showSuccess('Subscription activated!'); unlockFeatures();
} catch (error: any) { // Handle specific error cases if (error.code === 'USER_CANCELLED') { // User cancelled - don't show error console.log('Purchase cancelled by user'); } else if (error.code === 'PAYMENT_PENDING') { showInfo('Payment is pending. Please check back later.'); } else if (error.code === 'PRODUCT_ALREADY_PURCHASED') { // Restore instead await NativePurchases.restorePurchases(); } else { // Show user-friendly error showError('Unable to complete purchase. Please try again.'); } }}Laden Sie die Zustände an
Sektion mit dem Titel „Laden Sie die Zustände an“function PurchaseButton({ productId }: { productId: string }) { const [loading, setLoading] = useState(false);
const handlePurchase = async () => { setLoading(true); try { await NativePurchases.purchaseProduct({ productIdentifier: productId }); } finally { setLoading(false); } };
return ( <button onClick={handlePurchase} disabled={loading}> {loading ? 'Processing...' : 'Subscribe Now'} </button> );}Begriffe offensichtlich darstellen
Sektion mit dem Titel „Begriffe offensichtlich darstellen“function SubscriptionTerms() { return ( <div className="terms"> <p> Subscription automatically renews unless cancelled at least 24 hours before the end of the current period. </p> <p> Your account will be charged for renewal within 24 hours prior to the end of the current period. </p> <p> Subscriptions may be managed by the user and auto-renewal may be turned off in Account Settings after purchase. </p> <p> <a href="/terms">Terms of Service</a> | <a href="/privacy/">Privacy Policy</a> </p> </div> );}Wenn Ihre App abgelehnt wird
Sektion mit dem Titel „Wenn Ihre App abgelehnt wird“Schritte zur Behebung
Abschnitt mit dem Titel „Schritte zur Behebung“-
Lesen Sie die Ablehnung sorgfältig
- Beachten Sie die spezifische Richtlinie, die zitiert wird (z.B. 3.1.1, 5.1.1)
- Verstehen Sie genau, was Apple beanstandet hat
-
Beheben Sie das Problem gründlich
- Beheben Sie nicht nur das Symptom - beheben Sie die Ursache
- Testen Sie den Fix ausgiebig
- Dokumentieren Sie, was Sie geändert haben
-
Antworten Sie im Resolution Center
Thank you for your feedback. I have addressed the issue:Issue: Subscription pricing not clear upfrontFix: Added explicit pricing display on subscription selectionscreen showing "$9.99/month" before purchase button. Also addedcancellation instructions on the same screen.The changes are in this submission and can be tested using theprovided test account. -
Bereiten Sie sich schnell auf eine erneute Einreichung vor
- Wiederholungsanträge werden üblicherweise schneller geprüft
- Häufig innerhalb von 24 Stunden
Widerspruchsverfahren
Abschnitt mit dem Titel „Widerspruchsverfahren“Wenn Sie glauben, dass die Ablehnung falsch ist:

- Klicken Sie auf „Widerspruch“ in App Store Connect
- Stellen Sie klare Beweise vor:
- Bildschirmfotos, die die Einhaltung zeigen
- Verweise auf spezifische Richtlinien
- Erklärung, wie Sie die Anforderungen erfüllen
- Seien Sie professionell und faktenbasiert
- Bereitschaft von Testkonten, wenn Funktion schwer zu finden ist

Zusätzliche Ressourcen
Abschnitt mit dem Titel „Zusätzliche Ressourcen“- Apple App Store-Bewertungsrichtlinien
- Richtlinien für In-App-Käufe
- Best Practices für Abonnements
- Hilfe zu App Store Connect
- Spezifikationen für Screenshot
- Informationen zur Plattformversion
Unterstützung
Abschnitt mit dem Titel „Unterstützung“If Sie noch Probleme haben:
- Die Dokumentation zu Native Purchases
- Überprüfen Sie Gemeinsame Fehlerbehebungsprobleme
- Kontaktieren Sie Apple Developer Support für Anweisungen zur Klarstellung
Brauchen Sie Expertenhilfe?
Sektion mit dem Titel „Brauchen Sie Expertenhilfe?“Kämpfen Sie mit der App-Bewertung oder benötigen Sie eine persönliche Unterstützung? Bücken Sie eine Beratungskonferenz mit unserem Team zur Unterstützung mit:
- Überprüfung und Optimierung der IAP-Implementierung
- App Store-Bewertungspräparation und -strategie
- Überprüfung des Einreichungschecklisten
- Abweisungserledigung und Beschwerdeverfahren
- Vollständige Testung und Validierung
Unsere Experten haben bereits hunderte von Apps erfolgreich durch die Überprüfung gebracht!
Weitergehen von iOS App Store Review Guidelines für IAP
Abschnitt mit dem Titel “Weitergehen von iOS App Store Review Guidelines für IAP”Wenn Sie iOS App Store Review Guidelines für IAP zur Planung der Ladenfreigabe und -verteilung verwenden, 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 Implementierungsdetails 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 Implementierungsdetails in @capgo/capacitor-Native-Markt, und Mit @capgo/capacitor-Native-Markt für die native Fähigkeit in Mit @capgo/capacitor-Native-Markt.