iOS App Store Review Richtlinien für IAP
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Um Ihre App im App Store zu genehmigen, erfordert es sorgfältige Beachtung der Richtlinien von Apple, 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 auf Ihrer ersten Einreichung zu bestehen.

Bevor Sie Einreichen
Abschnitt: "Bevor Sie Einreichen"App Store Connect-Setup abschließen
Abschnitt: "App Store Connect-Setup abschließen"Stellen Sie sicher, dass das App-Record selbst vor der Überprüfung durch Apple vollständig ist:
- Fügen Sie ein URL der Datenschutzrichtlinie in App Store Connect
- Fügen Sie ein Support-URL hinzu der zu realen Kontaktinformationen für Benutzer führt
- Erledigen Sie das __CAPGO_KEEP_0__ Altersfreigabe __CAPGO_KEEP_1__ Umfrage, damit die App veröffentlicht werden kann
- __CAPGO_KEEP_2__ Hinzufügen __CAPGO_KEEP_3__ Kontaktinformationen für die App-Bewertung __CAPGO_KEEP_4__ und klare Notizen für den Rezensenten
- __CAPGO_KEEP_5__ Wenn ein Login erforderlich ist, stellen Sie ein __CAPGO_KEEP_6__ Demo-Konto bereit, das während der Überprüfung nicht abläuft
__CAPGO_KEEP_10__ Vorbereiten von echten Screenshots
Abschnitt mit dem Titel “Vorbereitung von echten Screenshots”- Verwenden Sie die aktuellen Screenshots aus dem tatsächlichen Build, der zur Überprüfung steht
- Für iPhone ist
1290 x 2796(6,7 Zoll) die einfachste Standardgröße - Wenn Ihre App auf einem iPad läuft, laden Sie auch iPad-Screenshots hoch
- Die aktuellen akzeptierten großen iPad-Größen umfassen
2064 x 2752(13 Zoll) und2048 x 2732(12,9 Zoll) - Strecken Sie iPhone-Screenshots nie, um eine fiktive iPad-Unterstützung vorzutäuschen
Durchführen Sie einen Trockentest der Rezensionsreise in TestFlight
Abschnitt mit dem Titel “Durchführen Sie einen Trockentest der Rezensionsreise in TestFlight”Führen Sie den genauen Weg durch, den Apple auf einem realen Gerät verfolgen wird:
- Installen Sie die neueste Version aus TestFlight
- Melden Sie sich mit dem Rezensionskonto an, das Sie bereitstellen möchten
- Erreichen Sie den Paywall ohne versteckte Gesten oder Debug-Menüs
- Abschließen Sie Kauf-, Wiederherstellungs- und -Verwaltung-Abonnements-Flüsse
- Überprüfen Sie, ob die App korrekt funktioniert, wenn die Berechtigungen abgelehnt werden
In-App-Kaufanforderungen
Abschnitt mit dem Titel „In-App-Kaufanforderungen“Preistransparenz (Kritisch)
Abschnitt mit dem Titel „Preistransparenz (Kritisch)“Apple erfordert eine klare Preisoffenlegung vor jedem Kauf:
Zwingend erforderliche Elemente:
- Zeigen Sie den genauen Preis vor dem Kauf-Button an
- Zeige Rechnungsintervall (z.B. „9,99 €/Monat“)
- Beschreibe klar, was Nutzer für ihr Geld bekommen
- Zeige, wann Gebühren anfallen
Häufige Ablehnung:
"Die Abonnementpreise müssen klar und vorab angegeben werden."
:::Vorsicht Preis-Konsistenz Alle Preise müssen übereinstimmen in:
- App Store-Metadaten-Liste
- In-App-Kaufschirm
- Abonnement-Verwaltungsschirm
Even ein 1 €-Widerspruch zwischen der Store-Liste (4,99 €) und der App (5,99 €) wird eine automatische Ablehnung auslösen. :::
Präsentation des Abonnementplans
Abschnitt mit dem Titel „Präsentation des Abonnementplans“Erforderliche Offenlegungen:
- Alle verfügbaren Abonnementstufen nebeneinander angezeigt
- Klare Vergleichbarkeit der Funktionen pro Stufe
- Keine automatische Umstellung auf Premium-Stufen durch UI-Tricks
- Einfache, leicht zu lokalisierende Anweisungen zur Kündigung

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> );}Wiederherstellung von Kaufleistungen
Abschnitt mit dem Titel „Wiederherstellung von Kaufleistungen“Erforderliche Implementierung:
Jedes App mit IAP muss eine Möglichkeit bieten, damit Benutzer vorherige Kaufs an die vorherigen Käufe wiederherstellen, ohne das Support zu kontaktieren.
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“Warum es scheitert:
- Die App stürzt beim Start ab
- Der Kaufprozess schlägt fehl
- Die in den Screenshots gezeigten Funktionen funktionieren nicht
Verhütung:
- Testen Sie die App auf echten Geräten (nicht nur auf Simulatoren)
- Alle Abonnementströme testen Ende-zu-Ende
- Überprüfen Sie die Gültigkeit von Erhaltungen
- Überprüfen Sie die Fehlerbehandlung des Netzwerks
2. Metadatendaten stimmen nicht überein
Abschnitt mit dem Titel „2. Metadatendaten stimmen nicht überein”Warum es scheitert:
- Bildschirme zeigen Funktionen, die nicht im aktuellen Build enthalten sind
- Beschreibung erwähnt Funktionen, die nicht existieren
- Preise im Metadaten stimmen nicht mit den in-app-Preisen überein

