Die Berechtigungsabfrage beim ersten Start
Mit askforpushpermissionatfirstrun auf true fragt iOS, bevor Nutzer überhaupt etwas gesehen haben. Wer auf Erlauben tippt, hat Benachrichtigungen zugestimmt, nicht Marketing.
App-Store-Ablehnung
Apple erlaubt Marketing-Push nur, nachdem Nutzer über einen Einwilligungstext in deiner App ausdrücklich zugestimmt haben, und nur, wenn sie sich in der App wieder abmelden können. Der Berechtigungsdialog von iOS ist nicht diese Einwilligung. So trennst du transaktionale und Marketing-Pushs, holst die Einwilligung in deiner Web-App ein und verbindest sie mit dem Push-Setup von WebViewGold.
Ab $109 einmalig pro Plattform, oder unser Team erledigt alles ab $698.
Guideline 4.5.4 stellt vier Regeln für Push-Benachrichtigungen auf. Die App muss ohne sie funktionieren. Sie sollen keine sensiblen persönlichen oder vertraulichen Informationen enthalten. Sie sollen nicht für Werbung oder Direktmarketing genutzt werden, es sei denn, der Nutzer hat über einen Einwilligungstext in der Oberfläche deiner App ausdrücklich zugestimmt. Und die App muss eine Möglichkeit bieten, sich von diesen Nachrichten abzumelden. Apple ergänzt, dass Missbrauch dich deine Push-Berechtigung kosten kann.
Beachte, was nicht verlangt wird: Nachrichten, die der Nutzer erwartet, etwa "Deine Bestellung wurde versandt" oder "Du hast eine neue Antwort", brauchen über die Systemberechtigung hinaus keine zusätzliche Einwilligung. Beim Opt-in geht es speziell um Werbung und Marketing. Die Übersicht zu Push-Benachrichtigungen behandelt die allgemeine Einrichtung.
Reviewer schreiben meist, dass die App Push-Benachrichtigungen ohne ausdrückliche Einwilligung für Werbezwecke nutzt oder offenbar nutzen will, oder dass es in der App keine Möglichkeit zur Abmeldung gibt. Sie finden das in der Beschreibung ("exklusive Deals per Push"), in einem Onboarding-Screen, der Angebote verspricht, oder in einer Testbenachrichtigung. Eine zweite Variante besagt, dass die App Nutzer zwingt, Benachrichtigungen zu erlauben, bevor sie weitermachen können, was dem ersten Satz von 4.5.4 widerspricht.
Mit askforpushpermissionatfirstrun auf true fragt iOS, bevor Nutzer überhaupt etwas gesehen haben. Wer auf Erlauben tippt, hat Benachrichtigungen zugestimmt, nicht Marketing.
KI-generiertes Onboarding blockiert oft den nächsten Schritt, bis die Berechtigung erteilt ist. Damit wird Push zur Pflicht, und das erlaubt 4.5.4 nicht.
Das Beispiel für lokale Pushs in der WebViewGold-Doku ist eine Warenkorb-Erinnerung über sendlocalpushmsg://. Nützlich, aber werblich: Schick sie nur an Nutzer, die Marketing zugestimmt haben.
firebaseTopic in Config.swift abonniert für die App ein einziges Firebase-Topic, also ist jede Installation mit Firebase-Push darin. Für Servicehinweise in Ordnung; nutzt du es für Werbung, bekommen Menschen Marketing, die nie zugestimmt haben.
Von einer KI geschriebene Beschreibungen und Onboarding-Screens lieben "Verpasse nie wieder ein Sonderangebot". Reviewer lesen das als Marketingplan ohne Einwilligung.

