Android 13 (API-Level 33) und höher unterstützt eine Laufzeitberechtigung für das Senden von nicht ausgenommenen Benachrichtigungen (einschließlich Dienste im Vordergrund) von einer App:
POST_NOTIFICATIONS
.
Dank dieser Änderung können sich Nutzer auf die wichtigsten Benachrichtigungen konzentrieren.
.
Wir empfehlen dringend, die Ausrichtung so bald wie möglich auf Android 13 oder höher vorzunehmen um von der zusätzlichen Kontrolle und Flexibilität zu profitieren. . Wenn Sie Ihre Anzeigen weiterhin auf 12L (API-Level 32) oder niedriger ausrichten, verlieren Sie an Flexibilität, die Berechtigung im Kontext der App- Funktionalität.
Erklärung der Berechtigung
Wenn Sie die neue Berechtigung für Benachrichtigungen für Ihre App anfordern möchten, aktualisieren Sie Ihre App für Android 13 und führen Sie einen ähnlichen Vorgang wie beim Anfordern anderer Laufzeitberechtigungen aus, wie in den folgenden Abschnitten beschrieben.
Die Berechtigung, die Sie benötigen, in der Manifestdatei Ihrer App deklarieren erscheint im folgenden Code-Snippet:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
App-Funktionen hängen von der Nutzerauswahl im Berechtigungsdialogfeld ab
In diesem Dialogfeld können Nutzer folgende Aktionen verfügbar sind:
- Wähle Zulassen aus
- Wähle Nicht zulassen aus.
- Wischen Sie vom Dialogfeld weg, ohne eine der beiden Schaltflächen zu drücken.
In den folgenden Abschnitten wird das Verhalten Ihrer App basierend auf der Aktion beschrieben, was Nutzende machen.
Der Nutzer wählt „Zulassen“ aus
Wenn der Nutzer die Option Zulassen auswählt, hat Ihre App folgende Möglichkeiten:
- Benachrichtigungen senden. Alle Benachrichtigungskanäle zulässig sind.
- Posten Sie Benachrichtigungen zu Diensten im Vordergrund. Diese Benachrichtigungen werden in der Benachrichtigungsleiste angezeigt.
Der Nutzer wählt „Nicht zulassen“ aus.
Wenn der Nutzer die Option Nicht zulassen auswählt, kann Ihre App keine Benachrichtigungen erhalten, es sei denn, sie kommen für eine Ausnahme infrage. Alle Benachrichtigungskanäle blockiert, mit Ausnahme einiger spezieller Rollen. Dies ist vergleichbar mit dem Verhalten, das auftritt, wenn der Nutzer manuell alle Benachrichtigungen für deine App in den Systemeinstellungen deaktivieren.
Achtung: Wenn Ihre App auf Android 12L oder niedriger ausgerichtet ist und der Nutzer auch nur einmal auf Nicht zulassen tippt, wird er erst dann wieder dazu aufgefordert, wenn eines der folgenden Ereignisse eintritt:
- Der Nutzer deinstalliert Ihre App und installiert sie anschließend neu.
- Sie aktualisieren Ihre App auf Android 13 oder höher.
Der Nutzer wischt vom Dialogfeld weg
Wenn Nutzende vom Dialogfeld wegwischen, d. h., sie Zulassen oder Nicht zulassen: Der Status der Berechtigung zum Senden von Benachrichtigungen ist nicht möglich. ändern können.
Auswirkungen auf neu installierte Apps
Wenn ein Nutzer deine App auf einem Gerät mit Android 13 installiert oder höher, sind die Benachrichtigungen der App standardmäßig deaktiviert. Ihre App darf erst dann Benachrichtigungen senden, wenn Sie die neue Berechtigung angefordert und der Nutzer sie Ihrer App erteilt hat.
Wann das Berechtigungsdialogfeld angezeigt wird, hängt von der Ziel-SDK-Version Ihrer App ab:
- Wenn deine App auf Android 13 oder höher ausgerichtet ist, wurde sie vollständig wann das Berechtigungsdialogfeld angezeigt wird. Nutzen Sie diese Gelegenheit, um den Nutzern zu erklären, warum die App diese Berechtigung benötigt, und sie zu bitten, sie zu gewähren.
- Wenn Ihre App auf Android 12L (API-Level 32) oder niedriger ausgerichtet ist, zeigt das System das Berechtigungsdialogfeld an, wenn Ihre App zum ersten Mal eine Aktivität startet, nachdem Sie einen Benachrichtigungskanal erstellt haben, oder wenn Ihre App eine Aktivität startet und dann ihren ersten Benachrichtigungskanal erstellt. Dieses in der Regel beim Start der App.
Auswirkungen auf Updates vorhandener Apps
Um Unterbrechungen im Zusammenhang mit der Berechtigung für Benachrichtigungen zu minimieren, gewährt das System allen berechtigten Apps automatisch die Berechtigung, wenn der Nutzer sein Gerät auf Android 13 oder höher umstellt. Mit anderen Worten: Diese Apps können Benachrichtigungen an Nutzer senden und Nutzer sehen keine Aufforderung zur Laufzeitberechtigung.
Berechtigung zur Vorabgenehmigung von Berechtigungen
Damit Ihre App für eine automatische Vorabgenehmigung infrage kommt, muss sie einen Benachrichtigungskanal haben und die Benachrichtigungen dürfen nicht vom Nutzer auf einem Gerät mit Android 12L oder niedriger ausdrücklich deaktiviert worden sein.
Wenn der Nutzer Benachrichtigungen für Ihre App auf einem Gerät mit Android 12L oder niedriger deaktiviert hat, bleibt diese Ablehnung bestehen, wenn das Gerät auf Android 13 oder höher aktualisiert wird.
Ausnahmen
Dieser Abschnitt enthält die Benachrichtigungen und Apps, die vom Änderung des Verhaltens für die Berechtigung zum Senden von Benachrichtigungen. Unter Android 13 (API-Level 33) oder höher: Lehnt der Nutzer die Berechtigung zum Senden von Benachrichtigungen ab, werden ihm weiterhin Hinweise dazu angezeigt, auf Dienste im Vordergrund Task-Manager die ich aber nicht im Benachrichtigungsleiste
Mediensitzungen
Benachrichtigungen zu Mediensitzungen sind von dieser Verhaltensänderung ausgenommen.
Apps, die für die eigenständige Verwaltung von Telefonanrufen konfiguriert sind
Falls Ihre App so konfiguriert ist, dass Anrufe selbst verwaltet werden, können Sie
benötigt die Berechtigung „POST_NOTIFICATIONS
“ nicht, damit deine App
die die Funktion
Notification.CallStyle
Benachrichtigungsstil.
Das System betrachtet Ihre App selbst als zur Selbstverwaltung des Smartphones konfiguriert wenn eine der folgenden Aktionen ausgeführt wird:
- Deklariert die
MANAGE_OWN_CALLS
Berechtigung. - Implementiert die
ConnectionService
. - Registriert sich durch folgenden Aufruf beim Telekommunikationsanbieter des Geräts:
registerPhoneAccount()
App testen
Du kannst prüfen, wie sich die Berechtigung zum Senden von Benachrichtigungen auf deine App auswirkt, das zum ersten Mal auf einem Gerät mit Android 13 oder höher verwendet wurde. Die Follower Android Debug Bridge (ADB)-Befehle ermöglichen Sie die häufigsten Sequenzen von Nutzerentscheidungen und Geräte-Upgrades simulieren, ohne das Testgerät zurücksetzen zu müssen:
Die App wurde neu auf einem Gerät installiert, das Android 13 oder höher:
adb shell pm revoke PACKAGE_NAME android.permission.POST_NOTIFICATIONS
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-set
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-fixed
Der Nutzer lässt Benachrichtigungen aktiviert, wenn die App auf einem Gerät mit 12 L oder weniger, dann das Gerät Upgrades auf Android 13 oder höher:
adb shell pm grant PACKAGE_NAME android.permission.POST_NOTIFICATIONS
adb shell pm set-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-set
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-fixed
Der Nutzer deaktiviert Benachrichtigungen manuell, wenn die App auf einem Gerät mit 12 L oder weniger, dann das Gerät Upgrades auf Android 13 oder höher:
adb shell pm revoke PACKAGE_NAME android.permission.POST_NOTIFICATIONS
adb shell pm set-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-set
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-fixed
Best Practices
In diesem Abschnitt werden mehrere Möglichkeiten beschrieben, wie Sie die neue Benachrichtigung verwenden können. Berechtigung in Ihrer App am effektivsten ist.
SDK-Zielversion Ihrer App aktualisieren
Damit Ihre App flexibler ist, wann das Berechtigungsdialogfeld angezeigt wird, aktualisieren Sie Ihre App so, dass sie auf Android 13 oder höher ausgerichtet ist.
Warten, bis die Aufforderung zur Berechtigung für Benachrichtigungen angezeigt wird
Bevor Sie die Nutzer um Berechtigungen bitten, sollten sie sich damit vertraut machen. mit Ihrer App.
Neue Nutzer möchten die App vielleicht entdecken und aus erster Hand erkennen, Vorteile der einzelnen Benachrichtigungsanfragen. Sie können eine Berechtigungsaufforderung auslösen aus einer Nutzeraktion. Die folgende Liste enthält einige Beispiele dafür, sollte die Aufforderung zum Senden von Benachrichtigungen angezeigt werden:
- Der Nutzer tippt auf eine Benachrichtigungsglocke. Schaltfläche.
- Der Nutzer folgt dem Social-Media-Konto einer anderen Person.
- Der Nutzer sendet eine Bestellung zur Lieferung von Lebensmitteln.
Abbildung 1 zeigt einen empfohlenen Workflow zum Anfordern der Benachrichtigung.
Berechtigung. Es sei denn,
shouldShowRequestPermissionRationale()
true
zurückgibt, muss Ihre App nicht den mittleren Bildschirm, also den Bildschirm, der
hat den Titeltext „Benachrichtigung erhalten!“.
Alternativ können Sie festlegen, dass eine Anfrage angezeigt wird, nachdem Sie Nutzern die Möglichkeit gegeben haben, sich mit Ihrer App vertraut zu machen. Sie können beispielsweise warten, bis der beim dritten oder vierten Mal Ihre App gestartet wird.
Berechtigung im Kontext anfordern
Wenn Sie Berechtigungen für Benachrichtigungen in Ihrer App anfordern, tun Sie dies im richtigen Kontext, damit klar ist, wozu die Benachrichtigungen verwendet werden und warum der Nutzer sie aktivieren sollte. Eine E-Mail-App könnte beispielsweise Optionen enthalten, Benachrichtigungen für jede neue E-Mail senden oder nur für die E-Mails, bei denen der Nutzer nur Empfänger.
Nutzen Sie diese Gelegenheit, um Ihre Absichten transparent zu machen. wird Ihrer App wahrscheinlich die Berechtigung zum Senden von Benachrichtigungen erteilt.
Prüfen, ob deine App Benachrichtigungen senden kann
Bevor Ihre App eine Benachrichtigung sendet, prüfen Sie, ob der Nutzer die Funktion aktiviert hat
Benachrichtigungen für Ihre App. Rufen Sie dazu unter
areNotificationsEnabled()
Du musst die Berechtigung verantwortungsvoll verwenden
Nachdem Sie die Genehmigung zum Senden von Benachrichtigungen erhalten haben, denken Sie daran, die Berechtigung zu verwenden verantwortungsvoll. Nutzer können die Anzahl der täglichen Benachrichtigungen sehen, die deine App sendet und können sie die Berechtigung widerrufen jederzeit ändern.