Ein Katalog
Produkte aus App Store Connect und der Play Console werden einem einzigen Entitlement zugeordnet, sodass dein Backend nie nach Plattform verzweigen muss.
Zahlungen
Deine Lovable- oder Bolt-App hat bereits einen Stripe-Checkout. Im App Store und bei Google Play müssen manche dieser Käufe auf In-App-Kauf umgestellt werden, andere dürfen genau so bleiben, wie sie sind. Die Regel ist einfacher, als sie aussieht, sobald du die richtige Frage stellst: Was kauft der Nutzer eigentlich?
Ab $109 einmalig pro Plattform, oder unser Team erledigt alles ab $698.
Apples Richtlinie 3.1.1 und Googles Zahlungsrichtlinie sagen dasselbe mit anderen Worten: Kauft der Nutzer etwas, das in der App genutzt wird (Funktionen, Abos, Credits, Premium-Inhalte), muss der Kauf über das Abrechnungssystem des Stores laufen. Kauft der Nutzer etwas, das außerhalb der App genutzt wird (ein physisches Produkt, einen Haarschnitt, eine Reinigung, ein geliefertes Essen), darf das Abrechnungssystem des Stores nicht verwendet werden, und Stripe ist das richtige Werkzeug.
Apple nennt in 3.1.3 einige ausdrückliche Ausnahmen: Plattformübergreifende Dienste dürfen Nutzern Zugriff auf Inhalte geben, die sie auf deiner Website gekauft haben, solange dieselben Artikel auch in der App per IAP verkauft werden; persönliche Echtzeit-Dienste von Mensch zu Mensch (Nachhilfe, Beratungen) dürfen andere Zahlungsmethoden nutzen; Reader-Apps haben eigene Regeln. Google nimmt physische Waren und Dienstleistungen sowie einige Sonderfälle wie Spenden und Peer-to-Peer-Zahlungen aus. Alles Digitale, das in der App konsumiert wird, fällt unter Play Billing.
| Du verkaufst … | In der iOS-App | In der Android-App | Auf deiner Website |
|---|---|---|---|
| Ein Abo für App-Funktionen (SaaS-Plan, Premium-Stufe) | IAP Pflicht (3.1.1, 3.1.2) | Play Billing Pflicht | Stripe, wie bisher |
| KI-Credits, Tokens, Generierungen | IAP (Verbrauchsartikel) | Play Billing (Verbrauchsartikel) | Stripe |
| Kurse, Vorlagen, Downloads, die in der App genutzt werden | IAP | Play Billing | Stripe |
| Physische Produkte (Shop) | Stripe Pflicht; IAP nicht erlaubt | Stripe; Play Billing nicht erlaubt | Stripe |
| Vor Ort erbrachte Dienstleistungen (Buchungen, Reinigung, Reparaturen) | Stripe | Stripe | Stripe |
| Live-Dienste eins zu eins (Nachhilfe-Call, Beratung) | Stripe erlaubt nach 3.1.3(d); IAP optional | In der Regel außerhalb von Play Billing; prüfe die Richtlinie für deine Nische | Stripe |
| Spenden an eine eingetragene gemeinnützige Organisation | Andere Methoden für genehmigte gemeinnützige Organisationen erlaubt | In vielen Fällen ausgenommen; prüfe die Richtlinie | Stripe |
Dieselbe Web-App bedient beide Kanäle; nur der Checkout-Button ändert sich.
Setze in Config.swift useragent_iphone und useragent_ipad, in Config.java USER_AGENT auf einen String mit einem eindeutigen Token, zum Beispiel den Standard-User-Agent gefolgt von WebViewGoldApp/1.0. Lass den Google Login Helper, wie er ist; er behält für den OAuth-Schritt seinen eigenen akzeptierten User-Agent.
const inApp = navigator.userAgent.includes("WebViewGoldApp"). Zeig in der App den IAP-Button und im Web den Stripe-Button. Versteck den Preis nicht; zeig den Store-Preis.
In der App navigiert der Button zu revenuecat://purchase?external_id=USER_ID&product=PRODUCT_ID (oder zu revenuecat://launchPaywall?external_id=USER_ID&offering=OFFERING für eine RevenueCat-Paywall). WebViewGold öffnet das native Kauffenster.
Stripe-Webhooks und RevenueCat-Webhooks schreiben in dieselbe subscriptions-Tabelle. Die Web-App fragt nur „Ist dieser Nutzer aktiv?“ und interessiert sich nie dafür, welcher Store bezahlt hat.
Außerhalb der regionalen Ausnahmen darf die App Nutzer nicht zum Kauf auf der Website auffordern, keine Web-Preise zeigen und nicht auf den Stripe-Checkout verlinken. Bestehende Web-Abonnenten loggen sich einfach ein und sind aktiv, was 3.1.3(b) erlaubt, solange IAP ebenfalls angeboten wird.

