Benachrichtigungsberechtigung für Opt-In-Benachrichtigungen

Benachrichtigungen in Android 13 verwenden ein Opt-in-Modell, was eine Änderung gegenüber früheren Android-Versionen darstellt, die ein Opt-out-Modell verwenden. In Android 13 müssen alle Apps Benutzer um Erlaubnis bitten, bevor sie Benachrichtigungsaufforderungen senden. Dieses Modell trägt dazu bei, Benachrichtigungsunterbrechungen zu reduzieren, die Informationsüberflutung zu minimieren und hilft Benutzern dabei, zu steuern, welche Benachrichtigungen basierend auf den für sie wichtigen Informationen angezeigt werden. Um das Opt-in-Modell zu unterstützen, müssen OEMs Änderungen in den Benachrichtigungs- und Laufzeitberechtigungssystemen implementieren.

Auf dieser Seite wird beschrieben, was OEMs implementieren müssen, um diese Änderung zu unterstützen, und wie die Implementierung validiert wird.

Implementieren Sie Änderungen für Opt-in-Benachrichtigungen

Ab Android 13 müssen Apps ihre Absicht zum Senden von Benachrichtigungen erklären, indem sie die Laufzeitberechtigung android.permission.POST_NOTIFICATION vom System anfordern, bevor sie Benachrichtigungen senden können.

In Android 13 und höher wird die Einstellung, die bestimmt, ob eine App Benachrichtigungen an den Benutzer senden kann, im Berechtigungssystem gespeichert. Vor Android 13 wurde diese Einstellung im Benachrichtigungssystem gespeichert. Daher müssen OEMs die vorhandenen Benachrichtigungsdaten darüber, ob eine App Benachrichtigungen senden darf, vom Benachrichtigungssystem in das Laufzeitberechtigungssystem migrieren. OEMs müssen außerdem bestehende APIs im Benachrichtigungssystem pflegen, die diese Daten an App-Entwickler weitergeben.

Änderungen an den Benachrichtigungs- und Berechtigungssystemen basieren auf dem Opt-in-Modell des Benutzerbenachrichtigungsverhaltens und werden im Abschnitt Richtlinien zur Implementierung beschrieben.

Verhalten von Benutzerbenachrichtigungen in einem Opt-in-Modell

Die folgende Tabelle veranschaulicht das Benachrichtigungsverhalten für verschiedene App-Versionen auf einem Gerät mit Android 13:

Gerät auf Android 13 Apps für Android 13 oder höher Apps, die auf Versionen vor Android 13 abzielen
Neuinstallation Benachrichtigungen werden blockiert, bis Sie von der App dazu aufgefordert werden.

Apps steuern, wann um Erlaubnis gebeten wird.

Benachrichtigungen werden blockiert, bis Sie vom Betriebssystem dazu aufgefordert werden.

Beim ersten Start der App wird um Erlaubnis gebeten.

Vorhandene App (Upgrade) Benachrichtigungen sind zulässig, bis sie von der App dazu aufgefordert werden.

Die vorübergehende Erlaubnis wird erteilt, bis die App beim ersten Qualifikationslauf danach fragt.

Benachrichtigungen sind zulässig, bis sie vom Betriebssystem dazu aufgefordert werden.

Die vorübergehende Berechtigung wird bis zur ersten Ausführung der App gewährt.

Richtlinien zur Umsetzung

Informationen zur Referenzimplementierung finden Sie unter Benachrichtigungsdienst , Berechtigungsdienst und Richtliniendienst . Informationen zum Implementieren von Ausnahmen für Standardberechtigungshandler finden Sie unter Laufzeitberechtigungen .

Befolgen Sie während der Implementierung die folgenden Richtlinien zum Benutzerbenachrichtigungsverhalten für Apps, die auf Android 13 oder niedrigere SDKs ausgerichtet sind:

  • Frisch installierte Apps auf einem Android 13-Gerät dürfen keine Benachrichtigung senden, ohne dass der Benutzer eine Erlaubnisabfrage genehmigt.
    • Wenn die App auf die Versionen Android 13 und höher abzielt, müssen Benachrichtigungen blockiert werden, bis sie von der App dazu aufgefordert werden, da die App steuert, wann und ob sie um Benutzererlaubnis bittet.
    • Wenn die App auf Versionen vor Android 13 abzielt, müssen Benachrichtigungen blockiert werden, bis Sie vom Betriebssystem dazu aufgefordert werden. Das Betriebssystem muss die Berechtigungsaufforderung beim ersten Start der App anzeigen.
  • Jede App, die vor einem Upgrade auf Android 13 auf dem Gerät vorhanden war, oder jede App, die durch Sicherung und Wiederherstellung wiederhergestellt wurde, muss zum Senden von Benachrichtigungen berechtigt sein, bis der Benutzer zum ersten Mal eine Aktivität von dieser App aus startet.

    • Wenn der Benutzer für Apps, die auf das SDK der Versionen Android 13 und höher abzielen, die Benachrichtigungseinstellungen für diese App zuvor nicht auf App- oder NotificationChannel Ebene angepasst hat, widerrufen Sie die vorübergehende Berechtigungserteilung. Apps müssen dann den Benutzer um Erlaubnis bitten, bevor sie weiterhin Benachrichtigungen senden dürfen.

      Wenn eine aktualisierte App für Android 13 derzeit nicht über die Benachrichtigungsberechtigung durch die temporäre Upgrade-Gewährung verfügt und der Benutzer sie mindestens einmal gestartet hat, muss die App eine Benachrichtigungsberechtigungsaufforderung anzeigen, bevor sie weitere Vordergrunddienste ausführen darf.

    • Bei Apps, die über ein Ziel-SDK mit Versionen vor Android 13 verfügen, fangen Sie den ersten Aktivitätsstart ab, nachdem die App mindestens einen NotificationChannel erstellt hat, um eine Berechtigungsaufforderung anzuzeigen, in der Sie gefragt werden, ob der Benutzer Benachrichtigungen von der App erhalten möchte.

      Wenn ein Benutzer zuvor Benachrichtigungseinstellungen auf App- oder NotificationChannel Ebene für eine App auf dem aktualisierenden Gerät oder in einer Sicherung angepasst hat, die auf dem Gerät wiederhergestellt wird, muss die Einstellung auf App-Ebene mit dem Flag FLAG_PERMISSION_USER_SET in das Berechtigungssystem migriert werden. Dem Benutzer darf keine weitere Aufforderung zur Benachrichtigungsberechtigung angezeigt werden, es sei denn, die App fordert dies ausdrücklich an.

  • Sicherung und Wiederherstellung müssen zwischen einem Android 13-Gerät und einem Gerät mit einer früheren Betriebssystemversion abwärts- und vorwärtskompatibel sein. Von einem Android 13-Gerät generierte Sicherungsdaten müssen auf einer früheren Betriebssystemversion wiederhergestellt werden, und Sicherungsdaten von einer früheren Betriebssystemversion müssen auf einem Android 13-Gerät wiederhergestellt werden.

  • Medienbenachrichtigungen im Zusammenhang mit der laufenden Medienwiedergabe müssen von der Benachrichtigungserlaubnis ausgenommen sein.

Validieren Sie Änderungen an den Benachrichtigungs- und Berechtigungssystemen

Führen Sie die folgenden Tests aus, um die Implementierung zu validieren: