Berechtigung für Benachrichtigungen für Benachrichtigungen, die der Nutzer aktiviert hat

In Android 13 wird für Benachrichtigungen ein Opt-in-Modell verwendet. Das ist eine Änderung gegenüber früheren Android-Versionen, bei denen ein Opt-out-Modell verwendet wurde. In Android 13 müssen alle Apps Nutzer um Erlaubnis bitten, bevor sie Benachrichtigungen senden können. Dieses Modell trägt dazu bei, Unterbrechungen durch Benachrichtigungen zu reduzieren, die Informationsüberlastung zu minimieren und Nutzern die Möglichkeit zu geben, festzulegen, welche Benachrichtigungen angezeigt werden. Um das Opt-in-Modell zu unterstützen, müssen OEMs Änderungen an den Benachrichtigungs- und Laufzeitberechtigungssystemen vornehmen.

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

Änderungen für Opt-in-Benachrichtigungen implementieren

Ab Android 13 müssen Apps ihre Absicht, Benachrichtigungen zu senden, deklarieren, indem sie vom System die android.permission.POST_NOTIFICATION Laufzeitberechtigung anfordern, bevor sie Benachrichtigungen senden können.

In Android 13 und höher wird die Einstellung, die bestimmt, ob eine App Benachrichtigungen an den Nutzer senden kann, im Berechtigungssystem gespeichert. Vor Android 13 wurde diese Einstellung im Benachrichtigungssystem gespeichert. Daher müssen OEMs die vorhandenen Benachrichtigungsdaten dazu, ob eine App Benachrichtigungen senden darf, vom Benachrichtigungssystem in das Laufzeitberechtigungssystem migrieren. OEMs müssen auch die vorhandenen APIs im Benachrichtigungssystem beibehalten, die diese Daten App-Entwicklern zur Verfügung stellen.

Änderungen an den Benachrichtigungs- und Berechtigungssystemen basieren auf dem Opt-in-Modell des Nutzerverhaltens bei Benachrichtigungen und werden im Abschnitt Implementierungsrichtlinien beschrieben.

Verhalten von Nutzerbenachrichtigungen in einem Opt-in-Modell

In der folgenden Tabelle wird das Benachrichtigungsverhalten für verschiedene App-Versionen auf einem Gerät mit Android 13 veranschaulicht:

Gerät mit Android 13 Apps, die auf Android 13 oder höher ausgerichtet sind Apps, die auf niedrigere Versionen als Android 13 ausgerichtet sind
Neuinstallation Benachrichtigungen werden blockiert, bis die App dazu auffordert.

Apps steuern, wann sie um Erlaubnis bitten.

Benachrichtigungen werden blockiert, bis das Betriebssystem dazu auffordert.

Die Berechtigung wird beim ersten Ausführen der App angefordert.

Vorhandene App (Upgrade) Benachrichtigungen sind zulässig, bis die App dazu auffordert.

Eine temporäre Berechtigung wird erteilt, bis die App beim ersten qualifizierenden Ausführen um Erlaubnis bittet.

Benachrichtigungen sind zulässig, bis das Betriebssystem dazu auffordert.

Eine temporäre Berechtigung wird bis zum ersten Ausführen der App erteilt.

Implementierungsrichtlinien

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

Verwenden Sie bei der Implementierung die folgenden Richtlinien zum Nutzerverhalten bei Benachrichtigungen für Apps, die auf Android 13 oder niedrigere SDKs ausgerichtet sind:

  • Neu installierte Apps auf einem Android 13-Gerät dürfen keine Benachrichtigung senden, ohne dass der Nutzer eine Berechtigungsaufforderung genehmigt hat.
    • Wenn die App auf Android 13 und höher ausgerichtet ist, müssen Benachrichtigungen blockiert werden, bis die App dazu auffordert, da die App steuert, wann und ob sie um die Nutzerberechtigung bittet.
    • Wenn die App auf niedrigere Versionen als Android 13 ausgerichtet ist, müssen Benachrichtigungen blockiert werden, bis das Betriebssystem dazu auffordert. Das Betriebssystem muss die Berechtigungsaufforderung beim ersten Ausführen 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, darf Benachrichtigungen senden, bis der Nutzer zum ersten Mal eine Aktivität aus dieser App startet.

    • Wenn die App auf ein SDK der Versionen Android 13 und höher ausgerichtet ist und der Nutzer die Benachrichtigungseinstellungen für diese App zuvor nicht auf App- oder NotificationChannel-Ebene angepasst hat, widerrufen Sie die temporäre Berechtigung. Apps müssen dann den Nutzer um Erlaubnis bitten, bevor sie weiterhin Benachrichtigungen senden dürfen.

      Wenn eine aktualisierte App, die auf Android 13 ausgerichtet ist, derzeit keine Berechtigung zum Senden von Benachrichtigungen durch die temporäre Upgrade-Berechtigung hat und der Nutzer sie mindestens einmal gestartet hat, muss die App eine Berechtigungsaufforderung für Benachrichtigungen anzeigen, bevor sie weitere Dienste im Vordergrund ausführen darf.

    • Für Apps mit einem Ziel-SDK der Versionen unter Android 13, müssen Sie den ersten Aktivitätsstart abfangen, nachdem die App mindestens einen NotificationChannel erstellt hat, um eine Berechtigungsaufforderung anzuzeigen, in der der Nutzer gefragt wird, ob er Benachrichtigungen von der App erhalten möchte.

      Wenn ein Nutzer zuvor Benachrichtigungseinstellungen auf App- oder NotificationChannel-Ebene für eine App auf dem Gerät, das aktualisiert wird, oder in einer Sicherung, die auf dem Gerät wiederhergestellt wird, angepasst hat, muss die Einstellung auf App-Ebene mit dem Flag FLAG_PERMISSION_USER_SET in das Berechtigungssystem migriert werden. Dem Nutzer darf keine weitere Berechtigung zum Senden von Benachrichtigungen 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 aufwärtskompatibel sein. Sicherungsdaten, die von einem Android 13-Gerät generiert wurden, müssen auf einer früheren Betriebssystemversion wiederhergestellt werden können und Sicherungsdaten von einer früheren Betriebssystemversion müssen auf einem Android 13-Gerät wiederhergestellt werden können.

  • Medienbenachrichtigungen, die mit der laufenden Medienwiedergabe verknüpft sind, müssen von der Berechtigung zum Senden von Benachrichtigungen ausgenommen sein.

Änderungen an den Benachrichtigungs- und Berechtigungssystemen validieren

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