Zum Inhalt springen
WebViewGold Vibe Coding in den App Store
Deutsch
WebViewGold holen

App-Store-Ablehnung

Guideline 4.5.4 (Push-Benachrichtigungen): Marketing-Einwilligung und Opt-out für Web-Wrapper-Apps

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.

  • Genehmigungsgarantie – oder Geld zurück innerhalb von 14 Tagen
  • Kein Programmieren nötig
  • Einmalzahlung, kostenlose Updates
  • 24/7 Support von echten Menschen
  • Made in Germany seit 2014 · ISO 27001

Was 4.5.4 sagt

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.

Was in der Ablehnungsnachricht meist steht

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.

Warum Vibe-Coding-Apps darüber stolpern

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.

"Aktiviere Benachrichtigungen, um fortzufahren"

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.

Erinnerungen an abgebrochene Warenkörbe

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.

Ein Topic für alle

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.

Texte, die Deals versprechen

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!

Lucas Dubois · CodeCanyon

Transaktional oder Marketing?

NachrichtArtBraucht Marketing-Opt-in
Deine Bestellung wurde versandtTransaktionalNein
Anna hat auf deinen Kommentar geantwortetAktivität, der der Nutzer folgtNein
Erinnerung, die der Nutzer gestellt hat (Training um 7:00)Vom Nutzer angefordertNein
Preisalarm, den der Nutzer für ein Produkt angelegt hatVom Nutzer angefordertNein
20 % Rabatt an diesem WochenendeWerbungJa
Dein Warenkorb wartetWerbungJa
Wir vermissen dich, komm zurück und hol dir ein Gratis-GuthabenMarketing zur ReaktivierungJa
Neue Funktion: Der Dark Mode ist daProduktneuigkeitWie Marketing behandeln

Einwilligung und Opt-out mit WebViewGold-Push einrichten

Funktioniert mit OneSignal, Firebase und Pushwoosh; die Einwilligung liegt in deiner eigenen Datenbank.

  1. Hör auf, beim ersten Start zu fragen

    Setze askforpushpermissionatfirstrun in Config.swift auf false (unter Android requirePush in Config.java auf false). Die Doku zu Push-Benachrichtigungen beschreibt beide Optionen.

  2. Zeig im richtigen Moment deinen eigenen Benachrichtigungs-Screen

    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.

  3. Löse den Systemdialog von diesem Screen aus

    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.

  4. Speichere die Einwilligung neben der Push-ID

    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).

  5. Schick Marketing nur an Nutzer mit Opt-in

    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.

  6. Ergänze das Opt-out in den Einstellungen

    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).

  7. Knüpfe lokale Werbe-Erinnerungen an die Einwilligung

    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.

Einwilligungs-Screen und Opt-out in JavaScript

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.

javascript
// 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
  }
}

Antwortvorlage für das Resolution Center

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.

Antwort im Resolution Center (ersetze die Teile in eckigen Klammern)
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]

Checkliste

  • askforpushpermissionatfirstrun ist false; der Berechtigungsdialog erscheint, nachdem der Nutzer einen Nutzen gesehen hat.
  • Die App funktioniert vollständig, wenn Benachrichtigungen abgelehnt wurden.
  • Die Marketing-Einwilligung ist eine separate, nicht vorausgewählte Option mit eigenem Text in deiner Oberfläche.
  • Die Einwilligung ist mit Textversion und Zeitstempel neben der Push-ID gespeichert.
  • Marketing-Pushs und lokale Werbe-Erinnerungen gehen nur an Nutzer mit Opt-in; firebaseTopic wird nicht für Werbung genutzt.
  • Ein Opt-out-Schalter in den Einstellungen, plus ein Link zu den iOS-Mitteilungseinstellungen.
  • Keine sensiblen Daten in Benachrichtigungstexten; die Beschreibung verspricht nichts, was du nicht tust.

Häufig gestellte Fragen

Reicht das Tippen auf Erlauben im iOS-Dialog als Einwilligung für Marketing?

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.

Zählen lokale Benachrichtigungen auch?

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.

Was ist mit Nutzern, die Benachrichtigungen schon vor dem Update erlaubt haben?

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.

Darf meine App Benachrichtigungen voraussetzen, etwa als Wecker- oder Bereitschafts-App?

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.

Gilt auch die DSGVO?

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.

Drei Wege, deine App in die Stores zu bringen

Gleiches Ergebnis, unterschiedlich viel Arbeit auf deiner Seite. Alle drei kommen mit Genehmigungsgarantie und 24/7 Support von echten Menschen.

Selbst machen

$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

Full Service

$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 by WeSetupYourWebViewApp

Winter-Sale-Preise gültig bis 31. Dezember 2026.

Bereit, deine App zu veröffentlichen?

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.