From c5d95d455247ab07d82a7e17f06287d790fb885f Mon Sep 17 00:00:00 2001 From: Alya Abbott Date: Thu, 18 Jul 2024 09:36:05 -0700 Subject: [PATCH] docs: Improve mobile push notifications documentation. --- docs/production/mobile-push-notifications.md | 60 ++++++++++---------- zproject/prod_settings_template.py | 10 ++-- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/production/mobile-push-notifications.md b/docs/production/mobile-push-notifications.md index 902f1ac634..ffceaa0295 100644 --- a/docs/production/mobile-push-notifications.md +++ b/docs/production/mobile-push-notifications.md @@ -5,44 +5,44 @@ receiving push notifications from Zulip servers to notify users when new messages have arrived. This is an important feature for having a great mobile app experience. -The security model for mobile push notifications does not allow -self-hosted Zulip servers to directly send mobile notifications to the -Zulip mobile apps. The Zulip mobile push notification service solves -this problem by forwarding mobile push notifications generated by your -server to the Zulip mobile apps. +Google's and Apple's security model for mobile push notifications does not allow +self-hosted Zulip servers to directly send mobile notifications to the Zulip +mobile apps. The Zulip Mobile Push Notification Service solves this problem by +forwarding mobile push notifications generated by your server to the Zulip +mobile apps. ## Signing up +:::{important} + +These instructions are for Zulip Server 9.0+. If you are running an older +version of Zulip ([check](https://zulip.com/help/view-zulip-version) if you are +unsure), see the [Zulip 8.x +documentation](https://zulip.readthedocs.io/en/8.4/production/mobile-push-notifications.html). + +::: + You can enable the mobile push notification service for your Zulip server as follows: -1. Check that your [server - version](https://zulip.com/help/view-zulip-version) is has Zulip - Server 9.0 or greater. For older versions, see the [Zulip 8.x - documentation](https://zulip.readthedocs.io/en/8.4/production/mobile-push-notifications.html). - 1. Make sure your server has outgoing HTTPS access to the public Internet. If that is restricted by a proxy, you will need to [configure Zulip to use your outgoing HTTP proxy](deployment.md#customizing-the-outgoing-http-proxy) first. 1. Set `ZULIP_SERVICE_PUSH_NOTIFICATIONS = True` in your - `/etc/zulip/settings.py` file. The [comments in - settings.py][update-settings-docs] should contain this line, - commented out with a `# `. Delete the `# ` at the start of the line - to enable the setting. + `/etc/zulip/settings.py` file. Simply uncomment the appropriate line [in + settings.py][update-settings-docs] by deleting the initial `# `. 1. Decide whether to share usage statistics with the Zulip team. - By default, Zulip installations using the Mobile Push Notification - Service submit additional usage statistics that help Zulip's - maintainers allocate resources towards supporting self-hosted - installations ([details](#uploading-usage-statistics)). - - You can disable submitting usage statistics now or at any time by - setting `ZULIP_SERVICE_SUBMIT_USAGE_STATISTICS=False` in - `/etc/zulip/settings.py` (the template contains a convenient - commented line that you can uncomment). + By default, Zulip installations using the Mobile Push Notification Service + submit additional usage statistics that help Zulip's maintainers allocate + resources towards supporting self-hosted installations + ([details](#uploading-usage-statistics)). You can disable submitting usage + statistics now or at any time by setting + `ZULIP_SERVICE_SUBMIT_USAGE_STATISTICS=False` in `/etc/zulip/settings.py` + (uncomment the appropriate line). Note that all systems using the service upload [basic metadata](#uploading-basic-metadata) about the organizations hosted @@ -66,8 +66,8 @@ follows: docker exec -it -u zulip /home/zulip/deployments/current/manage.py register_server ``` - This command will print the registration data it would send to the mobile - push notifications service, ask you to accept the terms of service, and if + This command will print the registration data it would send to the Mobile + Push Notification Service, ask you to accept the terms of service, and if you accept, register your server. If you have trouble, [contact Zulip support](https://zulip.com/help/contact-support) with the output of this command. @@ -223,7 +223,7 @@ support](https://zulip.com/help/contact-support). ### Uploading basic metadata All Zulip installations running Zulip 8.0 or greater that are -registered for the Mobile Push Notifications Service regularly upload +registered for the Mobile Push Notification Service regularly upload to the service basic metadata about the organizations hosted by the installation. (Older Zulip servers upload these metadata only if [uploading usage statistics](#uploading-usage-statistics) is enabled). @@ -257,12 +257,12 @@ installation: Our use of uploaded metadata is governed by the same [Terms of Service](https://zulip.com/policies/terms) and [Privacy Policy](https://zulip.com/policies/privacy) that covers the Mobile -Push Notifications Service itself. +Push Notification Service itself. ### Uploading usage statistics By default, Zulip installations that register for the Mobile Push -Notifications Service upload the following usage statistics. You can +Notification Service upload the following usage statistics. You can disable these uploads any time by setting `ZULIP_SERVICE_SUBMIT_USAGE_STATISTICS=False` in `/etc/zulip/settings.py`. @@ -287,11 +287,11 @@ on a pre-8.0 Zulip server, you can run the analytics job manually via: Our use of uploaded usage statistics is governed by the same [Terms of Service](https://zulip.com/policies/terms) and [Privacy Policy](https://zulip.com/policies/privacy) that covers the Mobile -Push Notifications Service itself. +Push Notification Service itself. ## Rate limits -The Mobile Push Notifications Service API has a very high default rate +The Mobile Push Notification Service API has a very high default rate limit of 1000 requests per minute. A Zulip server makes requests to this API every time it sends a push notification, which is fairly frequent, but we believe it to be unlikely that a self-hosted diff --git a/zproject/prod_settings_template.py b/zproject/prod_settings_template.py index ff08e1cf1d..53bd333b87 100644 --- a/zproject/prod_settings_template.py +++ b/zproject/prod_settings_template.py @@ -734,8 +734,8 @@ SOCIAL_AUTH_SAML_SUPPORT_CONTACT = { ## How long outgoing webhook requests time out after # OUTGOING_WEBHOOK_TIMEOUT_SECONDS = 10 -## Mobile push notifications require registering for the Zulip mobile -## push notification service and configuring your server to use the +## Mobile push notifications require registering for the Zulip Mobile +## Push Notification Service and configuring your server to use the ## service here. For complete documentation, see: ## ## https://zulip.readthedocs.io/en/stable/production/mobile-push-notifications.html @@ -743,9 +743,9 @@ SOCIAL_AUTH_SAML_SUPPORT_CONTACT = { # ZULIP_SERVICE_PUSH_NOTIFICATIONS = True ## By default, a Zulip server that has registered for Zulip services -## submits both basic metadata (required for billing/free plan -## eligiblity) as well as aggregate usage statistics. You can disable -## submitting usage statistics here. +## submits both basic metadata (required for billing and for determining +## free plan eligibility), as well as aggregate usage statistics. You +## can disable submitting usage statistics here. # ZULIP_SERVICE_SUBMIT_USAGE_STATISTICS = False ## Whether to redact the content of push notifications. This is less