Zum Inhalt springen

iOS Auto-Renewable Subscription erstellen

GitHub

Automatisch verlängerbare Abonnements bieten wiederkehrenden Zugriff auf Inhalte, Dienste oder Premium-Features in deiner iOS-App. Dieser Guide zeigt dir, wie du Abonnements in App Store Connect erstellst.

Automatisch verlängerbare Abonnements verlängern sich am Ende jedes Abrechnungszeitraums automatisch, bis Nutzer sie kündigen. Sie eignen sich perfekt für:

  • Premium-Inhalte und Features
  • Werbefreie Nutzung
  • Cloud-Speicher und Sync
  • Streaming-Dienste
  • Profi-Tools und Utilities

Bevor du Abonnements erstellst, musst du:

  1. Abonnementgruppe erstellen um deine Abonnements zu organisieren
  2. Eine aktive Mitgliedschaft im Apple Developer Program haben
  3. Bank- und Steuerinformationen in App Store Connect vervollständigen
  1. Zu Abonnements navigieren

    Wähle in App Store Connect deine App aus und gehe zu Monetarisierung > Abonnements.

    Wähle deine Abonnementgruppe oder erstelle bei Bedarf eine neue.

    Navigiere zu Abonnements

  2. Neues Abonnement erstellen

    Klicke auf das + Icon neben deiner Abo-Gruppe, um ein neues Abo hinzuzufügen.

  3. Basisinformationen eingeben

    Referenzname: Beschreibender Name für den internen Gebrauch (nicht für Kunden sichtbar)

    • Beispiele: „Premium Monthly“, „Ultimate Annual“, „Basic Plan“

    Produkt-ID: Eindeutige ID für dieses Abo (kann später nicht geändert werden)

    • Format: com.yourcompany.yourapp.premium_monthly
    • Verwende beschreibende Kleinschreibung mit Unterstrichen
    • Erforderlich für die Konfiguration des native-purchases Plugins

    Abo-Details eingeben

  4. Dauer konfigurieren

    Wählen Sie die Abonnementdauer aus den verfügbaren Optionen:

    • 1 Woche
    • 1 Monat
    • 2 Monate
    • 3 Monate
    • 6 Monate
    • 1 Jahr

    Die Dauer bestimmt das Abrechnungsintervall für die Nutzer.

  5. Preise festlegen

    Klicken Abonnementpreis hinzufügen um die Preise zu konfigurieren:

    Basis-Territorium: Wähle deinen Hauptmarkt (meist dein Land)

    Preis: Abonnement-Preis festlegen

    • Apple konvertiert automatisch in andere Währungen
    • Wähle aus Apples Preisstufen
    • Berücksichtige den wahrgenommenen Wert und Marktpreise

    Preise konfigurieren

  6. Family Sharing (optional)

    Entscheide, ob Family Sharing aktiviert werden soll, damit bis zu 6 Familienmitglieder auf das Abo zugreifen können.

    Aktivieren, wenn:

    • Inhalte für die Familiennutzung geeignet sind
    • Du den Mehrwert erhöhen möchtest
    • Dein Geschäftsmodell dies unterstützt

    Nicht aktivieren, wenn:

    • Das Abo nur für Einzelnutzer gedacht ist
    • Der Inhalt wird für den Nutzer personalisiert
    • Du den Umsatz pro Nutzer maximieren willst
  7. Lokalisierungen hinzufügen

    Abo-Informationen in allen von deiner App unterstützten Sprachen hinzufügen:

    Anzeigename des Abos: Name für Kunden (z. B. „Premium Monatlich“)

    Beschreibung: Kurze Beschreibung des Abonnement-Inhalts

    • Kurz halten und Vorteile betonen
    • Wichtige Features nennen
    • Nutzenversprechen hervorheben

    Lokalisierungen hinzufügen

  8. App Store Werbebild (Optional)

    Ein Werbebild für dieses Abo hochladen (312x390 Pixel):

    • Wird auf der App Store Abo-Seite angezeigt
    • Sollte zum Design deiner App passen
    • Abonnementnamen zur Klarheit angeben
  9. Speichern und Absenden

    Klicken Speichern um das Abonnement zu erstellen.

    Für das erste Abonnement:

    • Muss mit einer neuen App-Version eingereicht werden
    • Bei der nächsten App Store Einreichung beifügen
    • Keine eigenständige Einreichung möglich

    Für Folge-Abonnements:

    • Direkt über die Subscriptions-Seite einreichbar
    • Keine neue App-Version erforderlich
    • Verfügbar, sobald das erste Abo genehmigt wurde

Dein Abonnement hat einen dieser Status:

StatusBeschreibungTestbar?
Metadaten fehlenSetup unvollständigJa (Sandbox)
Bereit zur EinreichungAbgeschlossen, nicht eingereichtJa (Sandbox)
Wartet auf ReviewBei Apple eingereichtJa (Sandbox)
In PrüfungWird von Apple geprüftJa (Sandbox)
GenehmigtZum Kauf verfügbarJa
AbgelehntÄnderungen erforderlichJa (Sandbox)

Sobald das Abonnement erstellt ist, referenzierst du es in deiner App über die Product ID:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch subscription products direct from StoreKit
const { products } = await NativePurchases.getProducts({
productIdentifiers: [
'com.yourcompany.yourapp.premium_monthly',
'com.yourcompany.yourapp.premium_annual',
],
productType: PURCHASE_TYPE.SUBS,
});
products.forEach((product) => {
console.log(`${product.title}: ${product.priceString}`);
console.log(`Duration: ${product.subscriptionPeriod}`);
console.log(`Description: ${product.description}`);
});
// Purchase a subscription (StoreKit 2 automatically handles intro pricing and offers)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourcompany.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Transaction ID:', transaction.transactionId);
// StoreKit receipts are included on iOS for server-side validation
await sendReceiptToBackend(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}
// Check subscription status using the store's data
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find(
(purchase) => purchase.productIdentifier === 'com.yourcompany.yourapp.premium_monthly',
);
if (premium?.isActive) {
console.log('Expires:', premium.expirationDate);
console.log('Will renew:', premium.willCancel === false);
console.log('Store state:', premium.subscriptionState);
unlockPremiumFeatures();
} else {
showPaywall();
}

Wenn dein App Store Connect-Abo auf monatliche Abrechnung mit 12-monatiger Bindung konfiguriert ist, kann StoreKit zusätzliche Preisbedingungen für dieses Produkt zurückgeben. Nutze diese Angaben, um die monatlichen Kosten, den Gesamtpreis der Bindung und die gesamte Laufzeit vor dem Kauf anzuzeigen.

const yearlyProduct = products.find(
(product) => product.identifier === 'com.yourcompany.yourapp.premium_annual',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly charge:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
}

Für den vollständigen Paywall- und Entitlement-Flow siehe iOS monatliche Bindungs-Abrechnungspläne.

  • Monatliche Pläne: Niedrigere Einstiegshürde, fördert Gewohnheit
  • Jährliche Pläne: Besserer Wert, höherer LTV, geringere Churn-Rate
  • Mehrere Stufen: Basic, Premium, Ultimate für verschiedene Nutzersegmente
  • Wettbewerbsanalyse: Preisgestaltung ähnlicher Apps recherchieren
  • Verwende konsistente Benennung: company.app.tier_duration
  • Stufe und Dauer in die ID aufnehmen: premium_monthly, ultimate_annual
  • Product IDs nicht ändern (sie sind permanent)
  • Dokumentiere alle Product IDs für dein Team
  • Aktivieren für familienorientierte Apps (Games, Bildung, Entertainment)
  • Auswirkungen auf den Umsatz prüfen
  • Sharing-Verhalten gründlich testen
  • Sharing-Funktion im Marketing hervorheben
  • Alle Abo-Namen und Beschreibungen übersetzen
  • Regionale Preisunterschiede berücksichtigen
  • Anzeige in allen unterstützten Sprachen testen
  • Kulturell passende Marketing-Sprache nutzen
  • Konsistenten visuellen Stil beibehalten
  • Abonnement-Name und Hauptvorteil angeben
  • Für saisonale Aktionen aktualisieren
  • Designsprache der App anpassen
Free App + Premium Subscription
- Basic: Free (limited features)
- Premium Monthly: $4.99
- Premium Annual: $39.99 (save 33%)
- Basic Monthly: $4.99
- Premium Monthly: $9.99
- Ultimate Monthly: $19.99
- Basic Annual: $49.99
- Premium Annual: $99.99
- Ultimate Annual: $199.99
- Credit packs (consumable)
- Monthly subscription (unlimited credits)
- Annual subscription (unlimited + bonus features)

Abo wird in der App nicht geladen:

  • Prüfen, ob die Product ID exakt übereinstimmt (Case-Sensitivity)
  • Prüfen, ob das Abo in einer Subscription Group ist
  • Stelle sicher, dass die Bundle-ID mit App Store Connect übereinstimmt
  • 2–3 Stunden nach dem Erstellen des Produkts warten

Abo kann nicht übermittelt werden:

  • Alle Pflichtfelder ausfüllen (Name, Beschreibung, Preis)
  • Mindestens eine Lokalisierung hinzufügen
  • Prüfen, ob Bank-/Steuerinfos genehmigt wurden
  • Erstes Abo prüfen (App-Version erforderlich)

Family-Sharing-Schalter deaktiviert:

  • Bereits aktiviert (kann nicht deaktiviert werden)
  • In den Abo-Details prüfen
  • Apple Support kontaktieren, wenn du nicht weiterkommst

Preisstufe nicht verfügbar:

  • Kann in einigen Regionen eingeschränkt sein
  • Alternative Preisstufe wählen
  • Apple bei Preisfragen kontaktieren

Fehler „Invalid Product ID“:

  • Muss im Reverse-Domain-Format sein
  • Darf keine Leerzeichen oder Sonderzeichen enthalten
  • Auf Tippfehler prüfen
  • Eindeutigkeit über alle Produkte prüfen

Weitere Details findest du in der offizielle Apple-Dokumentation zu automatisch verlängerbaren Subscriptions.

Wenn du es nutzt iOS Auto-Renewable Subscription erstellen um Store-Zulassung und Distribution zu planen, verknüpfen Sie es mit @capgo/native-purchases verwenden für die native Funktionalität bei der Nutzung von @capgo/native-purchases, @capgo/capacitor-in-app-review für die Implementierungsdetails in @capgo/capacitor-in-app-review, @capgo/capacitor-in-app-review nutzen für die native Funktion bei der Nutzung von @capgo/capacitor-in-app-review, @capgo/capacitor-native-market für das Implementierungsdetail in @capgo/capacitor-native-market, und @capgo/capacitor-native-market nutzen für die native Funktionalität bei der Nutzung von @capgo/capacitor-native-market.