Großartige Arbeit! Ich habe noch nie etwas programmiert, aber ich konnte damit arbeiten. Einfach und schnell! Auch mit großartiger Hilfe von den Erstellern!
| Nachricht | Art | Braucht Marketing-Opt-in |
|---|---|---|
| Deine Bestellung wurde versandt | Transaktional | Nein |
| Anna hat auf deinen Kommentar geantwortet | Aktivität, der der Nutzer folgt | Nein |
| Erinnerung, die der Nutzer gestellt hat (Training um 7:00) | Vom Nutzer angefordert | Nein |
| Preisalarm, den der Nutzer für ein Produkt angelegt hat | Vom Nutzer angefordert | Nein |
| 20 % Rabatt an diesem Wochenende | Werbung | Ja |
| Dein Warenkorb wartet | Werbung | Ja |
| Wir vermissen dich, komm zurück und hol dir ein Gratis-Guthaben | Marketing zur Reaktivierung | Ja |
| Neue Funktion: Der Dark Mode ist da | Produktneuigkeit | Wie Marketing behandeln |
Funktioniert mit OneSignal, Firebase und Pushwoosh; die Einwilligung liegt in deiner eigenen Datenbank.
Setze askforpushpermissionatfirstrun in Config.swift auf false (unter Android requirePush in Config.java auf false). Die Doku zu Push-Benachrichtigungen beschreibt beide Optionen.
Erkläre nach der Registrierung oder der ersten sinnvollen Aktion, was du senden wirst. Biete zwei getrennte Optionen an: "Bestell- und Account-Updates" und "Angebote und News". Die Marketing-Option ist standardmäßig aus und hat ihren eigenen Einwilligungssatz.
Wenn der Nutzer eine der beiden Optionen einschaltet, navigiere zu registerpush://, und iOS zeigt genau dann seinen Berechtigungsdialog, im passenden Kontext. Unter Android muss dafür in Config.java mindestens ein Push-Dienst aktiviert sein.
Lies die Subscription-ID aus: getonesignalplayerid:// füllt onesignalplayerid, getfirebaseplayerid:// füllt firebaseplayerid, getpushwooshid:// füllt pushwooshplayerid. Für OneSignal und Firebase injiziert autoInjectVariable auf true die ID automatisch. Speichere sie mit den Entscheidungen des Nutzers, der Version des Einwilligungstexts und einem Zeitstempel, und erwähne Push-Tokens in deiner Datenschutzerklärung (Guide zu Datenschutzerklärung und Labels).
Dein Backend wählt die Empfänger aus der Datenbank aus: Die API von OneSignal kann bestimmte Subscription-IDs ansprechen, und Firebase kann an einzelne Tokens senden oder an ein Topic, in das dein Server die Tokens mit Opt-in einträgt. Nutze nie das gemeinsame firebaseTopic für Werbung. Der Vergleich der Push-Anbieter erklärt die Targeting-Optionen jedes Dienstes.
Ein Schalter "Angebote und News" auf deiner Einstellungsseite, der die Datenbank sofort aktualisiert. Zeige den Systemstatus mit checkNativePushPermissions://, das nativePushEnabled setzt, und verlinke auf settingsapp:// für Nutzer, die alle Benachrichtigungen abschalten wollen (Doku zu Open App Settings).
Plane Warenkorb- oder Win-back-Erinnerungen mit sendlocalpushmsg:// nur, wenn die Marketing-Einwilligung true ist. Meldet sich ein Nutzer ab, rufe sendlocalpushmsg://push.send.cancel auf; das storniert alle geplanten lokalen Benachrichtigungen, plane die vom Nutzer gewünschten Erinnerungen danach also neu ein.
Eine minimale Version für jeden Web-Stack; die Endpunkt-Namen sind Platzhalter für dein eigenes Backend. Mit Lovable gebaut? Der Guide zu Push-Benachrichtigungen mit Lovable behandelt die Einrichtung des Anbieters drumherum.
// Benachrichtigungs-Screen nach der Registrierung (Config.swift: askforpushpermissionatfirstrun = false)
var CONSENT_TEXT_V2 = "Schick mir Angebote und News per Push-Benachrichtigung. Ich kann das jederzeit in den Einstellungen abschalten.";
async function saveNotificationChoices(updates, offers) {
await fetch("/api/me/notification-prefs", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
transactional: updates,
marketing: offers, // false, außer der Nutzer hat es eingeschaltet
marketing_consent_text: offers ? CONSENT_TEXT_V2 : null,
marketing_consent_at: offers ? new Date().toISOString() : null
})
});
if (updates || offers) {
window.location.href = "registerpush://"; // iOS-Berechtigungsdialog, im Kontext
}
}
// Bei späteren Seitenaufrufen: Push-ID speichern, sobald sie existiert (autoInjectVariable = true)
if (typeof onesignalplayerid !== "undefined" && onesignalplayerid) {
fetch("/api/me/push-id", { method: "POST", headers: { "Content-Type": "application/json" },
body: JSON.stringify({ provider: "onesignal", id: onesignalplayerid }) });
}
// Einstellungsseite: Opt-out-Schalter
async function setOffers(enabled) {
await fetch("/api/me/notification-prefs", { method: "PATCH", headers: { "Content-Type": "application/json" },
body: JSON.stringify({ marketing: enabled }) });
if (!enabled) {
window.location.href = "sendlocalpushmsg://push.send.cancel"; // löscht ALLE geplanten lokalen Erinnerungen
}
}Beschreibe den Einwilligungsablauf Schritt für Schritt und sag dem Reviewer genau, wo das Opt-out ist. Die Vorlage bleibt auf Englisch, weil App Review Englisch liest.
Hello App Review team, Thank you for reviewing [App name] [version] ([build]). We changed how the app handles push notifications to comply with Guideline 4.5.4: 1. The app no longer asks for notification permission at launch, and every feature works when notifications are declined. 2. After sign-up, a notification screen offers two separate choices: "Order and account updates" and "Offers and news". The marketing option is off by default and shows this consent text: "[consent sentence]". 3. Only users who switch on "Offers and news" receive promotional notifications. Promotional local reminders are also sent only with this consent. 4. Users can opt out at any time in [Settings > Notifications > Offers and news]. The same screen links to the iOS notification settings. To verify: log in with the demo account from App Review Information and open [Settings > Notifications]. [New build: [number].] Best regards, [Name], [email]
askforpushpermissionatfirstrun ist false; der Berechtigungsdialog erscheint, nachdem der Nutzer einen Nutzen gesehen hat.firebaseTopic wird nicht für Werbung genutzt.Nein. Der Systemdialog fragt nur, ob überhaupt Benachrichtigungen angezeigt werden dürfen. Apple will die Marketing-Einwilligung in deiner eigenen Oberfläche, mit einer Formulierung, die sagt, dass Werbenachrichten gesendet werden, plus ein Opt-out in der App.
Guideline 4.5.4 spricht von Push-Benachrichtigungen, aber eine werbliche lokale Benachrichtigung sieht für Nutzer und Reviewer genauso aus. Behandle Warenkorb- und Win-back-Erinnerungen wie Marketing-Push und schick sie nur mit Einwilligung.
Schick ihnen nur transaktionale Nachrichten, bis sie zustimmen. Zeig den neuen Benachrichtigungs-Screen nach dem Update einmal an oder ergänze in den Einstellungen einen kurzen Hinweis, der die neue Option "Angebote und News" erklärt.
Die App muss trotzdem ohne sie funktionieren. Erkläre klar, was dem Nutzer entgeht, biete einen Link zu den Einstellungen an und lass ihn weitermachen.
In der EU brauchen Marketingnachrichten in der Regel auch nach Datenschutz- und E-Marketing-Regeln eine Einwilligung. Derselbe Opt-in-Screen, gespeichert mit Zeitstempel und Einwilligungstext, hilft bei beidem. Wenn Marketing zentral für dein Geschäft ist, frag zu deinem konkreten Fall einen Anwalt.
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.