Mit einer gut optimierten Version Ihrer Web-App können Sie innerhalb von wenigen Minuten eine beeindruckende mobile App erstellen. Zusätzlich dazu ist der Kundenservice sehr nett und hilfsbereit! Ich kann WebViewGold nur empfehlen :-)
Eine minimale Version. Lies die Produkt-IDs in der Produktion aus deinem Backend, damit sie mit beiden Stores synchron bleiben.
const inApp = /WebViewGoldApp/.test(navigator.userAgent);
function subscribe(userId) {
if (inApp) {
// Natives Kauffenster über WebViewGold + RevenueCat (iOS und Android)
window.location.href = "revenuecat://purchase?external_id=" + encodeURIComponent(userId) + "&product=premium_monthly";
} else {
// Web: deine bestehende Stripe-Checkout-Session
window.location.href = "/api/stripe/checkout?plan=premium_monthly";
}
}
// Nachdem das native Fenster geschlossen ist: das Backend abfragen, bis der Webhook angekommen ist
async function waitForEntitlement(userId, tries = 10) {
for (let i = 0; i < tries; i++) {
const r = await fetch("/api/me/subscription").then(x => x.json());
if (r.active) return true;
await new Promise(res => setTimeout(res, 1000));
}
return false;
}cancelinapppurchase:// für Store-Abos (öffnet die Abo-Übersicht des Systems).Produkte aus App Store Connect und der Play Console werden einem einzigen Entitlement zugeordnet, sodass dein Backend nie nach Plattform verzweigen muss.
Zwei Keys in Config.swift und Config.java, dann revenuecat://-Links aus der Web-App. Kein nativer Code. In-App-Käufe erfordern die WebViewGold Extended License.
Events für Erstkauf, Verlängerung, Kündigung, Zahlungsproblem und Ablauf erreichen deine Supabase Edge Function oder Cloud Function. Der Guide zur RevenueCat-Einrichtung führt dich Schritt für Schritt hindurch.
Genau das Sagen ist das Problem: Außerhalb der regionalen Ausnahmen gilt das nach 3.1.1 als Steering. Eine reine Login-App ganz ohne Kaufmöglichkeit wird manchmal akzeptiert, aber Reviewer fragen gern, wie ein neuer Nutzer zum zahlenden Nutzer wird. IAP anzubieten ist die verlässliche Antwort.
Ja, für physische Waren und Dienstleistungen, die außerhalb der App konsumiert werden. Apple erlaubt IAP dafür überhaupt nicht.
Nein. Die Provision fällt nur bei Käufen über die Abrechnung von Apple oder Google an.
Digitale Trinkgelder und Coaching-Inhalte in der App sind IAP. Echtzeit-Sitzungen eins zu eins zwischen zwei Menschen dürfen unter iOS nach 3.1.3(d) andere Zahlungsmethoden nutzen. Beschreibe in den Review-Notizen, welcher Fall bei dir vorliegt.
Ja, die Extended License. Alles andere in diesem Guide funktioniert mit der Standardlizenz.
Gleiches Ergebnis, unterschiedlich viel Arbeit auf deiner Seite. Alle drei kommen mit Genehmigungsgarantie und 24/7 Support von echten Menschen.
$109 pro Plattform, einmalig
Die WebViewGold-Lizenz: ein fertiges Xcode- oder Android-Studio-Projekt. URL einfügen, Name und Icon setzen, Features einschalten, bauen und einreichen. Kostenlose Updates für immer.
Pakete auf der Hauptseite ansehen$349 pro Lizenz, einmaliges Add-on
Kein Mac, kein Xcode, kein Android Studio: Du konfigurierst im Browser, wir bauen beide Apps in der Cloud und übergeben sie an App Store Connect und die Play Console.
So funktioniert der Cloud Builder Kostenlose Demo ausprobieren$698 pro Plattform $798
Schick uns deine URL und dein Icon. Unser Team konfiguriert, baut und liefert deine App innerhalb von 72 Stunden, White-Label, inklusive Quellprojekten. Beide Plattformen für $1,158.
Full-Service-Details Powered byWinter-Sale-Preise gültig bis 31. Dezember 2026.
App Store & Google Play Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen
Lieber abgeben? Full Service: Wir konfigurieren, bauen und liefern innerhalb von 72 Stunden, ab $698 pro Plattform. Fragen? Chatte mit uns – 24/7.
Erstattungen erfolgen zu den in unseren FAQ genannten Bedingungen: eine nicht inhaltsbedingte Ablehnung durch Apple und/oder Google, geltend gemacht innerhalb von 14 Tagen nach dem Kauf.