Android 13 (API-Level 33) und höher unterstützt
Laufzeitberechtigung zum Senden
nicht ausgenommene Benachrichtigungen (einschließlich FGS)
über eine 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 du die neue Berechtigung zum Senden von Benachrichtigungen von deiner App anfordern möchtest, aktualisiere deine App auf auf Android 13 ausgerichtet sind und einen ähnlichen Prozess ausführen wie Anfordern anderer Laufzeitberechtigungen, wie die in den folgenden Abschnitten beschrieben werden.
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.
- Benachrichtigungen zum Vordergrund posten Dienste. Diese werden Benachrichtigungen im Benachrichtigungsleiste
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 12 L oder weniger ausgerichtet ist und der Nutzer nur einmal auf Nicht zulassen tippt, wird er nicht dazu aufgefordert, erneut, bis 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. Deine App muss warten bis Benachrichtigungen senden, bis Sie die neue Berechtigung angefordert haben und dass Ihre App diese Berechtigung erhält.
Die Zeit, zu der das Berechtigungsdialogfeld angezeigt wird, hängt vom Ziel Ihrer App ab SDK-Version:
- Wenn deine App auf Android 13 oder höher ausgerichtet ist, wurde sie vollständig wann das Berechtigungsdialogfeld angezeigt wird. Erklären Sie bei dieser Gelegenheit, warum die App diese Berechtigung benötigt, um sie zu bitten.
- Wenn Ihre App auf 12L (API-Level 32) oder niedriger ausgerichtet ist, zeigt das System wenn Ihre App zum ersten Mal eine Aktivität startet, nachdem Sie einen Benachrichtigungskanal erstellen oder wenn Ihre wird eine Aktivität gestartet und anschließend der erste Benachrichtigungskanal erstellt. Dieses in der Regel beim Start der App.
Auswirkungen auf Updates bestehender Apps
Um Störungen im Zusammenhang mit der Berechtigung zum Senden von Benachrichtigungen zu minimieren, gewährt das System die Berechtigung automatisch allen geeignete Apps, wenn der Nutzer ein Upgrade auf seinem Gerät auf Android 13 oder höher. 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 berechtigt wird, muss sie eine vorhandenen Benachrichtigungskanal vorhanden sind und deren Benachrichtigungen nicht explizit deaktiviert sind. auf einem Gerät mit 12 L oder weniger.
Der Nutzer hat Benachrichtigungen für Ihre App auf einem Gerät deaktiviert, das ausgeführt wird 12 L oder niedriger ist, bleibt die Ablehnung bestehen, wenn das Gerät Upgrades auf Android 13 oder höher ausführen.
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 zur Selbstverwaltung 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 für die Berechtigung zum Senden von 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.
<ph type="x-smartling-placeholder">Berechtigung im Kontext anfordern
Wenn du in deiner App Berechtigungen zum Senden von Benachrichtigungen anforderst, tu das im richtigen Kontext, sodass klar ist, wofür die Benachrichtigungen verwendet werden warum der Nutzer zustimmen 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.