Vorbeugung:
// 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. Fehlende Berechtigungsbeschreibungen
Abschnitt mit dem Titel „3. Fehlende Berechtigungsbeschreibungen“Warum es scheitert:
- Kamera/Standort/Gesundheitszugriff ohne Erklärung anfordern
- Berechtigungsanfragen in mehreren Bildschirmen tief verborgen
- Vage oder allgemeine Berechtigungsbeschreibungen
Verhütung:
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 “Nummer 1-App in der Welt” ohne Beweise
- “Unbegrenzte” Funktionen mit versteckten Grenzen
- Fiktive Dringlichkeitsstrategien (“Nur noch 2 Plätze frei!”)


Verhütung:
- Seien Sie spezifisch und faktisch in Beschreibungen
- Vermeiden Sie Superlativen ohne Beweise
- Drücken Sie die Benutzer nicht mit fiktiver Knappheit
5. Versteckte Stornierungsvorgang
Abschnitt mit dem Titel „5. Versteckte Stornierungsvorgang“Warum es scheitert:
- Keine Angabe, wie man stornieren kann
- Stornierungsschaltfläche versteckt oder behindert
- Mehrschrittiger Stornierungsvorgang ohne Apple’s native Flow
Verhütung:
// 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();}Privatsphäre & Datenverwendung (Abschnitt 5.1.1)
Abschnitt mit dem Titel „Privatsphäre & Datenverwendung (Abschnitt 5.1.1)“Apple hat die Anforderungen an die Privatsphäre in 2025 erheblich verschärft.
Erforderliche Offenlegungen
Sektion mit dem Titel „Zwingende Offenlegungspflichten“Für jede Berechtigung:
- Warum Sie es benötigen (spezifischer Einsatzfall)
- Wenn es verwendet wird
- Wie Daten gespeichert/geshared werden
- Ob es optional oder erforderlich ist
Beispiel: Ordentliche Berechtigungsablauf
Sektion mit dem Titel „Beispiel: Ordentlicher Berechtigungsablauf“async 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
Sektion mit dem Titel „Datenschutz-Nährwertetiketten“Stellen Sie sicher, dass Ihre App-Store-Datenschutzetiketten genau folgende Informationen widerspiegeln:
- Kaufhistorie-Sammlung
- E-Mail-Adressen (für Rechnungen)
- Geräte-IDs (für Betrugsverhinderung)
- Nutzungsdaten (für Analysen)
Falsche 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 Kaufabläufe
- Kauft man jede Abonnementstufe
- Testen Sie kostenlose Testversionen
- Überprüfen Sie, ob Einführungsangebote korrekt angewendet werden
- Test Kaufwiederherstellung
- Überprüfen Sie die Familienfreigabe (wenn aktiviert)
- Testen Sie auf mehreren Geräten
-
Überprüfen Sie die Preisgültigkeit
- Überprüfen Sie, ob die App-Store-Metadaten mit den In-App-Preisen übereinstimmen
- Überprüfen Sie, ob alle Währungen korrekt sind
- Bestätigen Sie, dass die Dauer der kostenlosen Probezeit den Beschreibungen entspricht
- Überprüfen Sie, ob die Bedingungen für Einführungsangebote genau sind
-
Überprüfen Sie alle Texte
- Entfernen Sie Leerzeichen
- Überprüfen Sie, ob alle Behauptungen testbar sind
- Überprüfen Sie Rechtschreibung und Grammatik
- Stellen Sie sicher, dass Beschreibungen der aktuellen Build entsprechen
- Entfernen Sie Erwähnungen von Konkurrenten
-
Testen Sie Berechtigungen
- Bitten Sie nur notwendige Berechtigungen an
- Zeigen Sie klare Erklärungen vor der Anfrage an
- Testen Sie „Ablehnen“-Flüsse (Die App sollte noch funktionieren)
- Überprüfen Sie, ob die Beschreibungen in Info.plist klar sind
-
Vorbereiten Sie ein Testkonto
- Erstellen Sie ein Rezensionskonto, das während der Überprüfung gültig bleibt
- Dokumentieren Sie Anmeldeinformationen in der App-Bewertungsinformation
- Überprüfen Sie, ob der Rezensent den Paywall erreichen und den Kaufprozess abschließen kann
- Fügen Sie zusätzliche Konten oder App-spezifische Schalter in der Notizen-Feld, wenn erforderlich
-
Überprüfe die Metadaten
- Bildschirminhalte stimmen der aktuellen Oberfläche
- Support-URL enthält reale Kontaktinformationen
- URL der Datenschutzrichtlinie ist ausgefüllt
- Alterseinstufung entspricht dem Inhalt im Build
- App-Videovorschau (falls vorhanden) zeigt die aktuelle Version
- Beschreibung beschreibt die Funktionen genau
- Datenschutzrichtlinie ist in der App und im Laden verfügbar
-
Schreibe detaillierte Notizen für die Bewertung
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.
Bewertungszeitplan
Abschnitt mit dem Titel „Bewertungszeitplan“
Standard-Bewertung: 24-48 Stunden Hochbelastungszeiten: 3-5 Tage (Veröffentlichungen von App Store-Holiday-Releases) Wochenenden: Keine Bewertungen werden verarbeitet Geschwindereview: Verfügbar für kritische Fehlerbehebungen (Anfrage über App Store Connect)
Gemeinsame Status, die Sie in App Store Connect sehen werden:
Waiting for ReviewIn ReviewPending Developer ReleaseRejected
2026 Einreichungsschwerpunkt
Abschnitt mit dem Titel „2026 Einreichungsschwerpunkt“aktuelle Schwerpunkte
Abschnitt mit dem Titel „aktuelle Schwerpunkte“1. Abonnementklarheit
- Seitensprungvergleiche erforderlich
- Keine ' dunklen Muster' , die günstigere Optionen verbergen
- Klare Ab- und Aufstiegswege
2. Metadaten-Accurazie
- Bildschirmfotos müssen dem zu überprüfenden Build entsprechen
- Falls iPad-Unterstützung aktiviert ist, sind iPad-Bildschirmfotos erforderlich
- Die Unterstützungs-URL und die Datenschutzbestimmungen sollten bereits vor der Einreichung live sein
3. Datenschutz und Bewertungsdetailqualität
- Die Datenschutzbestimmungen müssen den tatsächlichen Datensätzen entsprechen, die Ihre SDKs sammeln
- 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 Bewertungszeit gültig bleiben
4. Einreichereife
- Apple updates minimum SDK requirements regularly, so confirm the current deadline before uploading a release build
- TestFlight ist der sichere Ort, um die genaue Bewertungsroute vor der Einreichung zu überprüfen
Best Practices für den Native Purchases Plugin
Erfolgreiche Implementierung von FehlerbehandlungenErfolgreiche Implementierung von Fehlerbehandlungen
Best Practices für den Native Purchases Pluginimport { 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.'); } }}Anzeige von Ladezuständen
Abschnitt mit dem Titel „Anzeige von Ladezustenden“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> );}Zeigen Sie die Bedingungen klar an
Abschnitt mit dem Titel „Zeigen Sie die Bedingungen klar an“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
Abschnitt 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 Problem - beheben Sie die Ursache
- Testen Sie die Lösung 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. -
Wiedereinreichen Sie schnell
- Wiedereinreichungen werden in der Regel schneller bearbeitet
- In der Regel innerhalb von 24 Stunden
Berufungsvorkehrungen
BewerbungsverfahrenWenn Sie der Meinung sind, dass die Ablehnung falsch ist:

- Klicken Sie auf "Bewerbung" in App Store Connect
- Bieten Sie klare Beweise an:
- Bildschirmfotos, die die Einhaltung nachweisen
- Verweise auf spezifische Richtlinien
- Erklärung, wie Sie die Anforderungen erfüllen
- Seien Sie professionell und faktenbasiert
- Fügen Sie ein Testkonto hinzu, wenn die Funktion schwer zu finden ist

Zusätzliche Ressourcen
Abschnitt mit dem Titel „Zusätzliche Ressourcen”- Apple App Store-Bewertungsleitlinien
- Leitlinien für In-App-Käufe
- Best Practices für Abonnements
- Hilfe für App Store Connect
- Bildschirmfotospezifikationen
- Plattformversionen
Wenn Sie weiterhin Probleme haben:
- Überprüfen Sie Dokumentation zu Native Purchases
- Überprüfen gemeinsame Fehlerbehebungsprobleme
- Kontaktieren Sie den Apple Developer Support für Klarstellungen der Richtlinien
Brauchen Sie Experten-Hilfe?
Abschnitt mit dem Titel „Brauchen Sie Experten-Hilfe?“Haben Sie Schwierigkeiten mit der App-Bewertung oder benötigen Sie persönliche Unterstützung? Buchen Sie einen Beratungstermin mit unserem Team für eine dedizierte Unterstützung mit:
- Überprüfung und Optimierung der IAP-Implementierung
- Vorbereitung und Strategie für die App-Store-Bewertung
- Überprüfung des Einreichungschecklisten
- Auflösung von Ablehnungen und Beschwerden
- Vollständige Testung und Validierung
Unsere Experten haben bereits hunderten von Apps geholfen, die Überprüfung erfolgreich zu bestehen!
Weitermachen Sie von den iOS App Store Review Guidelines für IAP
Abschnitt mit dem Titel “Weitermachen Sie von den iOS App Store Review Guidelines für IAP”Wenn Sie " iOS App Store Review Guidelines für IAP zum Planen der Genehmigung und Verteilung im App Store verwenden und ihn mit Verwenden Sie @capgo/native-purchases für die native Fähigkeit in Verwenden Sie @capgo/native-purchases, Verwenden Sie @capgo/capacitor-in-app-review für die Implementierungsdetails in Verwenden Sie @capgo/capacitor-in-app-review, Verwenden Sie @capgo/capacitor-in-app-review für die native Fähigkeit in Using @capgo/capacitor-in-app-Bewertung @capgo/capacitor-native-Markt für die Implementierungsdetails in @capgo/capacitor-native-Markt, und Using @capgo/capacitor-native-Markt für die native Fähigkeit in Using @capgo/capacitor-native-Markt.