for mobile app push notifications set FCM android priority to high (#1612)
# What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated (N/A) - [ ] Documentation added (or `pr:no public docs` PR label added if not required) (N/A) - [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required)
This commit is contained in:
parent
9b70b79c78
commit
ceed76aada
2 changed files with 22 additions and 1 deletions
|
|
@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- When the `DANGEROUS_WEBHOOKS_ENABLED` environment variable is set to true, it's possible now to create Outgoing Webhooks
|
||||
using URLs without a top-level domain ([1266](https://github.com/grafana/oncall/pull/1266))
|
||||
- Updated wording when creating an integration ([1572](https://github.com/grafana/oncall/pull/1572))
|
||||
- Set FCM iOS/Android "message priority" to "high priority" for mobile app push notifications ([1612](https://github.com/grafana/oncall/pull/1612))
|
||||
|
||||
## v1.2.1 (2023-03-23)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ from celery.utils.log import get_task_logger
|
|||
from django.conf import settings
|
||||
from fcm_django.models import FCMDevice
|
||||
from firebase_admin.exceptions import FirebaseError
|
||||
from firebase_admin.messaging import APNSConfig, APNSPayload, Aps, ApsAlert, CriticalSound, Message
|
||||
from firebase_admin.messaging import AndroidConfig, APNSConfig, APNSPayload, Aps, ApsAlert, CriticalSound, Message
|
||||
from requests import HTTPError
|
||||
from rest_framework import status
|
||||
|
||||
|
|
@ -185,6 +185,21 @@ def _get_fcm_message(alert_group, user, registration_id, critical):
|
|||
mobile_app_user_settings.important_notification_override_dnd
|
||||
),
|
||||
},
|
||||
android=AndroidConfig(
|
||||
# from the docs
|
||||
# https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message
|
||||
#
|
||||
# Normal priority.
|
||||
# Normal priority messages are delivered immediately when the app is in the foreground.
|
||||
# For backgrounded apps, delivery may be delayed. For less time-sensitive messages, such as notifications
|
||||
# of new email, keeping your UI in sync, or syncing app data in the background, choose normal delivery
|
||||
# priority.
|
||||
#
|
||||
# High priority.
|
||||
# FCM attempts to deliver high priority messages immediately even if the device is in Doze mode.
|
||||
# High priority messages are for time-sensitive, user visible content.
|
||||
priority="high",
|
||||
),
|
||||
apns=APNSConfig(
|
||||
payload=APNSPayload(
|
||||
aps=Aps(
|
||||
|
|
@ -201,6 +216,11 @@ def _get_fcm_message(alert_group, user, registration_id, critical):
|
|||
"interruption-level": "critical" if critical else "time-sensitive",
|
||||
},
|
||||
),
|
||||
headers={
|
||||
# From the docs
|
||||
# https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message
|
||||
"apns-priority": "10",
|
||||
},
|
||||
),
|
||||
),
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue